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

История развития программирования в России

Содержание:

Введение

Актуальность исследования. Россия является государством с огромной территорией и большими запасами природных ресурсов. Наиболее важными составляющими ВВП России является топливно-энергетический комплекс, экономически индустрия программирования практически незаметна. Однако помимо лидерства на товарном рынке Россия занимает одну из первых позиций в мире по числу технических специалистов. Согласно данным World Bank/UNESCO, более миллиона человек в стране работают в сфере научных исследований. У РФ есть все шансы, чтобы приумножить силу на международном рынке программирования.

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

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

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

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

Современный этап отечественного программирования в основном ориентирован на удовлетворение реальных потребностей массового пользователя. Возникает противоречие исследования: с одной стороны, Россия в советские годы славилась своими «умами», которые внесли колоссальный вклад в развитие программирования, в том числе, и на международном уровне, особенно, в программировании для военной обороны страны, с другой стороны, сегодня программирование в России ассоциируется всего лишь с небольшими разработками для местного назначения (например, программа 1С).

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

Объект исследования - программирование как научная отрасль.

Предмет исследования – программирование в России.

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

Поставленная цель подразумевает решение следующих задач исследования:

  1. Рассмотреть понятие и сущность программирования.
  2. Проанализировать наличие языков программирования, основанных на русском языке.
  3. Изучить вклад российских программистов в развитие программирования.
  4. Рассмотреть основные этапы развития отечественного программирования.
  5. Проанализировать современное состояние программирования в России и определить тенденции для дальнейшего развития.

В курсовой работе использованы труды А.П. Ершова, А.А. Ляпунова, А.И. Китова и др.

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

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

Вторая глава посвящена рассмотрению вклада российских программистов в историю развития программирования.

В третьей главе приведены основные этапы развития программирования в России, а также сделан вывод о современном состоянии данной отрасли и основной тенденции развития.

В заключении подведены общие результаты исследования и сделаны основные выводы по проделанной работе.

Глава 1. История возникновения ЭВМ и программирования

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

Программирование - это процесс написания компьютерных программ и программного обеспечения с использованием языков программирования.

Другими словами программирование рассматривается как перекодировка - реализация взаимосвязанных алгоритмов на языке программирования.

В более широком понятии, программирование - это система создания программ, то есть разработка программного обеспечения.

Современное состояние отрасли диктует следующее понятие «программы» - описание на языке программирования структур данных и алгоритм решения задачи, который автоматически переводится с помощью специальной программы-переводчика (компилятора или интерпретатора) на командный язык компьютера для последующего исполнения. Можно сказать, что компьютерная программа является одним из способов реализации концепции алгоритма, а язык программирования является средством описания алгоритмов. Компьютерная программа обладает собственными элементами данных, с которыми она выполняет действия, и которые являются ее неотъемлемой частью.

Алгоритмическая составляющая программы — описание определенной последовательности исполняемых действий — обычно состоит из операторов, определяющих эту последовательность действий. Программа основана на определенном наборе команд и операций над данными (арифметические действия, присваивание значения переменной и т. д.) соответствующий набору команд процессора, на котором он выполняется. [12]

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

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

Программирование включает в себя:

- анализ;

- разработка алгоритма (проектирование);

- кодирование и компиляция - написание исходного кода программы и преобразование его в исполняемый код с помощью компилятора;

- тестирование и отладка - обнаружение и устранение ошибок;

- техническое обслуживание. [11]

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

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

1.2 Предпосылки возникновения ЭВМ и алгоритмов для управления

Рассмотрим основные вехи в истории устройств, которые стали предпосылками для появления ЭВМ. [12]

Для визуализации информации отразим данные в таблице 1.

Таблица 1 – Основные предпосылки возникновения ЭВМ

Год

Событие

205 год до н.э. (150 год до н.э.)

Антикитерский механизм из Древней Греции – калькулятор.

1206г.

Создание автомата-гуманоида.

1500г.

Была создана схема подобного арифмометру механизма (Леонардо да Винчи)

1623г.

Еще один вариант арифмометра был создан Вильгельмом Шиккардом.

1804г.

Создание жаккардового ткацкого станка.

19 июля 1843 года

Чарлз Бэббидж разработал «Аналитическую машину» — первая программируемая вычислительная техника

1843г.

Графиня Ада Августа Лавлейс написала первую в мире программу для Аналитической машины.

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

