Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

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

Содержание:

Введение

К середине 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]. Он акцентирует внимание на ведущею роль исследований в области теории алгоритмов и теории конечных детерминированных и стохастических автоматов, обращает внимание на важнейшие значение разработки методов символьных преобразований на ЭВМ, отмечает центральную роль, которую играет задача оптимизации программ (особенно для управляющих машин).

В 1953 году в стране начался серийный выпуск первых вычислительных машин. Одна из первых машин которая вошла в серию была «Стрела», которая была спроектирована в «Специальном конструкторском бюро Министерства приборостроения и автоматики» под руководством Ю. Базилевского. Затем в 1958 году в серию была запущена вычислительная машина М-20 разработанная коллективом «Института точной механики и вычислительной техники» АН СССР, которым руководил С. А. Лебедев. Вычислительная машина М-20 оказала большое влияние на развитие программирования. Позже на базе М-20 была разработана и построена машина М-220 элементной базой которой служили транзисторы.

Как мы видим, что к началу 60-х годов были заложены как теоретические, так и технические основы развития информатики.

Университеты страны такие как Московской, Ленинградский и Киевский, приступили к подготовке и выпуску специалистов по вычислительной математике. В ряде технических вузов были организованы курсы по вычислительной математике, а следом за эти стали создастся кафедры информатики или вычислительной техники.

Символом признание кибернетики как науке стала статья «Кибернетика», которая была опубликована в 51-м томе второго издания Большой Советской Энциклопедии, написанная математиком, доктором физико-математических наук, профессором, членом корреспондент АН СССР академик А. Н. Колмогоровым.

Стали издаваться книги по кибернетике и отечественных авторов. В частности, в 1958 году вышла книга "Сигнал" И. А. Полетаева.

Знаковым событием стало издание в 1958годуу книги. «Кибернетика или управление и связь в животном и машине» «отца» кибернетики Норберта Винера. Переводом книги занимался И. В. Соловьев, а редактором издания стал Г. Н. Поваров. Позже в 1968 году была издана и вторая книга Н. Винера «Кибернетика и общество»

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

В 1958 году увидел свет первый выпуск журнала "Проблемы кибернетики", пол редакцией А. А. Ляпунова. Это было самое главное событие того времени в области пропагандированное кибернетики.

Это был красивый, в ярко-красной обложке том стал началом серии из 41 сборника, который определил дальнейшее направления развития теоретической кибернетики, получившие в последствии название информатика.

Начиная с 1954-55 года, на базе механико-математическом факультете МГУ стали проводится семинары по кибернетике под руководством Ляпунова. Все материалы участников семинара отражались в сборнике "проблемы кибернетики". Первый номер был посвящён докладу, с которым выступили М. В. Келдышем, А. А. Ляпуновым на октябрьской сессии АН СССР в 1956 году.

Невозможно оценить роль семинара в истории отечественной информатики – она огромна.

Почти двадцать лет (до смерти А. А. Ляпунова в 1973 году) это семинар во многом определил высокий уровень работы в области кибернетики. Как отмечается в, всего было проведено 141 заседание семинара.

Активное участие в семинаре приняли математики, физиологи, лингвисты, менеджеры и представители других наук. Это был первый по-настоящему междисциплинарный семинар в истории нашей науки. Многие из его участников в последующие годы стали крупными учеными в области информатики. Знакомство с темами докладов, прочитанных на семинаре, показывает, насколько широк был круг интересов его участников.

1.3. Развитие программирования в 60-80 годы

В 60-е годы в области развития кибернетики нашей страны можно выделить две тенденции:

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

вторая тенденция — запаздывание в развитии технологий для создания компьютеров нового поколения.

Если отечественные вычислительные машины 60-х годов, собранные на транзисторах, могли конкурировать с зарубежными аналогами, то от новых образцов вычислительных машин, собранных на интегральных микросхемах наши вычислительные машины, уже отставали. Транзисторы были массово заменены интегральными схемами, а затем и сверхбольшими интегральными схемами. К концу 60-х годов технологический разрыв в области вычислительной техники достиг 6-7 лет.

