Файл: История развития программирования в России (Начало развития компьютеров в СССР).pdf
Добавлен: 30.03.2023
Просмотров: 89
Скачиваний: 1
Введение
Актуальность работы. Программирование - одна из самых традиционных тем в курсе информатики. Место и вес этой темы в программе курса меняется с течением времени. С развитием компьютерных технологий все меньше времени уделяется изучению алгоритмизации и программирования и все больше - обучению технологии обработки текстов и графики. Значительный пересмотр этого вопроса произошел с введением Единого государственного экзамена по информатике на всей территории Российской Федерации. В заданиях ЕГЭ значительное место занимают вопросы, связанные с программированием.
В узком смысле слова, программирование-это процесс разработки программы на определенном языке программирования.
История программирования и особенно отечественных программистов в отечественных учебниках по информатике практически отсутствуют. Поэтому выпускники школ, не располагающие достаточной информацией по истории разработки программного обеспечения, не могут назвать ни одного отечественного программиста.
Объект исследования: программирование в России.
Предмет исследования: особенности развития программирования.
Цель работы: рассмотреть историю развития программирования в России.
Для осуществления поставленной цели необходимо решить задачи:
- рассмотреть возникновения программирования;
- привести начало развития компьютеров в СССР;
- описать история становления программирования СССР;
- разобрать программирование России на современном этапе.
1. Теоретические основы развития программирования
1.1 Возникновения программирования
С древних времен предпринимались попытки создать устройства, ускоряющие и облегчающие процесс вычислений. Еще древние греки и римляне использовали устройство, похожее на вычисляющие счеты. Такие устройства были известны в странах Древнего Востока. В XV веке немецкие ученые В. Шиккард (1623), Г. Лейбниц (1673) и французский ученый Б. Паскаль (1642) создали механические вычислительные устройства - предшественники известного арифмометра. Вычислительные машины совершенствовались в течение нескольких столетий. Но понятие "программа и программирование" не применялось.
Только в начале XIX века. (1830) английский ученый, профессор математики Кэмбриджского университета Чарльз Бэббидж, анализируя результаты обработки переписи населения во Франции, теоретически исследовал процесс выполнения вычислений и обосновал основы архитектуры компьютера. Работая над проектом аналитических машин - "машины для вычисления разностей", Чарльз Бэббидж предсказал многие идеи и принципы организации и функционирования современных компьютеров, в частности принцип программного управления и хранимую программу. Общий энтузиазм к науке дал ученому и Аде Лавлейс (1815-1852) много лет плодотворного сотрудничества. В 1843 г. она перевела статью Менабреа на лекции Чарльза Бэббиджа, где в виде подробных комментариев (по объему они превосходили основной текст) сформулировала главные принципы программирования аналитической машины. Она разработала первую программу (1843) для машины Бэббиджа, убедила его использовать изобретение двоичной системы счисления вместо десятичной системы и разработала принципы программирования для повторения одной и той же последовательности команд при определенных условиях. Именно она предложила термины "рабочая ячейка" и "цикл".
А. Лавлейс сделал первые программы, для решения системы двух уравнений и вычислений Чисел Бернулли по довольно сложному алгоритму и предположила, что со временем аналитическая машина будет сочинять музыку, рисовать картины и использоваться в практической и научной деятельности. Время подтвердило его правильность и точность прогнозов. Своими работами А. Лавлейс заложила теоретические основы программирования и считается первым в мире программистом и основоположником научного программирования.
В 1854 году английский математик Джордж Буль опубликовал книгу "Законы мышления", в которой разработал алгебру утверждений - Булевую алгебру.
На ее основе в начале 80-х годов XIX века разрабатывались теории релейно-контактных схем и конструирования, а также описание сложных дискретных автоматов. Алгебра логики оказала многогранное влияние на развитие компьютерных технологий, как инструмента разработки и анализа сложных схем, стала инструментом для оптимизации большого количества логических элементов, из которых многие тысячи являются современными компьютерами.
Идеи Чарльза Бэббиджа реализовал американский ученый Г. Холлерита, который с помощью расчетно-аналитических машин и перфокарт за три года обработал результаты переписи населения в США в 1890 г. В машине впервые было использовано электричество. В 1896 году Холлерит основал компанию по производству компьютерных перфораторов и перфокарт.
В 1936 году английский математик А. Тьюринг ввел понятие машины Тьюринга как формальное уточнение интуитивного понятия алгоритма. Ученый показал, что любой алгоритм в некотором смысле может быть реализован на машине Тьюринга, и, следовательно, доказал возможность построения универсальной ЭВМ. Обе машины аналогично могут быть снабжены исходными данными решаемой задачи и программой ее решения. Машину Тьюринга можно рассматривать как идеализированную модель универсального компьютера.
В 40-х годах XX века механические схемы вычислительных машин стали заменяться электрическими и электронными устройствами. Первые электромеханические машины были созданы в Германии К. Цузе (C-3, 1941) и в США под руководством профессора Гарвардского университета Г. Айкена (MARK-1, 1944). Первый электронный автомат, созданный в США группой инженеров под руководством доктора Университета Дж. Пенн. Мочли и аспирант Дж. Экерт (The ENIAC -- electronic numerical integrator and calculator, 1946). В 1949 году. В Англии была построена edsac-первая машина с автоматическим программным управлением, внутренней памятью и другими необходимыми компонентами современных компьютеров.
Логические схемы компьютеров были разработаны в конце 1940-х гг. фон Нейманом, г. Гольдштейном и А. В. Бурксом. Особый вклад в эту работу внес американский математик Джон фон Нейман, участвовавший в создании ЭНИАКа. Он предложил идею хранения команд управления и данных в машинной памяти и сформулировал основные принципы работы современных компьютеров. Компьютеры с сохраненной программой были быстрее и гибче, чем ранее созданные.
В 1951 году в США было налажено первое массовое производство электронных машин UNIVAC (universal automatic computer). В то же время IBM начала серийное производство машины IBM/701.
В СССР первыми авторами компьютеров, изобретенных в декабре 1948 года, являются И. С. Брук и Б. И. Рамеев. А первый советский компьютер с оставшейся программой был создан в 1951 году под руководством С. А. Лебедева (МЭСМ - малая электронная счетная машина). В 1953 году в СССР началось серийное производство машин, первыми из которых были БЭСМ-1, "Стрела".
С появлением цифровых программно-управляемых машин родилась новая область прикладной математики - программирование. Как область науки и профессии, она возникла в 1950-х гг. Первоначально программы компилировались вручную на машинных языках (в машинных кодах). Программы были громоздкими, и отладка их была очень трудоемкой. Для упрощения приемов и методов компиляции и отладки программ была создана мнемотехника, структура которой близка к машинному языку, использующему символьную адресацию. Ассемблеры переводят программы, написанные в memocode, на машинный язык и их расширенные макросы используются в настоящее время. Далее были созданы автокоды, которые можно использовать на различных машинах, и разрешен обмен программами. Автокод - это набор псевдокоманд для решения специализированных задач, например, научных или инженерных. Для таких задач существует разработанная библиотека стандартных программ.
До конца 1950-х годов основным элементом конструкции компьютеров были вакуумные трубки (1-го поколения). В этот период развитие идеологии и техники программирования за счет достижений американских ученых Дж. фон Нейман, сформулировавший основные принципы построения ЭВМ, и Дж. Бэкус, под руководством которого в 1954 году был создан Fortran (Formula Translation), являются первыми высокоуровневыми языками программирования, используемыми на сегодняшний день в различных модификациях. Так, в 1965 году в Дартмутском колледже Д. Камани и Т. Курц разработали упрощенную версию Fortran - Basic. В 1966 году комиссия Американской ассоциации стандартов (ASA) разработала два языковых стандарта: Fortran и Basic Fortran. Также используются дополнительные модификации языка (например, 1970, 1990).
Достижения в области электроники и микроэлектроники позволили заменить элементную базу ЭВМ на более совершенную. В конце 1950-х громоздкие электронные лампы были заменены на полупроводники (миниатюрные транзисторы). Появляются компьютеры поколения II; потом примерно через 10 лет компьютеры III поколения - интегральной схемы; еще через 10 лет - компьютеры IV поколения для крупномасштабных интегральных схем (LSI). В Японии в 1990-е годы были реализованы компьютерные проекты V-поколения, в которых использовались для исследования в области искусственного интеллекта и биоэлектроники.
Объем оперативной памяти (ОЗУ), одной из лучших отечественных машин 1960-х годов - М-20, созданной под руководством С. А. Лебедева, в 1958 году, был невелик - 4096 слов (8 Кбайт) при скорости 20 тыс. операций в секунду, для сопоставления - современные персональные компьютеры имеют ОЗУ в десятки мегабайт и скорость в сотни миллионов операций в секунду позволяя решать сложные задачи.
В 1953 г. А. А. Ляпунов предложил операторный метод программирования, заключавшийся в автоматизации программирования, а алгоритм решения задачи был представлен в виде набора операторов, образующих логическую схему задачи. Схемы позволили расчленить громоздкий процесс компиляции программы, части которой были скомпилированы по формальным правилам, а затем объединены в единое целое. Для проверки идей операторного метода в СССР в 1954 году была разработана первая программа программирования ПП - 1, а в 1955 году более совершенная-ПП-2. В 1956 г. разработал ПП БЭСМ, в 1957 г. - ППСВ, в 1958г. - для стрелочного станка.
В США в 1954 году стал применяться алгебраический подход, совпадающий, по существу, с операторным методом. В 1956 году корпорация IBM разработала универсальный PP Fortran для автоматического программирования на компьютерах IBM / 704.
В этот период по мере накопления опыта и теоретического осмысления совершенствовались языки программирования. В 1958-1960 годах в Европе был создан Алгол, который дал начало ряду АЛГОЛОПОДОБНЫХ языков: Algol W, (1967), Algol 68, Pascal (N. Wirth, 1970), C (D. Ritchie and B. Kernighan, 1972), Ada (под руководством J. Ischbia, 1979), C++ (1983). В 1961-1962 гг. Дж. Маккарти в Массачусетском технологическом институте был создан функциональный язык программирования Lisp, который открылся в программировании одно из альтернативных направлений, предложенных Джоном фон Нейманом.
В начале 1970-х годов существовало более 700 языков высокого уровня и около 300 переводчиков для автоматизации программирования.
Сложность структуры ЭВМ привела (в 1953 году для машин первого поколения) к созданию операционных систем (ОС) - специальных управляющих программ для организации и решения задач на ЭВМ. Например, система MIT monitor, созданная в Массачусетском технологическом институте, обеспечивала пакетную обработку, т. е. непрерывное, последовательное прохождение через компьютер многих групп (пакетов) задач и использование библиотеки служебных программ, хранящихся в машине. Это позволило совместить операции запуска с выполнением программы.
1.2. Начало развития компьютеров в СССР
В нашей стране в 1948 г. проблемы развития вычислительной техники становятся общегосударственной задачей. Развернулись работы по созданию серийных ЭВМ первого поколения.
В 1950 году в Институте точной механики и вычислительной техники (ИТМ и ВТ) организован Отдел цифровых ЭВМ для разработки и создания ЭВМ. В 1951 году здесь была спроектирована машина БЭСМ (большая электронная счетная машина), а в 1952 году началась ее опытная эксплуатация.
Первоначально проект предполагал использование памяти на трубках Уильямса, но до 1955 года в качестве элементов памяти использовались ртутные линии задержки. В то время БЭСМ была очень производительной машиной - 800 ОП / с. Она имела трехадресную командную систему, а для упрощения программирования широко использовался метод стандартных программ, который впоследствии заложил основу для модульного программирования прикладных пакетов. Серийно машина стала выпускаться в 1956 году под названием БЭСМ - 2.
В этот же период конструкторское бюро во главе с М. А. Лесечко приступило к проектированию еще одного компьютера, получившего название "Стрелка". Освоить серийное производство этой машины было поручено самому московскому заводу. Главным конструктором был Я. А. Базилевский, а одним из его помощников - Б. И. Рамеев, в дальнейшем конструктор серии "Урал". Проблемы серийного производства предопределили некоторые особенности "стрелка": низкая по сравнению с БЭСМ, большая установка и т. д. В автомобиле в качестве внешней памяти использовались 45 - трековые магнитные ленты, а оперативная память - на трубках Уильямса. "Стрела" имела большую разрядность и удобную систему команд.