Первая электронно-вычислительная машина на основе электронных вакуумных трубок с нитью накала была создана по заказу артиллеристов в Университете Пенсильвании в 1946 году - машина ENIAC (электронный числовой интегратор и компьютер).[12]

Основные принципы организации ЭВМ по Дж. Фон Нейману:

1. Двоичная кодировка.

2. Управление программой.

3. Хранения программы.

4. Единообразия представления чисел и команд.

5. Иерархии памяти.

6. Обращения к основной памяти.

Структура ЭВМ, предложенная Дж. фон Нейманом, состоит из следующих элементов: управляющее устройство, арифметическое устройство, основную (оперативную) и внешнюю память, устройство ввода программ и данных, устройство вывода результатов расчетов, пульт ручного управления. [11]

Структура фон-неймановской ЭВМ показана на рис. 1.

Рисунок 1 – Структура фон-неймановской ЭВМ

Начиная с 1950 г. каждое десятилетие значительно обновлялись конструктивно-технологические и программно-алгоритмические принципы построения и использования ЭВМ. В связи с этим правомерно говорить о поколениях вычислительных машин. Условно каждому поколению можно отвести 10 лет. Таким образом, данный этап развития программирования можно назвать началом становления программирования как научной дисциплины.

1.3 Становление программирования в России как научной дисциплины

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

Профильная научная деятельность в области программирования в СССР началась в 1950 году. Она была инициирована Л. А. Люстерником, который организовал специальный семинар по программированию на кафедре приближенных вычислений ИТМ. Работа продолжалась параллельно с разработкой машины БЭСМ и завершилась написанием одной из первых в мире монографий, посвященных программированию. Книга была частью бухгалтерского описания машины БЭСМ, опубликованной в нескольких томах в 1952 году. Эта книга вырастила все первое поколение советских программистов.[8]

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

Работы по прикладной математике в МИАН были сосредоточены под руководством М. В. Келдыша на кафедре прикладной математики (ОПМ), которая впоследствии стала отдельным институтом прикладной математики. В составе кафедры в 1953 году был организован первый в СССР отдел программирования.

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

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

В 1955 году был создан Вычислительный центр Академии наук СССР для проведения научных работ в области машинной математики и предоставления открытых вычислительных услуг другим организациям Академии наук. Его директором был А.А. Дородницын, также избранный в 1953 году в качестве полноправного члена АН СССР.

В 1952 году начал работу в области программирования в отделе приближенных расчетов Ленинградского филиала МИАН (ЛОМИ), который возглавлял Л.В. Канторович, ранее известный своими работами по функциональному анализу и новаторскими исследованиями в области линейного программирования.

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

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

Именно А. А. Ляпунову принадлежит заслуга формирования в СССР взглядов на программирование как научную дисциплину.[10]

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

Глава 2. Русские программисты, внесшие вклад в историю развития программирования

Первые разработки ЭВМ в СССР, использование машинных кодов

Развитие программирования в СССР в довоенный период соответствовало мировым тенденциям в области электронно-вычислительных машин. Первые шаги в данном направлении были сделаны С. А. Лебедевым еще в 40-ые годы ХХ века. В 1933 году П.С. Ждановым и С.А. Лебедевым была написана первая в мире монография, посвященная устойчивости параллельной работы электрических систем. Уже в 1934 году под отдел автоматики ВЭИ им. Ленина запустил в работу первую в стране модель сетей переменного тока, по сути, первую аналоговую вычислительную машину.

Являясь одним из основоположников разработок ЭВМ в СССР, Лебедев, как и многие учёные, вынужден был перейти на военную деятельность с 1941 году, стал автором систем стабилизации танкового орудия и самонаведения авиационной торпеды. Вернувшись к научной деятельности, им была создана первая аналоговая вычислительная машина для решения дифференциальных уравнений. [9]

Во главе Института энергетики АН УССР в 1948-1950 годах была создана первая в СССР и Континентальной Европе Малая электронная счетная машина (МЭСМ). Среди возможностей были арифметические действия с вводимыми данными посредством перфокарт. Площадь, занимаемая МЭСМ, была весьма значительной около 60 м2. Для создания БЭСМ (Большой электронной счётной машины) Лебедев был приглашен в Москву в Институт точной механики и вычислительной техники, руководителем которого он стал в 1952 году. Данная модель являлась самой быстродействующей в Европе на конгрессе в Дармштадте, но уступила по нескольким параметрам машине от IBM. Всего им было создано 15 типов ЭВМ, включая первые разработки серии суперкомпьютеров «Эльбрус». Именно достижения С.А. Лебедева стали причиной развития программирования в СССР.