Разрыв, в технологиях который возник к концу 60-х годов с начала не как не влиял на развитие теоретических основ информатики. Он влиял на творческие усилия специалистов, работающие над проблемой разработки и внедрения компьютеров. В эти годы в СССР бурно развивалась космическая программа. Одновременно с этим шло техническое перевооружение армии. В народном хозяйстве решались крупные задачи. Огромное значение придавалось использование компьютеров при развитии народного хозяйства, укрепления оборонной мощи страны. В правительственных и партийных документах, отмечалась ведущая роль новых технологий, основанных на внедрении компьютеров.

Следующие двадцать лет знаменуют большим количеством и разнообразием кибернетических исследований в нашей стране. Все её направления активно развивались.

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

После знаменитого Джорджтаунского эксперимента по использованию компьютера для перевода с одного языка на другой в Советском Союзе стремительно развивались работы в этой области. Вскоре у нас появились первые версии программного обеспечения для машинного перевода. Эти программы базировались на достижениях лингвистики, которые стимулировались новыми структурно-математическими подходами к проблемам анализа и синтеза языковых структур. В создании и изучении моделей такого типа отечественные лингвисты оказались наравне с лингвистами из других стран. Это позволило тем, кто создавал первые программы для машинного перевода, занять лидирующие позиции в этой области. И в дальнейшем, когда наша страна стала отставать по многим позициям в области кибернетических исследований, работа в области машинного перевода осталась на мировом уровня.

Энергичное включение кибернетических идей в психологию мышления дало толчок к созданию ряда целостных моделей организации целесообразной человеческой деятельности. С 1964 по 1970 год на базе Московского энергетического института работал семинар по психоники, где активно обсуждались эти модели. В этом семинаре приняли участие психологи (Б. В. Зейгарник, В. П. Зинченко, В. Н.Пушкин и др.), а также специалисты в области кибернетики. Термин «психоника» получил свое названия от термина «бионика», который был широко распространен в 60-е годы. Психоникой предлагалось назвать областью междисциплинарных исследований между кибернетикой и психологией. Целью новой науки должно было стать включение в искусственные системы моделей и процедур, аналогичных тем, которые характеризуют направленную жизнедеятельность высших животных и человека. Выявление их стало задачей психологов. Одной из задач психоники должно было стать внедрение кибернетической методологии и математических моделей и методов в психологические исследования.

В Институте кибернетики Академии Наук СССР, в Киеве, подобные проблемы рассматривались на семинаре Н. М. Амосова.

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

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

Несколько отличный подход к решению задач по поиску интегральных моделей целесообразной деятельности были продемонстрированы в работах, был предложен А. В. Напалковым, возглавляющим биологический факультет МГУ[4].

В них преобладало понятие "эвристика". В 60-е годы — это понятие применялось в подавляющем большинстве исследований в области моделирования мыслительных процессов. Идея о том, что основной процедурой в целесообразном поведении является использование разнообразных приемов (эвристик), позволяющих резко сократить поиск альтернатив при поиске правильного решения. Усилия как психологов, так и специалистов по использованию компьютеров были направлены на поиск и изучения приемов сокращения переборов для решения невычислительных задач.

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

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

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

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

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

Одним из достижений кибернетике стало распознавание образов в 60-х и первой половине 70-х годов, что дало возможность разработать занимательные и полезные с точки зрения программы. Так как эти программы имели большое практическое применение, то для их создания привлекали многих специалистов и целые коллективы.

Коллективы под руководством М. М. Бонгардом и Ю. Я. Журавлева достигли значительных результатов в этой области. Их результаты во многом превосходили зарубежные результаты.

Задача распознавания образов делится на два этапа.

