- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Цвет сверхдержавы - красный 4 Восхождение. часть 2 - Симонов Сергей
Шрифт:
Интервал:
Закладка:
В МИАН работы по прикладной математике были сосредоточены под руководством академика Келдыша в Отделении прикладной математики (ОПМ), выросшим впоследствии в отдельный Институт прикладной математики. В составе Отделения в 1953 г. был организован первый в СССР отдел программирования, который в течение первого года возглавлял Алексей Андреевич Ляпунов, а с 1954 г. — доктор технических наук Михаил Романович Шура-Бура.
В 1952 году в Московском государственном университете была реорганизована кафедра вычислительной математики, она начала готовить специалистов для работы с ЭВМ. Заведующим кафедрой стал академик Соболев. Выпуски этой кафедры в 1953 и 1954 годах создали первое поколение профессиональных программистов в СССР. Одним из этих программистов выпуска 1954 года был Андрей Петрович Ершов. Еще будучи студентом, в 1953г., он поступил на работу в Институт точной механики и вычислительной техники (ИТМиВТ), где в то время складывался один из первых советских коллективов программистов. Он успел поработать на БЭСМ (А.П. Ершов за пультом БЭСМ http://cshistory.nsu.ru/?el=1262&mmedia=IMAGE), а с 1954 по 1957 г учился в аспирантуре у профессора Ляпунова. К 1958 г он подготовил кандидатскую диссертацию. В 1957 г. он был назначен заведующим отделом автоматизации программирования во вновь созданном Вычислительном центре АН СССР.
Программы для первых ЭВМ составлялись, по большей части, в машинных кодах — в том виде, который понимала сама машина. Это было связано и с доступными на тот момент вычислительными ресурсами — машины имели мизерный объём оперативной памяти и очень малое быстродействие. Тогда господствовала точка зрения, что время компьютера много дороже времени программиста: если программа может выполняться быстрее, то трудоемкость ее составления несущественна. Писать большую программу в машинных кодах было очень сложно, но ещё сложнее было через некоторый промежуток времени понять, что же в программе написано и как она, чёрт её подери, работает.
Высокоуровневых языков программирования, можно сказать, не было. Точнее, не было их реализаций, пригодных к использованию на существующих ЭВМ. Первый язык программирования высокого уровня разработал в 1943-45 годах немецкий учёный Конрад Цузе. Язык назывался Планкалкюль и предназначался для разрабатываемого Цузе компьютера Z4. Однако в то время он так и остался на бумаге — (Первый компилятор для Планкалкюль был разработан лишь в 2000 г, через 5 лет после смерти Цузе)
Работа программиста первых ЭВМ заключалась в переводе алгоритма программы в понятные ЭВМ машинные коды. Трансляторов и компиляторов на тот момент не существовало, и программист был вынужден по таблице кодов вручную расписывать, в какую ячейку памяти записать одно число, в какую другое, какую машинную команду вызвать для их обработки, куда положить результат. Затем ему приходилось вбивать коды на перфоленту или перфокарту, при помощи устройства, напоминающего пишущую машинку. Эта работа занимала много времени и была чревата трудно вылавливаемыми ошибками. Естественным решением было переложить её на ЭВМ. (Пример подобной программы 1959 г в системе команд реальной ЭВМ «Урал-1» http://www.computer-museum.ru/histussr/smm078.htm Таблица 2)
Поэтому большим прорывом стала разработка трансляторов и компиляторов, получивших в СССР название «программирующих программ». Первым в мире транслятором языка высокого уровня является «программирующая программа ПП-1, успешно испытанная в 1954 г. Его разработали два молодых на тот момент программиста — Сергей Сергеевич Камынин и Эдуард Зиновьевич Любимский. Они исследовали реализуемость операторных схем и возможность автоматического построения соответствующих машинных программ. Законченная в 1954 году программирующая программа ПП-1 являлась одним из первых в мировой практике трансляторов и, по-видимому, имела самый высокий уровень входного языка.
Транслятор ПП-2 (1955 г., 4-й в мире транслятор) уже был оптимизирующим и содержал собственный загрузчик и отладчик, библиотеку стандартных процедур. В ПП-2 были усовершенствованы алгоритмы трансляции и было уделено заметное внимание оптимизации программ — экономии выражений, наилучшей реализации вычисления индексных выражений, оптимальному отведению памяти для рабочих ячеек. Это был, по-видимому, первый оптимизирующий транслятор.
В конце 50-х развивался и подход к автоматизации программирования с помощью библиотек стандартных программ. Были разработаны — стандартная составляющая программа — ССП, которая осуществляла статическую загрузку и связывание стандартных программ из достаточно обширной библиотеки, интерпретирующая система ИС-2 уже реализовывала некоторые функции будущих операционных систем, осуществляя динамическое связывание, подкачку и смену используемых подпрограмм, причем все это делалось с небольшими накладными расходами и весьма скромными запросами на память. (источник: «Разработка языков программирования и компиляторов в СССР» https://habrahabr.ru/company/ua-hosting/blog/273665/)
Задачей первых ЭВМ была автоматизация громоздких и трудоёмких баллистических расчётов для артиллерии и ракет. Отсюда и то внимание, которое уделялось в первых языках программирования расчётному компоненту — даже название языка Фортран, разработанного с 1954 по 1957 г в компании IBM под руководством Джона Бэкуса, являлось сокращением английских слов formula translator. Типовая программа того времени не имела логических ветвлений, она считывалась в память с перфоленты, перфокарт или магнитной ленты, «зохавывала» предназначенный для обработки объём данных — обычно с такого же носителя, «перемалывала» его в арифметико-логическом устройстве (то, что было до появления процессора), и либо распечатывала результат, либо, что чаще, завершалась с ошибкой.
Джон Маккарти в 1958 г разработал язык LISP, предназначенный для обработки списков данных, применяемый до настоящего времени (например, в AutoCAD), а в 1959-м группа разработчиков под руководством Грейс Хоппер создала язык COBOL, до сих пор широко используемый в обработке финансовых операций.
Вторым основным направлением была алгоритмизация. К 1958 году оформилось представление о логических и прочих нематематических возможностях ЭВМ. В 1958 году международная группа опубликовала начальную версию нового языка программирования ALGOL, основной идеей которого было дать как можно более естественную форму для выражения алгоритмов, прежде всего, вычислительной математики. Его название тоже было сокращением от algoritmic language (Алгоритмический язык). В Алголе появилось представление о программе не как о свободной последовательности команд, а как о блочной структуре, состоящей из чётко описанных и отделённых друг от друга частей.
Опираясь на версию ALGOL-58, Андрей Петрович Ершов вместе с Геннадием Кожухиным и Дмитрием Янковым решили разработать свой язык, внеся в него то, что было бы удобно вычислителям, в частности, возможность оперировать с векторами, матрицами и многомерными объектами. (источник http://www.computer-museum.ru/books/n_mozaika/alfa.htm)
На тот момент уже был решён вопрос о переезде Ершова с коллективом разработчиков в Новосибирский филиал Академии Наук СССР. Поэтому разрабатываемое ими расширение языка ALGOL первоначально получило название «Сибирский». Работа началась в конце 1959 года, а к началу 1960-го язык был вчерне разработан. Летом 1960 г была проведена работа по унификации стилистики разрабатываемого языка с ALGOL-60. Получившееся расширение «АЛГОЛа» получило скромное наименование «Входной язык». В декабре 1960 г. Геннадий Исаакович Кожухин выступил на рабочей конференции по АЛГОЛу с предварительным сообщением о проекте программирующей программы.
Однако помимо расчётных и логических задач перед советской наукой была поставлена задача обеспечить промышленность управляющими ЭВМ. Целью автоматизации промышленности было создание гибких производственных ячеек, состоящих из нескольких станков с ЧПУ, выполняющих токарные, фрезерные, координатно-расточные операции. Прототипы таких ячеек уже существовали. Они представляли собой производственный мини-участок, где станки были установлены рядом, управлялись ЭВМ через управляющие контроллеры, и их обслуживал один рабочий, переставлявший заготовки и детали с одного станка на другой, а также контролирующий качество продукции.
Предпринимались попытки заменить человека манипулятором. Но ЭВМ «Сетунь», используемая в качестве управляющей, была однозадачной машиной. То есть, для управления несколькими станками и манипулятором ей приходилось то и дело подгружать в память то одну, то другую программу.
Управление манипулятором заметно отличалось от управления станком, всё же станок выполнял большую часть времени одну и ту же операцию, а манипулятор должен был переставлять детали с одного станка на другой, с другого на третий, брать заготовки с входного лотка и ставить на выходной. То есть, манипулятор выполнял заметно более сложную и разнообразную работу, чем любой станок.