Одним из первых попыток в программировании в СССР с ПП-1, созданной для БЭСМ и СТРЕЛЫ. Молодые программисты С.С. Камынии и Э.З. Любимский исследовали реализуемость операторных схем и возможность автоматического построения соответствующих машинных программ. Это было самое начало, и то, что стало очевидным и даже тривиальным сейчас, считалось тогда проблематичным. Законченная в 1954 году программирующая программа ПП-1 являлась одним из первых в мировой практике трансляторов и имела самый высокий уровень входного языка.[9]

1950 стал годом появления программирования в СССР. Запуск МЭСМ обозначил необходимость создания управляющих программ. Одним из основоположников советского программирования стал А.П. Ершов, молодой ученый участвовал в разработке программ для БЭСМ и последующих разработок Лебедева. Монография «Программирующая программа для быстродействующей электронной счетной машины» стала первым фундаментальным научным изданием в СССР по программированию. При непосредственном участии А. П. Ершова были созданы следующие профессиональные и учебные языки программирования: Альфа, Альфа-6, Бета, Лексикон, система АИСТ, Школьница, Рапира, Русский Алгоритмический язык. Созданный легендарным советским программистом «Основы информатики и вычислительной техники» стал первым учебником по работе с ЭВМ и одновременно отправной точкой для преподавания в советских школах нового предмета.

Операторный метод А.А. Ляпунова

Группа молодых ученых, возглавляемая А.П. Ершовым, представила один из первых трансляторов (программирующую программу) — ПП для БЭСМ. Входной язык состоял из арифметических и логических операторов, напоминающих операторы выбора, используемые в наше время. Наиболее важными элементами ПП стали операторы цикла и индексные переменные. Текст программы на входном языке не разделялся на схему и спецификацию операторов, а представлял собой линейный текст без форматирования, в котором операторы отделялись «;».

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

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

Суть операторного метода заключалась в новых принципах представления алгоритмов. Особое внимание было уделено доказательству того, что традиционные языки теории алгоритмов, такие, как машины Тьюринга, продукции Поста, алгоритмы Маркова, рекурсивные функции и другие, могут быть успешно применимы для исследования природы вычислимости, но не практичны для описания алгоритма в форме, удобной для решения задач. В революционном методе реализована идея «крупноблочного» описания алгоритма, открывающая путь к новым формализациям алгоритмов. Задачу строгого описания новой методики, которая сопровождалась бы доказательством её адекватности, Алексей Андреевич поставил перед своим аспирантом А.П. Ершовым, и она была решена в его диссертации. В новом подходе был отражен вклад Ляпунова в теорию алгоритмов. Язык логических схем вырос из бытующего в то время блок-схемного описания программы. [12]

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

Так возникли понятие оператора переработки информации и понятие логического условия, которое проводит акт проверки информации, чтобы определить порядок выполнения команд. Логическая схема, описывающая алгоритм, представляет собой строку из операторов и логических условий, снабжённых стрелками перехода. Выполнение логической схемы осуществляется применением к ней единой процедуры и показывает фактическое использование всех операторов. [7]

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

2.3 Мировое признание деятельности А.И. Китова

Первая советская наиболее известная в определенных кругах книга по программированию, электронным компьютерам и их различным приложениям была опубликована в начале 1956 года в виде монографии А.И. Китова и называлась «Электронные цифровые машины». Особенно примечательной выступает последняя часть данной книги, которая посвящена «Неарифметическому использованию ЭВМ» - использованию компьютеров в рамках управления производства, создания алгоритма для получения ответов в экономике и т.д. Книга была переведена на достаточно большое количество иностранных языков и издана в США, Китае, Польше, Чехословакии и других странах. [4]

Спустя полгода в том же 1956 году была издана под редакцией А. И. Китова книга А. И. Китова, Н. В. Криницкого и П. Н. Комолова «Элементы программирования» (для ЭВМ). Эта фундаментальная работа в области программирования стала второй в СССР публичной монографией, посвященной актуальным вопросам программирования. В заключение эта книга провозгласила: «Широкое использование этих машин (компьютеров) поднимет на новый беспрецедентно высокий уровень производства всех видов продукции в нашей стране, значительно улучшит материальное благосостояние нашего народа и значительно усилит оборону нашей страны» [5]. Эти две книги покрывали огромный дефицит литературы по компьютерам и программированию, существовавший в СССР в эти годы.