Первый этап заключается в необходимости выбора набора признаков, которые позволят разделить объект на нужные классы. На следующем шаге нужно найти эффективную процедуру классификации для данных признаков. До М. М. Бонгарда усилия были направлены на реализацию второго этапа распознавания, исходя из предположения, что успешный отбор признаков уже осуществлен. Но главная сложность задач распознавания образов скрывается на первом этапе их решения. Заслугой Бонгарда и его сотрудников стало создание процедур выявления характерных черт на основе индуктивного обучения. Результаты этой работы были изложены в монографии «Проблема узнавания» ставшей на долгое время сборником идей и методов в задачах распознавания образов. Зарубежные ученые смогли добиться аналогичных результатов только спустя несколько лет, после выхода данной монографии.

Несколько исследовательских групп в области распознавания образов работало в Институте проблем управления. Три разработанных метода входят по праву в мировую сокровищницу процедур распознавания:

— метод потенциальных функций,

— метод статистических оценок и

— метод разделения классов с использованием гиперплоскостной системы.

Большой вклад в теорию распознавания образов внесли работы Ю. И. Журавлева и его ученики. Ю. И. Журавлевым в первые в мире была дана точная постановка задачи распознавания образов. В связи с этим стало возможным качественно оценить предложенные алгоритмы распознавания образов. При этом выбрать и применить к конкретной задачи наиболее эффективный алгоритм. Школа Ю. И. Журавлева до сих пор занимает лидирующие позиции в мировом сообществе в этой области информатики.

Модельная теория мышления, разработанная в работах В. Н. Пушкина, послужила основой для разработки метода ситуационного управления большими системами. Этот метод, появившийся во второй половине 60-х годов, во многом предвосхитил технологию решения задач в системах, основанных на знаниях (эта технология появилась в исследованиях по искусственному интеллекту только в середине 70-х годов в экспертных системах). С помощью метода ситуационного управления был решен ряд практических задач, и его использование продолжается до настоящего времени. Важность работы по управлению ситуацией в нашей стране очень велика. Большое количество специалистов, занимающихся разработкой этого подхода и его применением для решения практических задач (за десятилетие деятельности "ситуационного движения" в 1967-77 годах было проведено около двух десятков конференций, симпозиумов и школ, через которые прошло несколько сотен специалистов), были подготовлены к немедленному переходу на технологии искусственного интеллекта, как только они появились в начале 70-х годов.

После успехов в области создания переводчиков ТА-1, ТА-2 и" Альфа " в 1964-65 гг., отечественные исследования в области автоматизации программирования продолжали сохранять высокие темпы развития. В Москве, Новосибирске и Киеве работали команды, которые обеспечивали высокий уровень соответствующих программных продуктов.

В СССР был создан алгоритмический язык РЕФАЛ, в основе которого лежала теоретическая модель процесса, реализованная с помощью обычных Марковских алгоритмов. Его использование в нашей стране позволило создать ряд оригинальных программных продуктов, не имеющих аналогов за рубежом. К сожалению, РЕФАЛ пережил судьбу многих отечественных находок. За рубежом он не был признан по причинам, далеким от науки, а в нашей стране, после вынужденной эмиграции его создателя, им пользовалась лишь небольшая часть программистов и постепенно утратила свои позиции.

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

К сожалению, к началу развития вычислительной техники третьего поколения (60-е годы) в нашей стране отсутствовала парадигма совместимости программного обеспечения. Талантливые разработчики компьютеров и программного обеспечения для них работали отдельно, вне рамок какой-либо государственной программы и требований стандартизации. Это привело сначала к потере темпа, затем к отставанию и, наконец, к роковому для отечественной информатики копированию в СССР и Восточной Европе разработок IBM. После этого наши достижения в области программирования, операционных систем, языков программирования практически сходят на нет, что отмечают зарубежные специалисты.

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

