Файл: История развития программирования в России (Начальный период).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 01.04.2023

Просмотров: 49

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

К середине 30-х годов в ряде стран были созданы первые образцы электромеханических и электронных устройств, которые могли выполнять массовые расчеты. Первыми завершили проект по созданию прототипа будущих компьютеров были Соединённые Штаты Америки.

К концу 1939 года Дж. Атанасов и К. Берри сконструировали модель процессора. А в мае 1942 года начал работать первый в мире компьютер ENIAC (Electronic Numerical Integrator and Compute — (Электронный числовой интегратор и вычислитель).

Однако именно с ENIAC связано начало компьютерной технологии, которая дала начало сначала кибернетике, а затем и информатике. Эта машина была первой, кто реализовал структуру, предложенную Дж. фон Нейманом. Вычислительная программа стала объектом, доступным для преобразования вычислительной машиной. Так появилось программирование.

В нашу страну информация о разработках принципиально новых электронных устройств и создании новых типов информационных процессоров поступила довольно быстро. Исходя из интересов страны (прежде всего из необходимости поддерживать высокий уровень военных разработок), в СССР начались работы по созданию отечественных вычислительных машин. В конце 30-х годов в Институте электротехники АН СССР под руководством С. А. Лебедева уже начались работы по созданию ЭВМ с использованием двоичной системы счисления, но начавшаяся война прервала эти исследования. После этого пришло время продолжить их. В 1951 году в Киеве была запущена первая вычислительная машина в континентальной Европе - МЭСМ, созданная коллективом во главе с С. А. Лебедевым.

Актуальность данной темы обусловлена тем, что история развитии программирования в нашей стране неотъемлемо связана и с историей нашей страны. Поэтому изучая историю программирования, я одновременно и изучаю ту сторону историю нашей страны, которую не отражена в учебниках по истории: ее взлеты и падения.

Объектом исследования в данной работе является программирование в Российской Федерации как самостоятельная деятельность.

Предмет исследования – исторические особенности развития программирования в Российской Федерации.

Целью курсовой является изучение исторического развития программирования в Российской Федерации.

Для достижения цели необходимо решить следующие задачи:

- изучить общую характеристику становления и развития программирования в России;

- выявить основные этапы развития программирования в России;


- изучить особенности развития программирования на каждом этапе его исторического развития в России.

Методологическую основу данного исследования составили такие методы как анализ, синтез, сравнение, обобщение, выделение, интерпретация, классификация и другие методы научного познания.

Структура работы. Данная работа состоит из введения, двух глав, заключения и списка использованной литературы.

Глава 1. Общая характеристика этапов программирования в Российской Федерации

1.1. Понятие и сущность программирования

Технология программирования занята уточнением и детализацией требований к ПО; их проектированием, в том числе разделением программы на две части; собственно программированием, в том числе написанием текстов программ на языках программирования; отладкой и тестированием.

Прогресс в сфере вычислительной техники и информационных и коммуникационных технологий предопределил появление разнообразных знаковых систем для записи алгоритмов – языков программирования.

Язык программирования служит двум взаимосвязанным целям: предоставляет программисту аппарат для задания действий, которые должны быть выполнены компьютером, и формирует концепции, которыми пользуется программист, продумывая общий алгоритм. Первой цели идеально отвечает язык, который настолько «близок к ЭВМ», что если всеми основными машинными объектами можно легко и просто оперировать достаточно очевидным для программиста образом. Второй же цели идеально отвечает язык, который настолько близок к решаемой задачи, что концепции ее решения можно выражать прямо и коротко. Первые языки программирования появились сравнительно недавно. Как и следовало ожидать, они (как и первые ЭВМ) были довольно примитивны и ориентированы на различные вычисления – как на чисто теоретические научные расчеты (прежде всего математические и физические), так и на прикладные задачи (в частности, в военной области)[1]. Программы, написанные на них, представляли собой линейные последовательности элементарных операций с регистрами, в которых хранились данные.


Следует отметить, что ранние языки программирования были оптимизированы под аппаратную архитектуру конкретного компьютера, для которого они предназначались. Это обеспечивало высокую эффективность вычислений, но не позволяло обеспечить стандартизацию: программа, работоспособная на одной вычислительной машине, не могла выполняться на другой.

Таким образом, ранние языки программирования существенно зависели от того, что принято называть «средой вычислений», и приблизительно соответствовали современным машинным кодам или языкам ассемблера.

Самые первые программы были организованы очень просто. Они состояли из собственно программы на машинном языке и обрабатываемых данных. Сложность программ ограничивалась способностью программиста одновременно мысленно отслеживать последовательность выполняемых операций и местонахождение большого количества данных.

Создание сначала ассемблеров, а затем и языков высокого уровня сделало программы более обозримыми за счет снижения уровня детализации и, конечно же, позволило увеличить их сложность.

Появление в языках средств, позволяющих оперировать подпрограммами, существенно снизило трудоемкость разработки программ. Подпрограммы можно было сохранять и использовать в других программах. Типичная программа того времени состояла из основной программы, области глобальных данных и набора подпрограмм (в основном библиотечных), выполняющих обработку всех данных или их части.

Слабым местом такой архитектуры было то, что при увеличении количества подпрограмм возрастала вероятность искажения части глобальных данных какой-либо подпрограммой. Необходимость исключения таких ошибок привела к идее использования в подпрограммах локальных данных.

И вновь сложность разрабатываемого программного обеспечения стала ограничиваться способностью программиста отслеживать процессы обработки данных уже на новом уровне. К этому добавились проблемы согласования интерфейса при разработке проекта несколькими программистами. В результате возникла проблема создания технологии разработки сложных программных продуктов, снижающей вероятность появления ошибок. Такая технология была создана и получила название «структурное программирование».

1.2. Начальный период становления кибернетики в России


К начальному периоду становления кибернетики можно отнести время с 1955 года по 1959 год. В 1959 году в Академии Наук СССР был создан Ученый совет по проблеме "кибернетика". За эти годы в Советском Союзе образовалась целая инфраструктура, полностью способствующая развитию нового научного направления[2].

Появление новой инфраструктуры связана с деятельностью А. И. Берга, чей огромный организаторский талант позволил преодолеть все препоны в бюрократической системе государства. Благодаря адмиралу Берг, который занимал пост заместителя министра обороны СССР по радиоэлектронике в 1953-1957 годах, кибернетика приобрела человека, который обеспечил достойные условия для ее становления и процветания кибернетике как науке.

А. И. Берг приступил к созданию инфраструктуры тогда, когда уже был сформирован крепкий задел для грядущей инфраструктуры. К концу 1957 года он был освобожден от должности в военном ведомстве и полностью окунулся в научную и организационную деятельность.

Вместе с развитие кибернетики как науки велась и создание принципиально новых компьютеров, и создание новых методов решения на них разнообразных прикладных задач. В 1948 году были сформированы Институт точной механики и вычислительной техники АН СССР и Специальное конструкторское бюро Министерства приборостроения и автоматики (СКБ 245). В этих учреждениях, а также в ряде других исследовательских лабораторий различных институтов АН СССР активно развивается теория вычислительных машин, разрабатывается новые методы программирования.

В 1950 году в Институте точной механики и вычислительной техники АН СССР приступил к работе на постоянной основе первый семинар по программированию, который возглавил математик, доктор физико-математических наук, член корреспондент АН СССР Л. А. Лустерник. В 1952 году в МГУ была сформирована кафедра вычислительной математики, которую возглавил математик, доктор физико-математических наук, член корреспондент АН СССР академик С. Л. Соболевым. На этой кафедре в 1952-53 учебном году в первый раз был прочитал курс "принципы программирования". Этот курс для студентов и аспирантов читал А. А. Ляпунов.

Кафедра программирования была также создана в 1953 году в Математическом институте, на базе кафедры прикладной математике. Возглавил новую кафедру математик, доктор физико-математических наук, профессор, член корреспондент АН СССР А. А. Ляпуновым. Первая публикация, по программирования которая стала доступна для всех кто интересовался данной областью науки появилась том же 1953 году.


В 1955 году в МГУ был создан вычислительный центр. Данный центр был ориентирован на разработку новых вычислительных методов. Так же в этом центре решались сложные научные и прикладные задачи.

В конце 50-х годов была разработана теория логического анализа и синтеза релейно-контактных схем. В дальнейшем была сформирована теория функциональных схем. В этой теории аппарат математической логики использовался в области технических наук.

В 1952-53 гг. А. А. Ляпуновым был предложен новый для того времени операторный метод описания программ, который позволял представить программу на обозримом уровне. Взамен малоэффективного для человека написания программы в машинных кодах А. А. Ляпунов предложил формализованное представление высокого уровня. Важным в этом предложении было то, что операторный метод дал возможность сформировать теорию синтаксических структур программ.

В 1953 году А. А. Ляпунов сформулировал задачу автоматизации программирования. Эта оригинальная продукция с успехом использовалась в первых отечественных переводчиках, получивших тогда название программистов. Летом 1954 года появилась программа программирования ПП - 1 (кафедра прикладной математики Института математики АН СССР), а в 1955 году-ее усовершенствованный вариант ПП-2. Чуть позже была создана еще одна программная программа.

В 1953-54 гг. Л. В. Канторович разработал технологию крупноблочного программирования, которая также давала прогнозируемое описание программ и обеспечивала степень формализации, достаточную для изучения синтаксических структур программ и создания программирующих программ.

М. Л. Цетлин первым задался вопросом, как с помощью простых технических средств можно смоделировать сложные формы поведения. Идеи, выдвинутые М. Л. Цетлиным дали толчок к развитию теории коллективного поведения технических систем. Исследования проведенными учеными СССР в этом направлении в значительной степени опередили исследования подобные исследования в других странах.

Во второй половине 50-х годов специалисты ведущие разработки в сфере компьютерных технологий имели ясно представляли направления развития отечественной информатики.

Примером является статья В. М. Глушкова «О некоторых задачах вычислительной техники и связанных с ними задачах математики» вышедшая в 1957 году. К этому времени В. М. Глушков достаточно точно определяется с направлением исследований в области информатики. По представлению В. М. Глушкова, базой для развития вычислительной техники должна стать концепция их работы, а также разработка методов проектирование средств автоматизации вычислительной техники и разработка методов автоматизации программирования[3]. Он акцентирует внимание на ведущею роль исследований в области теории алгоритмов и теории конечных детерминированных и стохастических автоматов, обращает внимание на важнейшие значение разработки методов символьных преобразований на ЭВМ, отмечает центральную роль, которую играет задача оптимизации программ (особенно для управляющих машин).