Опубликованная в 1959 году книга «Электронные цифровые машины и программирование» А. И. Китова и Н. А. Криницкого стала первым советским официальным учебником по компьютерам и программированию, он был официально одобрен МО СССР в рамках образования студентов. Именно благодаря этому труду в области программирования многие поколения студентов университетов страны получили свое образование, которое позволило стать им профессионалами в своем виде деятельности. [5]

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

Глава 3. Развитие российской индустрии программирования

3.1 Языки программирования, созданные в России

Язык программирования РЕФАЛ. Первая версия REFAL была создана в 1966 году Валентином Турчиным в качестве метаязыка, служившего для описания семантики других языков. Впоследствии, в результате появления довольно эффективных реализаций на компьютере, он начал находить практическое применение в качестве языка программирования. В настоящее время основными диалектами языка являются РЕФАЛ-2, РЕФАЛ-5 и РЕФАЛ+, которые по сути отличаются деталями синтаксиса и набором дополнительных инструментов, расширяющих исходную версию.

Язык программирования Алмо. Язык системного программирования (машинно-ориентированный язык) был задуман как язык-посредник для перевода с разных языков. Идея заключалась в том, что для каждой аппаратной платформы было достаточно написать переводчик для Алмо, и появляется возможность работать с различными языками программирования, которые транслировались в Алмо.

Система программирования Сигма. В истории языка Сигма было три реализации: на M-20, на БЭСМ-б и на самом языке Сигма. Первая, конечно, самая запоминающаяся, потому что она была признанной первой работой в области программирования.

Система программирования БЕТА. Центральным элементом проекта БЕТА был внутренний язык, который должен был стать единственным промежуточным языком в бета-системе, «самым большим общим делителем» языков ввода и «наименьшим общим множеством» машин вывода. В дополнение к этой роли промежуточного языка, который позволяет сократить число путей в схеме m-языкового n-машинного перевода с m * n до m + n, внутренний язык должен был также быть средой оптимизации преобразований, т.е. он должен был быть достаточно богатым, чтобы иметь возможность представить результаты оптимизации; например, сохранение соответствующих подвыражений в операторе a [i, j, k]: = b [i, j, k] + c [I, j, k]. В результате была внедрена система BETA для языков Симула-67, Паскаль, Модула-2, Ada (подмножество) и машин вывода БЭСМ-6 и СМ-4. Был реализован скромный набор оптимизаций - несмотря на обширные планы, более скромные, чем в системе Альфа. [12] В целом, по сравнению с Альфа-системой, проект БЭТА многие исследователи считают неудачным.

3.2 Выдающиеся лица в области программирования в РФ

История российского программирования омрачена введением «Единой системы» - советские ЭВМ стали копией американских производства компании IBM. Удивление вызывает факт принятия подобного решения сразу после демонстрации БЭСМ-6 в 1967 году, которая по современным оценкам превосходила конкурентов из США. Изменение курса страны в области вычислительной технике стало приговором для собственных разработок, претендовавших на лидерство в данной области науки. Серия суперкомпьютеров «Эльбрус», проект которых актуален и в наше время, является достижением ученых СССР той эпохи. Потенциал российского программирования не был реализован полностью, но несмотря на это, среди лучших специалистов и лиц, достигших большого успеха, встречаются и наши соотечественники. [11]

Сергей Алексеевич Лебедев – один из основоположников советской вычислительной техники. Созданная им БЭСМ-1 стала первопричиной зарождения программирования в СССР. БЭСМ-6, сданная Лебедевым в 1967 году, стала уникальной для своего времени, серийное производство которой длилось более 20 лет.

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

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

Екатерина Логвиновна Ющенко – первая женщина доктор физико-математических наук, создатель одного из первых языков программирования высокого уровня в СССР.

Анатолий Иванович Китов – советский ученый в области вычислительной техники. Автор первой в Советском союзе специализированной литературы о ЭВМ.

Лев Николаевич Королев – заслуженный профессор МГУ, бессменный заведующий кафедрой вычислительной математикой и кибернетики. Разработчик первой советской мультипрограммной операционной системы «Диспетчер-68», ставшей прорывом для советского программирования.

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

Пажитнов Алексей Леонидович – российский программист, получивший мировую известность благодаря придуманной им игре «Тетрис». Американские и британские компании «сражались» за право на данную программу, ставшую легендарной и популярной во многих странах.