Отечественные специалисты первыми в мировой науке дали постановку и предложили первые решения таких задач, как сегментация алгоритмов и программ, планирование выполнения больших программ на компьютерных системах, динамическая диспетчеризация потока программ и программных сегментов, асинхронная организация процессов. В это время было предложено несколько оригинальных моделей для параллельных вычислений, заново переоткрытых затем в США и других странах во второй половине 60 - х кибернетические модели управления и методы решения сложных задач на компьютере стали активно внедряться в реальные системы управления самых различных уровней. Эта инициатива была активно поддержана правительством в виде значительного финансирования государственных программ по созданию систем автоматического управления для предприятий, отраслей, регионов и национальных систем. Программы развития сетей передачи и обработки информации, которые должны были охватить всю страну, были связаны с глобальной идеологической программой построения коммунистического общества. Эти "наполеоновские" планы не были подкреплены необходимой технической базой и были обречены на провал. Но, как ни странно, некоторая польза от этого движения все же была. Были созданы многие десятки отраслевых и региональных институтов, вычислительных центров на предприятиях и в различных организациях, что потребовало массовой подготовки специалистов, способных работать во вновь создаваемых учреждениях. Была организована подготовка специалистов по автоматизированным системам управления различного профиля, что в дальнейшем позволило сделать информатику массовой профессией. Наконец, были получены новые результаты в области информатики и управления в крупных технических, экономических, организационных и социальных системах, которые вошли в научный оборот.

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

С выходом сборника в 1986 году «Кибернетика. Становление информатики», пришло понимание что само понятие кибернетика уходит в прошлое, а на ее место приходит информатика. Однако не стоит забывать, что кибернетика «мать» информатики.

Этот сборник открывается статьями тогдашнего президента АН СССР А. П. Александрова и вице-президента Е. П. Велихова. В этих статьях велась речь о ведущей роли информатики для развития человеческого общества в грядущем столетии. Термин «кибернетика», который широко использовался в эпоху бурного развития кибернетики с конца 50-х-начала 60-х гг., постепенно практически исчез из обращения. На смену ему в 80-е годы пришел термин информатика, который широко используется в настоящее время и охватывает практически все сферу использования компьютеров.

Глава 2. Современные этапы развития программирования в Российской Федерации

2.1. Внимание на проект «Сделано в России»

Для изучения современного развития программирования в РФ необходимо отдельно обратить внимание на проект «Сделано в России» — отечественный язык для веб-разработки. Проект разрабатывался в Екатеринбурге, и не является локализацией Запада, что очень редко, так как языков программирования, разработанных нами, не так много.

WBASIC-это аббревиатура для универсального символьного кода инструкции Web Beginner. Язык программирования высокого уровня, используемый для разработки серверных веб-приложений. Это диалект основного языка, разработанный с учетом работы в Интернете в 2017 году, и синтаксис языка в 1964 году[5].

Философия языка - это должно быть легко для начинающих. И я надеюсь, что мне это удалось. Вся документация по языку укладывается сегодня всего в 9 разделов и освоить их можно за один-два дня.

История проекта

Начало разработки - 23 марта 2017 года. Прототип был написан примерно за месяц.

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

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

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

Начало разработки-20 апреля 2017 года. Релиз-ориентировочно май 2017 года.

Основные недостатки предыдущей версии — отсутствие кэширования в компиляторе, код компилировался все время перед запуском. Просто небольшой набор собственных функций. В этой версии прозрачный кэш сделан на временных файлах, что значительно повысило производительность. Для этого пришлось полностью переписать отладку, включить команды, не считая самого компилятора. INCLUDE теперь подключает файлы только во время выполнения этой команды, с проверкой кэша, как в PHP.

Кроме того, был улучшен сервисный парсер символов, с прямым и обратным просмотром символов, который изменил действие "=" и " ( " , is, ISNOT, ISSET и пустые команды появились. Теперь " = " означает назначение аргументов в определенных командах и проверку равенства в выражениях типа IF... как в основном. Вызов подпрограммы определяется именем и сопровождается символом" (". Вы также можете проверить наличие переменных, наличие данных и их типов и удалить их.

