Файл: История развития программирования в России (Развитие программирования в СССР и России).pdf
Добавлен: 15.05.2023
Просмотров: 224
Скачиваний: 3
Введение
Термин «программирование» означает процесс создания компьютерной программы.
В более широком смысле под программированием подразумевают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ - программного обеспечения. Данная инженерно-техническая дисциплина называется «программная инженерия». Сюда включаются анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, настройка и тестирование программы (испытания программы), документирование, конфигурирование (настройка), доработка и сопровождение.
Россия обычно ассоциируется с огромной территорией и нескончаемыми природными ресурсами. Нефть, газ, уголь и древесина по-прежнему остаются самыми важными составляющими валового национального продукта России, поэтому на их фоне индустрия программирования малозаметна. Но, кроме лидерства на сырьевом рынке, Россия занимает первое место в мире по количеству технических специалистов. Согласно отчету World Bank/UNESCO, более миллиона человек в стране работает именно в сфере научных исследований.
Целью данной курсовой работы является изучение истории развития программирования в России.
Первые программисты
Попытки создать устройства, ускоряющие и облегчающие процесс вычислений, известны с глубокой древности. Еще древние греки и римляне использовали приспособление, подобное счетам, — абак. Подобные устройства существовали также в странах Древнего Востока. В XVM в. немецкие ученые В. Шиккард (1623), Г. Лейбниц (1673) и французский ученый Б. Паскаль (1642) создали механические вычислительные устройства — предшественники знаменитого арифмометра. Вычислительные машины совершенствовались в течение нескольких столетий. Однако понятие «программа и программирование» не применялось.
Лишь в начале XIX в. (1830) английский ученый, профессор математики Кэмбриджского университета Чарльз Бэббидж, анализируя результаты обработки переписи населения во Франции, теоретически изучил процесс выполнения вычислений и обосновал основы архитектуры вычислительной машины. Работая над проектом аналитической машины — «Машины для исчисления разностей», Ч. Бэббидж предсказал многие идеи и принципы организации и работы современных ЭВМ, а именно принцип программного управления и запоминаемой программы. Общая увлеченность наукой дала ученому и Аде Лавлейс (1815—1852) долгие годы продуктивного партнерства. В 1843 г. Ада перевела статью Менабреа по лекциям Ч. Бэббиджа, где в виде подробных комментариев (по объему они превышали основной текст) определила основные принципы программирования аналитической машины. Она создала первую программу (1843) для машины Бэббиджа, убедила его в необходимости использования в изобретении двоичной системы счисления вместо десятичной, а также разработала принципы программирования, предусматривающие повторение одной и той же последовательности команд при определенных условиях. Именно она предложила такие понятия, как «рабочая ячейка» и «цикл». А. Лавлейс составила первые программы для решения системы двух уравнений и вычисления чисел Бернулли по довольно сложному алгоритму и предположила, что со временем аналитическая машина будет сочинять музыкальные произведения, рисовать картины и применяться в практической и научной деятельности. Время подтвердило ее правоту и точность прогнозов. Таким образом, своими работами А. Лавлейс заложила теоретические основы программирования и с тех пор по праву считается первым в мире программистом и основоположником научного программирования. [17]
В 1854 г. английский математик Джордж Буль опубликовал книгу «Законы мышления», в которой развил алгебру высказываний —Булеву алгебру. На ее основе в начале 80-х гг. XIX в. построена теория релейно-контактных схем и конструирования сложных дискретных автоматов. Алгебра логики оказала огромное влияние на развитие вычислительной техники, являясь инструментом разработки и анализа сложных схем, инструментом оптимизации большого числа логических элементов, из многих тысяч которых состоит современная ЭВМ.
Идеи Ч. Бэббиджа воплотил американский ученый Г. Холлерит, который с помощью построенной счетно-аналитической машины и перфокарт за три года обработал результаты переписи населения в США по состоянию на 1890 г. В машине впервые было использовано электричество. В 1896 г. Холлеритом была основана компания по выпуску вычислительных перфорационных машин и перфокарт.
В 1936 г. английский математик А. Тьюринг ввел понятие машины Тьюринга как формального уточнения интуитивного понятия алгоритма. Ученый показал, что любой алгоритм в некотором смысле может быть реализован на машине Тьюринга, а следовательно, доказывал вероятность построения универсальной ЭВМ. И та, и другая машины аналогично могут быть снабжены исходными данными решаемой задачи и программой ее решения. Машину Тьюринга можно считать как бы идеализированной моделью универсальной ЭВМ.
В 40-х гг. XX в. механическую элементную базу вычислительных машин заменили электрическими и электронными устройствами. Первые электромеханические машины были созданы в Германии К. Цузе (Ц-3, 1941 г.) и в США под руководством профессора Гарвардского университета Г. Айкена (МАРК-1, 1944 г.). Первая электронная машина была создана в США группой инженеров под руководством доктора Пенсильванского университета Дж. Мочли и аспиранта Дж. Экксрта (ЭНИАК — электронный числовой интегратор и калькулятор, 1946 г.). В 1949 г. в Англии была создана EDSAC — первая машина с автоматическим программным управлением, внутренним запоминающим устройством и другими важными компонентами современных ЭВМ.
Логические схемы вычислительных машин были разработаны в конце 1940-х гг. Дж. фон Нейманом, Г. Гольдстайном и А. В. Берксом. Большой вклад в работу внес американский математик Джон фон Нейман, который принимал участие в создании ЭНИАК. Он предложил идею хранения команд управления и данных в машинной памяти, а также сформулировал основные принципы строения современных ЭВМ. С хранимой программой они оказались более быстродействующими и гибкими, чем созданные ранее.
В 1951 г. в США было налажено первое серийное производство электронных машин УНИВАК (универсальная автоматическая вычислительная машина). В этот же период фирма IBM начала серийный выпуск машины IBM/701. [17]
В СССР первыми создателями ЭВМ, изобретенной в декабре 1948 г., являются И. С. Брук и Б. И. Рамеев. А первая советская ЭВМ с сохраняющейся программой была создана в 1951 г. под руководством С. А Лебедева (МЭСМ — малая электронная счетная машина). В 1953 г. в Советском Союзе начался серийный выпуск машин, первыми из которых были БЭСМ-1 и «Стрела».
С возникновением цифровых программно-управляемых машин появилась новая область прикладной математики — программирование. Как область науки и профессия, она возникла в 1950-х гг. Изначально программы составлялись вручную на машинных языках (в машинных кодах). Программы были громоздкими, а их настройка — довольно трудоемкой. Поэтому для упрощения приемов и методов составления и настройки программ были созданы мнемокоды, по структуре близкие к машинному языку и использующие символьную адресацию. Ассемблеры переводили программу, записанную в мнемокоде, на машинный язык и, расширенные макрокомандами, используются и по сей день. Затем были созданы автокоды, которые можно применять на различных машинах, и позволившие обмениваться программами. Автокод — это набор псевдокоманд для решения специализированных задач, например, научных или инженерных. Для таких задач имеется развитая библиотека стандартных программ.
До конца 1950-х гг. ЭВМ основным элементом конструкции были электронные лампы (1-е поколение). В этот период развитие идеологии и техники программирования шло за счет достижений американских ученых Дж. фон Неймана, сформулировавшего основные принципы построения ЭВМ, и Дж. Бэкуса, под руководством которого в 1954 г. был создан Fortran (Formula Translation) — первый язык программирования высокого уровня, используемый до настоящего времени в разных модификациях. Так, в 1965 г. в Дартмутском колледже Д. Кэмэни и Т. Куртцем была разработана упрощенная версия Фортрана — Basic. В 1966 г. комиссия при Американской ассоциации стандартов (ASA) разработала два стандарта языка: Фортран и Базисный Фортран. Используются также дальнейшие модификации языка (например, 1970, 1990 гг.).
Открытия в области электроники и микроэлектроники позволили заменить элементную базу ЭВМ на более совершенную. В конце 1950-х гг. громоздкие электронные лампы заменяют полупроводниками (миниатюрными транзисторами). Появляются ЭВМ II поколения; затем примерно через 10 лет — ЭВМ III поколения на интегральных схемах; еще через 10 лет — ЭВМ IV поколения на больших интегральных схемах (БИС). В Японии в 1990-х гг. реализованы проекты ЭВМ V поколения, в которых использованы достижения в области искусственного интеллекта и биоэлектроники. Если объем оперативного запоминающего устройства (ОЗУ) одной из лучших отечественных машин 1960-х гг. М-20, созданной под руководством С.А. Лебедева в 1958 г., имел 4096 слов (8 Кбайт) и быстродействие 20 тыс. операций в секунду, то современные персональные компьютеры характеризуются ОЗУ в десятки Мбайт и быстродействием в сотни миллионов операций в секунду, что позволяет решать сложнейшие задачи.
В 1953 г. А.А. Ляпуновым был предложен операторный метод программирования, который заключался в автоматизации программирования, а алгоритм решения задачи представлялся в виде совокупности операторов, образующих логическую схему задачи. Схемы позволяли расчленить громоздкий процесс составления программы, части которой составлялись по формальным правилам, а затем объединялись в целое. Для проверки идей операторного метода в СССР в 1954 г. была разработана первая программирующая программа ПП-1, а в 1955 г. более совершенная — ПП-2. В 1956 г. разработана ПП БЭСМ, в 1957 г. — ППСВ, в 1958 г. — для машины «Стрела».
В США в 1954 г. стал применяться алгебраический подход, совпадающий, по сути, с операторным методом. В 1956 г. корпорацией IBM разработана универсальная ПП Фортран для автоматического программирования на ЭВМ IBM/704.
В это время по мере накопления опыта и теоретического осмысления совершенствовались языки программирования. В 1958—1960 гг. в Европе был создан ALGOL, который породил целую серию алголоподобных языков: Algol W, (1967), Algol 68, Pascal (Н. Вирт, 1970 г.), С (Д. Ритчи и Б. Керниган, 1972 г.), Ada (под руководством Ж. Ишбиа, 1979 г.), C++ (1983). В 1961-1962 гг. Дж. Маккарти в Массачусетском технологическом институте был создан язык функционального программирования Lisp, открывший в программировании одно из альтернативных направлений, которые предложил Дж. фон Нейман.
На начало 1970-х гг. существовало уже более 700 языков высокого уровня и около 300 трансляторов для автоматизации программирования.
Усложнение структуры ЭВМ привело (в 1953 г. для машин И-го поколения) к созданию операционных систем (ОС) — специальных управляющих программ для организации и решения задач на ЭВМ. Например, мониторная система МТИ, созданная в Массачусетском технологическом институте, обеспечивала пакетную обработку, т. е. непрерывное, последовательное прохождение через ЭВМ многих групп (пакетов) заданий и пользование библиотекой служебных программ, хранимой в машине. Это позволило совместить операции по запуску с выполнением программ.
Сегодня для ПЭВМ разработаны ОС: MS DOS, Windows, ОС/2, МасОС, Unix, Linux и др. Широкое распространение получили ОС MS DOS и Windows, которые имеют развитый интерфейс и большой набор приложений, позволяющих последовательное выполнение заданий из пакета, обработку разной информации во многих сферах человеческой деятельности.
В 1965 г. итальянцы Бом и Джакопини предложили использовать в качестве базовых алгоритмических элементов следование, ветвление и цикл. Примерно в это же время к аналогичным выводам также пришел голландский ученый Э. Дийкстра, заложивший основы структурного программирования. В 1970-х гг. данная методология утвердилась, и корпорация IBM заявила о применении в разработке программного обеспечения «Усовершенствованных методов программирования», одним из компонентов которых являлась технология нисходящего структурного программирования, основу которого составляло следующее:
• сложная задача разбивается на простые, функционально управляемые задачи, каждая задача имеет один вход и один выход; управляющий поток программы состоит из совокупности элементарных функциональных подзадач;
• управляющие структуры просты, т. е. логическая задача должна состоять из минимальной, функционально полной совокупности достаточно простых управляющих структур;
• программа разрабатывается поэтапно, на каждом этапе решается ограниченное число точно поставленных задач.
Четко сформулированные основы нисходящей разработки, структурного кодирования и сквозного контроля позволили перейти к промышленным методам разработки программного обеспечения.
Развитие получило модульное программирование, основа которого заключается в следующем:
• функциональная декомпозиция (разбиение) задачи на самостоятельные подзадачи — модули, связанные только входными и выходными данными;
• модуль представляет собой «черный ящик», позволяющий разрабатывать части программ одного проекта на разных языках программирования, а затем с помощью компоновочных средств объединять их в единый загрузочный модуль;
• должно быть четкое представление назначения всех модулей задачи и их оптимального сочетания;
• с помощью комментариев должно описываться назначение всех переменных модуля.
В период 1970—1980-х гг. развитие теоретических исследований оформило программирование как самостоятельную научную дисциплину, занимающуюся методами разработки программного обеспечения (ПО).
В истории развития промышленного программирования большую роль сыграл программист и бизнесмен Билл Гейтс (Gates William Henry, p. в 1955 г.). Его история весьма поучительна для начинающих программистов. В 1972 г. Билл Гейтс вместе со своим школьным товарищем Полом Алленом основали компанию по анализу уличного движения «Трэф-О-Дейта» и использовали для обработки данных компьютеры с микропроцессором 8008 — первым из знаменитого ряда микропроцессоров компании «Intel». Будучи студентом Гарвардского университета, в 1975 г. он совместно с Алленом написал для компьютера Altair (фирмы M1TS) интерпретатор — программу-переводчик с языка программирования на язык машинных кодов. Они заключили с владельцем компании договор, согласно которому их программы распространялись вместе с компьютерами. Товарищи основали компанию «Microsoft», в которой Б. Гейтсу принадлежало 60 % акций, а П. Аллену — 40 %. В 1976 г. Гейтс ввел в практику продажу лицензий на свои программные продукты непосредственно производителям компьютеров, что позволило «встраивать» их (ОС и трансляторы с языков программирования) в компьютеры. Это было большим достижением в области маркетинга, принесшим фирме огромные доходы. Фирма привлекала новых заказчиков, таких как: компанию «Apple», «Commodor», «Tendi». В 1980 г. фирма IBM предложила «Microsoft», в которой тогда работало около двух десятков человек, создать языки программирования для ее нового персонального компьютера, в дальнейшем известным как IBM PC. В 1981 г. «Microsoft» приобрела у разработчика Т. Патерсона дисковую ОС (DOS), и в августе этого года IBM PC поставлялась вместе с ОС MS DOS. Успех был настолько велик, что, помимо высоких доходов, привел к тому, что и архитектура Intel, и компьютеры IBM, и программы «Microsoft» фактически стали отраслевыми стандартами. В 1988 г. «Microsoft» создала свою ОС Windows с мощным графическим интерфейсом. К 1995 г. ОС, выпускаемые компанией, использовали 85 % персональных компьютеров. ОС Windows совершенствуется год от года, обладая уже средствами доступа в глобальную сеть Internet. Вместе с фирмой NBC был создан круглосуточный кабельный информационный канал новостей. Совместно с фирмой «Эн-карта» создана мультимедиа-энциклопедия на CD-ROM «Книжная полка», содержащая в себе электронные версии семи больших справочников, электронную энциклопедию кино — «Синемания». В 1995 г. в фирме «Microsoft» уже работало 18 тыс. человек, годовой выпуск достиг 200 программных продуктов, а доходы составляли миллиарды долларов. В 1998 г. Б. Гейтс стал самым богатым человеком в мире, а в конце 1999 г. — объявил о своем решении уйти с поста главы компании и заняться программированием. Сейчас Билл Гейтс — одна из самых популярных фигур компьютерного мира. Журнал «People» писал: «Гейтс в сфере программирования значит столько же, сколько Эдисон в отношении к электрической лампочке: отчасти инноватор, отчасти предприниматель, отчасти торговец, но неизменно гений».