Игорь Анатольевич Данилов – автор легендарной антивирусной системы Doctor Web. Обладатель многочисленных наград в области противодействия компьютерным вирусам.

Сегалович Илья Валентинович – создатель и совладелец компании Яндекс. Автор поисковой системы составляющей серьезную конкуренцию мировому монополисту Google на территории СНГ.

Евгений Валентинович Касперский – российский программист, один из мировых ведущих специалистов в сфере компьютерной безопасности. Основатель АО «Лаборатория Касперского», реализующей свою продукцию более чем в 200 странах.[1]

3.3 Идеологические проблемы кибернетики и математической логики в СССР

Все фундаментальные исследования и разработки, которые могли быть использованы в военной сфере в СССР, были скрыты от широкой публики завесой секретности. Поэтому первая научная монография по компьютерной теории и программированию имела «гриф» и выдавалась лишь по предъявлении документа о допуске к государственным секретам.

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

Первое преследование. Первой ласточкой стала статья, помещенная на страницах идеологического журнала «Вопросы философии» в марте 1950 года. В ней критиковались некоторые теоретические принципы математической логики, противоречащие, по мнению авторов, догматам материализма. Статья стала ответом на публикацию книг Д. Гильберта и В. Акермана «Основы теоретической логики» и А. Тарского «Введение в логику и методологию дедуктивных наук». Они послужили мишенью для идеологической критики.[1]

В 1953 году наступила очередь кибернетики. В четвертом издании «Краткого философского словаря» (1954) в статье «Кибернетика» эта наука была определена как «реакционная лженаука, возникшая в США после второй мировой войны и получившая широкое распространение и в других капиталистических странах; форма современного механицизма» [6].

Апофеозом наступления на кибернетику стала статья, напечатанная одном из номеров журнала «Вопросы философии» в 1953 году. Она была помещена в разделе, носившем название «Критика буржуазной идеологии» и называлась «Кому служит кибернетика». Написавший это, по-видимому, чувствуя некоторый страх, скрылся под псевдонимом «Материалист».

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

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

А. И. Китов и А. А. Ляпунов организовали серию выступлений на научных семинарах в академических институтах, высших учебных заведениях и в организациях, в которых методы кибернетики могли бы принести практическую пользу. [2]

В СССР знали, что статьи, появившиеся в таком органе, как «Вопросы философии», выражают официальную точку зрения. Одним из свидетельств этого явилось исключение погромного текста статьи «Кибернетика» при допечатке в 1955 году тиража 4-го издания «Философского словаря». Борьба против кибернетики была в основном закончена, люди, отстаивавшие новую науку, победили.

В истории Советского союза было принято большое число решений, правильность и справедливость которых остаются под большим вопросом. Одним из таких стало преждевременное закрытие проекта ЭВМ Мир, разработка которого велась в Академии Наук Украины под руководством Виктора Михайловича Глушкова. А.П. Ершов отметил, что продолжение работы по данному направлению привело бы к появлению в СССР лучшей в мире персональной ЭВМ.

В 1960 году был изгнан из партии и уволен из вооруженных сил А. И. Китов за прямое обращение к первому лицу государства, проигнорировав руководство Московской области, с предложением создания единой сети вычислительных центров.

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

В 1964 году был уволен, несмотря на квалификацию и множество научных достижений, Исаак Семенович Брук.

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

Серия компьютеров «Эльбрус» была спасена С. А. Лебедевым, который смог отстоять этот проект, который так и остался единственным актуальным на сегодняшний день достижением советских ученых и программистов.

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

3.4 Уровень развития современного программирования в России

Во многих оборонных комплексах РФ используются компьютеры серии «Эльбрус», разработка советских ученых. В качестве средства управления используются языки высокого уровня 80-х годов ХХ века, в частности Эль-76 авторства В. М. Пентковского. «Эльбрус» имеет собственную операционную систему и многочисленные программные компоненты. Проект компании «32-С», планируемый к запуску к 2020 году, должен быть оснащен 32 ядерным процессором с тактовой частотой 2 ГГц.

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

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

ЗАО «МЦСТ» на сегодняшний день является одним из лидеров на Российском рынке вычислительной техники благодаря деятельности в разработке «Эльбрус». Национальный курс на импортозамещение является отличной возможностью для внедрения разработок компании, которая по заявлениям и результатам государственных тестов в ближайшем будущем сможет предоставить на рынок качественный продукт по адекватной стоимости. Российская техника имеет полную совместимость с Мировыми стандартами и будет снабжена полным комплексом программного обеспечения для обычного и продвинутого пользователя.

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