Были и служебные константы. Всего было добавлено около 200 команд и зарезервированных слов с константами.

Преимущества и недостатки.

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

Производительность примерно равна PHP7, стиль разработки такой же, как и в PHP-редактируем файлы на сервере, открываем страницу, видим результат, компилятор работает сам по себе совершенно прозрачно.

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

На сервере обязательно должен быть установлен PHP, можно 5 или 7 версий. Но, поскольку компилятор написан на PHP вы можете использовать помимо 200 wbasic команд любую из 1500 PHP функций, хотя это выглядит как хак и вам может даже не понадобиться, так как набор уже существующих функций переопределяет потребности среднего приложения. PHP также изначально был написан на Perl, но это не помешало его распространению.

Все строковые команды языка полностью поддерживают UTF-8, а документация полностью на русском языке.

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

FOR I = 100 STEP -1 TO 0

FOR I = 0 TO 100 STEP 10

Если вы изучили Visual Basic, вы можете переключиться на WBASIC без проблем, большинство команд и синтаксис одинаковы.

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

2.2. Развитие языков программирования в Российской Федерации

Изначально программирование имело крайне примитивный вид и практически не имело отличий от упорядоченного бинарного кода с формализованным подходом. По сути, при зарождении сферы отличий языка программирования от компьютерного кода было немного. Очевидных и естественных удобств для программиста не существовало, он обязан был обладать знаниями числовых кодов для каждой команды машины. Даже распределение памяти для выполнения команд ложилось на специалиста.

Для упрощения обращения с ЭВМ люди стали активно разрабатывать языки, одним из первых стал Ассемблер. Для отображения переменных стали использоваться символьные наименования. Вместо числовых операций человеку достаточно знать мнемонические имена, их запоминание в разы облегчалось. Уже на этом этапе языки программирования стали более приближёнными к понятному для человека языку.

К первооткрывателям среди языков программирования относится Фортран – это сокращённое сочетание 2 слов: Formula и Translation. Создан уже в середине 50-х. До сих пор язык используется благодаря лёгкости и простоте написания, а также развитой системе библиотек для Фортран[6]. Чаще используется для научных и инженерных подсчётов, а также активно применяется в физичке и остальных науках, связанных с математикой.

Узконаправленные языки.

Из-за увеличения сфер использования ЭВМ появились и другие языки для отдельных разработок в новых сферах:

экономическое направление оставалось незанятым до появления Кобол;

Снобол – обрабатывает алгоритмы, связанные с текстами;

Лисп. Работает на основании алгоритмов для отработки символов. Активно используется для формирования искусственного интеллекта.

Уже в 1968 г. был впервые запущен конкурс, в котором главным местом являлось звание лучшего языка программирования для начала карьерного пути. Данные планировалось использовать для обучения специалистов. Победу одержал Алгол-68, но он остался малоизвестным, о популярности и речь не идёт.

Специально для участия в конкурсе был создан Паскаль, разработчиком являлся Никлаус Вирт. Язык весьма доступный, удобный и объединяет немало мощных инструментов для структурирования информации. Несмотря на изначальную разработку с целью обучения студентов, Паскаль получил широкое распространение и активно развивался. Даже сегодня он является одним из лучших и известнейших языков программирования.

Для обучения детей в школах был создан Лого, у истоков стоял Самуэль Пайперт. Достоинства – простота работы и обилие возможностей.

В школах стал преподаваться простой язык Бейсик, он легко взаимодействует с ЭВМ в качестве прямого диалога. Время никак не повлияло на эту сферу, до сих пор Бейсик является самым простым языком для начала изучения большинства распространённых направлений программирования.

Создание языка C

Развитие возможностей вычислительного оборудования привело к необходимости написания ёмких программ для управления ЭВМ. Это место по праву занял язык Си, который стал активно использоваться в 70-х годах. Явным достоинством языка является его универсальность. Он превосходит Паскаль благодаря наличию вложенных возможностей сотрудничества с разными машинными командами и подходящими частями памяти. 

Си используется повсеместно в качестве инструментального языка для написания операционных платформ, трансляционных устройств, баз данных и остальных прикладных, системных задач. Си не имеет чёткой направленности, он подходит для многих задач из-за эффективности, лёгкости переноса и экономного потребления ресурсов. Чаще всего Си по скорости обработки данных сопоставим с Ассемблером, производительность программ на обоих языках будет приблизительно равной. В небольшом языке заложена немалая мощность.

Пролог и Ада

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

Только в 80-х годах был разработан язык Ада. Он расширяет классическое понимание и свойства языков того периода. Ада могла решать задачи в режиме реального времени и моделировать независимые решения.

Классификация

Сегодня разработаны классификации языков по уровню работы, это распределение самое распространённое. Выделяют 3 основных уровня:

Низкий. Сюда относятся различные машинные языки или разновидности с символическим кодирование типа Ассемблера и Автокода. За основу взяты операторы машинных команд, только разработаны с привязкой к мнемоническому коду. Операндами являются уже не точные адреса, а символьное обозначение имён. Все модели разработаны для отдельных разновидностей ПК, они являются машинно-зависимыми. В подобных языках отмечается сильная зависимость языка от внутренних особенностей системы;

Высокий. Языки встречаются куда чаще, они более удобны в использовании. К ним причисляются: Алгол, С, Пролог, Паскаль, Бейсик, Фортран и другие. Перечисленные языки не имеют жёсткой зависимости от машины, ведь они основываются на возможностях системы операндов, которые подобны для классовых алгоритмов. Недостатками высокого уровня являются большая ресурсоёмкость и медленное исполнение;

Сверхвысокий. Представителей языков крайне мало, только APL и Алгол-68. Их считают сверхвысокого уровня из-за разработки сверхмощных операторов.

Согласно другой классификации языки делятся на:

Символьные – Пролог, Лисп и Снобол;

Вычислительные – Паскаль, С, Алгол, Бейсик, Фортран.

Направления развития

Информатика в современном мире развивается в 3 ключевых направлениях:

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

Структурные. В них используется один оператор для записи цельных алгоритмом: циклов, функцию, ветвлений и остального. Более известны: Паскаль, Ада и С.

Операционные. Применяют несколько различных действий. Среди самых известных разновидностей: Фокал, Фортран и Бейсик.

Непроцедурные. Языки программирования имеют декларативную структуру, появление которой приходится на 70-е года. Активнее всего начали развиваться в 80-х годах после появления проекта формирования 5 поколения ЭВМ. Основная задача – создание возможностей для построения высокоинтеллектуальных машин. Они также разделяются на:

Функциональные. Программа выполняет исчисление определённой функции, которая берёт за основу другие относительно простые алгоритмы и более простые задачи. В основе функционального направления используется основной элемент – рекурсия. Она подразумевает расчёт значений функции с помощью задействования её в других элементах. В языке отсутствуют циклы и методика присваивания значений.

Логические. Программа вовсе не требует описание действий, её основу составляют соотношения данных и их значения. Только после расчёта можно получать ответы на вопросы. После перебирания известных параметров выводится ответ. В программе отсутствует метод или порядок обнаружения ответа, он неявным образом устанавливается языком. Ярким представителем является Пролог. Из направления полностью устранено алгоритмическое мышление, только статические отношения между объектами, а вся динамика сокрыта от разработчика и сводится к перебору данных.

Объектно-ориентированные языки, все они являются разновидностью высокого уровня программирования. Подобные языки не нуждаются в описании чёткой последовательности манипуляций для получения результата задачи, но отдельные компоненты процедурного направления присутствуют. Пользователям значительно проще работать с такими языками, так как они обладают доступным и богатым интерфейсом. Лучшим примером подобного направления с визуальным общением является Object Pascal.