«Эльбрус-2», созданный в период с 1977-1984 год советскими учеными, использовался в управлении следующими стратегическими объектами: Центр управления полетами, Системе ПРО второго поколения, радиолокационной станции Дон-2Н, система «Амур» противоракетной обороны г. Москва, закрытых военных городах Арзамасе-16 и Челябинске-70. Учитывая сложность мировой геополитической обстановки и возобновление соперничества между РФ и США, можно ожидать появление сильного конкурента американским компаниям в области компьютерной техники со стороны РФ. Возможно повторение ситуации Советского Союза, когда новейшие разработки ученых так и не дойдут до серийного производства для обычного населения, а останутся лишь в военных технология или в формате засекреченных технологий.

Заключение

В настоящей работе представлены результаты работы по выявлению и систематизации исторических источников и опубликованных работ по истории советских научных школ в области программирования. Данная работа проводилась в рамках исследования, посвященного истории становления и развития программирования в СССР и России. Анализу подвергались исторические источники, относящиеся к указанному периоду, нижней границей которого является время появления первых советских программ для ЭВМ, а верхней – момент распада Советского Союза; хронологические рамки историографии – 1958–2018 гг. – от появления первых отечественных публикаций по истории программирования до настоящего времени.

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

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

Был сделан вывод о том, что изучение истории развития программирования в России в контексте истории науки и техники хронологически можно разделить на два периода: 1958–1990 и 1990–2018 гг. Первый период историографии наиболее полно отражен в трудах математика и программиста Андрея Петровича Ершова, который происходящее в развитии вычислительной техники и программирования практически сразу оценил с исторических позиций. Фундаментальных публикаций во втором периоде особо не отмечено с точки зрения открытий, внесших переворот в данную область изучения; была принята единая система. Наибольшее число работ посвящено в основном истории ведущих советских академических школ программирования.

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

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

Список литературы

  1. Городняя Л.В., Крайнева И.А., Марчук А.Г. Библиография и источники по истории школ программирования в Академии наук СССР и ведущих советских ВУЗах (1950-2017)// Вопросы истории естествознания и техники: [Электронный ресурс]. URL: https://elibrary.ru/download/elibrary_29869229_78326394.pdf (Дата обращения: 10.02.2019)
  2. Ершов А.П., М.Р. Шура-Бура Становление программирования в СССР. Издание второе, дополненное. – Новосибирск: Институт систем информатики им. А. П. Ершова, 2016. – 79с.
  3. История отечественной электронной вычислительной техники. — М.: Столичная энциклопедия, 2014. – 576с.
  4. Китов Анатолий Иванович [Электронный ресурс]. URL: http://www.kitov-anatoly.ru/naucnye-trudy (Дата обращения: 10.02.2019)
  5. Китов А.И. Криницкий Н.А. Электронные цифровые машины и программирование. [Электронный ресурс]. URL: http://bookre.org/reader?file=1488160 (Дата обращения: 10.02.2019)
  6. Краткий философский словарь. – М.: Государственное издательство политической литературы, 1954. – 703с.
  7. Кривенко Д.А. История информатики в СССР [Электронный ресурс]. URL: http://bravit.rsu.ru/history/stud/USSR.pdf (Дата обращения 11.02.2019)
  8. Люстерник Л.А., Лаврентьев М.А. Основы вариационного исчисления. Том первый. Функции многих переменных [Электронный ресурс]. URL: http://bookre.org/reader?file=443842&pg=149 (Дата обращения: 10.02.2019)
  9. Отечественная электронная вычислительная техника. Биографическая энциклопедия. — М.: Столичная энциклопедия, 2014. – 400с.
  10. Рузайкин Г. И. Штрихи истории отечественной электронной вычислительной техники [Электронный ресурс]. URL: https://www.osp.ru/os/2015/01/13045331 (Дата обращения: 11.02.2019)
  11. Сидоров И. Эволюция ЭВМ // Военно-промышленный курьер [Электронный ресурс]. URL: https://vpk-news.ru/articles/19730 (Дата обращения: 11.02.2019)
  12. Эволюция языков программирования [Электронный ресурс]. URL: http://www.urtt.ru/bib/dataindex/oaip/lection/_html/lect_05.htm (Дата обращения: 10.02.2019)