Существуют языки для написания сценариев, известными являются Rexx, Tcl, Perl и Python, а также языки оболочек систем Unix. В них разрабатывается индивидуальный стиль написания кода, который отличается от известного принципа системного уровня программирования. Они не используются для создания приложений на нижнем уровне, скорее для комбинирования различных компонентов из разных языков, из которых составляется набор отдельных функций.

Заключение

В данной курсовой работе мы ознакомились с историей развития программирования в нашей страны. Программирование в нашей стране прошло сложный путь. От откровенной травли до безоговорочной поддержки руководством нашей страны. Технологическое отставание нашей страны в начале 70-х годов от стран запада негативно сказалось на развития программирования в СССР, однако при этом стоит отметить, что теоретические разработки наших ученых намного опережали западные аналоги.

С распадом Советского Союза программирование в нашей стране и вовсе сошло на нет. Многие талантливые программисты покинули страну.

Однако в последнее время в связи с ростом экономики страны, возвращается интерес к информационным технологиям, а значит профессия программист становится все востребования и востребования в нашей стране.

Список использованной литературы

  1. Абрамов, С.А. Математические построения и программирование / С.А. Абрамов. - М.: Наука, 2016. - 192 c.
  2. Амосов Н. М. Моделирование мышления и психики. Киев: Наукова думка, 1965.
  3. Антопольский, А.Б. Информационные ресурсы России: Научно-методическое пособие / А.Б. Антопольский. - М.: Либерия, 2014. - 424 c.
  4. Гергель, В.П. Современные языки и технологии параллельного программирования: Учебник/ предисл.: В.А. Садовничий. / В.П. Гергель. — М.: Изд. МГУ, 2016. — 408 c.
  5. Голицына, О.Л. Языки программирования: Учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. — М.: Форум, НИЦ ИНФРА-М, 2017. — 400 c.
  6. Кауфман, В.Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. — М.: ДМК, 2017. — 464 c.
  7. Ляпунов А. А. О некоторых общих вопросах кибернетики // Проблемы кибернетики, 1958, вып. 1, с. 5-22.
  8. Ляпунов А. А., Янов Ю. И. О логических схемах программ // Проблемы кибернетики, 1958, вып. 1, с. 46-74.
  9. М. В. Донской. О программе, играющей в шахматы // Проблемы кибернетики, 1974, вып. 29, с. 169-200.
  10. Макарова Н. В. Информатика: Учебник для вузов. Издательство: Питер, 2013, 576с.
  11. Н. Винер. Кибернетика или управление и связь в животном и машине. 2-е изд. М.: Советское радио, 1968.
  12. Неслуховский, К.С. Пособие по программированию для ЭЦВМ "Минск-32" / К.С. Неслуховский. - М.: Советское радио, 2016. - 296 c.
  13. Угринович, Н. Информатика и информационные технологии / Н. Угринович. - М.: Бином. Лаборатория знаний,2017. - 512 c.
  14. Чернобаев, А. А. История России для технических вузов: учебник для бакалавров / [А. А. Чернобаев (и др.)]. – Москва: Юрайт, 2014. – 639 с.
  1. Угринович, Н. Информатика и информационные технологии / Н. Угринович. - М.: Бином. Лаборатория знаний,2017. - c.117

  2. Антопольский, А.Б. Информационные ресурсы России: Научно-методическое пособие / А.Б. Антопольский. - М.: Либерия, 2014. - c.39

  3. Кауфман, В.Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. — М.: ДМК, 2017. — c.49

  4. Макарова Н. В. Информатика: Учебник для вузов. Издательство: Питер, 2013, - с.149

  5. Угринович, Н. Информатика и информационные технологии / Н. Угринович. - М.: Бином. Лаборатория знаний,2017. - c.216

  6. Гергель, В.П. Современные языки и технологии параллельного программирования: Учебник/ предисл.: В.А. Садовничий. / В.П. Гергель. — М.: Изд. МГУ, 2016. — c.230