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

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

Содержание:

Введение

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

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

Предмет исследования – история развития программирования в России. Цель работы: рассмотреть историю развития программирования в мире и изучить историю возникновения программирования в России.

Для достижения цели поставлены следующие задачи:

  1. ознакомиться с началом истории возникновения программирования в мире;
  2. изучить становление программирования в СССР;
  3. узнать о развитии программирования в России с 1990-х годов по настоящее время.

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

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

2 Начало и развитие истории программирования в мире

Ещё с древности люди пытались изобрести устройства для ускорения и облегчения процесса вычислений. Древние римляне и греки использовали устройство, похожее на счеты, которое называлось абак. В 15 веке ученые Готфрид Лейбниц, Вильгельм Шиккард и Блез Паскаль разработали механические счетные устройства – предшественники арифмометра.

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

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

В 1854 году была опубликована книга «Законы мышления» английского математика Джорджа Буля, в которой автор развил алгебру высказываний – Булеву алгебру. Алгебра логики повлияла на развитие вычислительных машин, являясь инструментом разработки и анализа сложных схем, инструментом оптимизации большого числа логических элементов, из многих тысяч которых состоит современная ЭВМ.

Английский математик Алан Тьюринг в 1936 году ввел понятие машины Тьюринга. Ученый показал, что любой алгоритм в некотором смысле может быть реализован на машине Тьюринга, а значит доказывал возможность построения универсальной ЭВМ. Машину Тьюринга можно посчитать идеализированной моделью универсальной ЭВМ.

Механическая элементная база ЭВМ начала сменяться электронными и электрическими устройствами в 40-х годах 20 века. Первая электромеханическая машина, под названием Ц-3, была созданы в Германии инженером Конрадом Цузе в 1941 году. В 1944 в США под руководством профессора Гарвардского университета Говарда Эйкена был изобретен МАРК-1. В 1946 году первая электронная машина ЭНИАК создана в США командой инженеров под руководством доктора Пенсильванского университета Джона Мокли и аспиранта Джона Эккерта. В Англии в 1949 году была сконструирована EDSAC – первая машина, которая обладала автоматическим программным управлением, внутренним запоминающим устройством и другими необходимыми компонентами современных ЭВМ.

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

ЭВМ УНИВАК (универсальная автоматическая вычислительная машина) была выпущена в серийное производство в 1951 году в США. В этот же момент IBM начинает серийный выпуск машины IBM/701.

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

В первом поколении ЭВМ, до конца 1950-х годов, использовались электронные лампы. Идеология и техника программирования развивалась на достижениях Джона фон Неймана, который сформулировал основы построения ЭВМ, и Джона Бэкуса – создателя Fortranа (Formula Translation). Фортран (Fortran) – первый язык программирования высокого уровня, имеющий транслятор. В 1965 году была создана упрощенная версия Фортрана – Basic. В 1966 г. комиссия при Американской ассоциации стандартов разработала два стандарта языка: Фортран и Базисный Фортран.

Электронные лампы в конце 1950-х годов заменяются полупроводниками (маленькими транзисторами). Так появились ЭВМ 2 поколения. Затем ЭВМ 3 поколения на интегральных схемах примерно через 10 лет, еще через 10 лет - ЭВМ 4 поколения на больших интегральных схемах (БИС). В 1990-х годах в Японии были реализованы проекты ЭВМ 5 поколения, которые использовали достижения в области искусственного интеллекта и биоэлектроники.

В США в 1954 году стал использоваться алгебраический подход, совпадающий, по существу, с операторным методом. В этот момент благодаря накоплению опыта и теории стали совершенствоваться языки программирования. В 1958-1960 годах в Европе был создан ALGOL, который повлиял на появление целой серии алголоподобных языков:

  1. Algol W;
  2. Algol 68;
  3. Pascal созданный Никлаусом Виртом в 1970 году;
  4. С, был создан Деннисом Ритчи и Брайном Керниган в 1972 году;
  5. Ada;
  6. C++.

В 1961-1962 годах Джон Маккарти создал язык функционального программирования Lisp, открывший в программировании одно из альтернативных направлений, предложенных Джоном фон Нейманом.

На начало 1970-х годов существовало более 700 языков высокого уровня и около 300 трансляторов для автоматизации программирования.

В 1965 году итальянцами Бомом и Джакопини следование, ветвление и цикл были предложены как базовые алгоритмические элементы следования. Этот метод в 1970-х годах оформился, и корпорация IBM сообщила о применении в разработке программного обеспечения «Усовершенствованных методов программирования», одним из компонентов которых являлась технология нисходящего структурного программирования. Затем развитие получило модульное программирование. Оно основывается на:

  1. функциональной декомпозиции (разбиении) задачи на самостоятельные подзадачи – модули, связанные только входными и выходными данными;
  2. модуле, который позволяет разрабатывать части программ одного проекта на разных языках программирования, а затем с помощью компоновочных средств объединять их в единый загрузочный модуль;
  3. ясном понимании назначения всех модулей задачи и их оптимального сочетания;
  4. комментарии должны описывать назначение всех переменных модуля.

Большую роль в развитии промышленного программирования сыграл программист Билл Гейтс – один из создателей Microsoft. Он со своим товарищем Полом Алленом использовали для обработки данных компьютеры с микропроцессором 8008 – первым из знаменитого ряда микропроцессоров компании «Intel».

Объектно-ориентированное программирование пришло на смену структурному в начале 1990-х годов. Его можно рассматривать как модульное программирование нового уровня, где главном становится смысловая связь объединения процедур и данных. Объект рассматривается как логическая единица, которая содержит данные и правила их обработки. Объектно-ориентированный язык создает «программное окружение» в виде множества независимых объектов, каждый из которых отличается своими свойствами и способами взаимодействия с другими объектами. Одним из первых языков этого типа считают Simula-67. А в 1972 году появился язык Smoltalk, разработанный Аланом Кеем, утвердивший статус ООП. На современном этапе развиваются инструментальные среды и системы визуального программирования для создания программ на языках высокого уровня: (Turbo Pascal, Delphi, Visual Basic, C++Builder и др.).

В настоящее время языки программирования, пользующиеся спросом можно разделить на:

  1. группа языков, образованная от языка Си – C, C++, C#, Objective-C, Java, всегда востребована и актуальна, так как программы, которые написаны на этих языках, отличаются высокой эффективностью. Они обладают хорошей масштабируемостью, пригодны для коллективной разработки. Недостатком этой группы языков является высокий порог вхождения;
  2. к Си-подобным языкам относится и JavaScript, который был разработан как язык с низким порогом вхождения для неспециалистов. В настоящее время он развился в полноценную инфраструктуру со множеством библиотек и возможностью написания как программ, работающих в рамках браузера, так и сложных серверных приложений;
  3. Python – скриптовой универсальный язык для быстрой разработки. Он не требует компиляции, программы запускаются в интерпретаторе. Этот язык популярен благодаря своему быстродействию и наличию большого количества библиотек;
  4. Ruby – скриптовой язык, в котором акцент сделан на представление программируемых сущностей как объектов. Отличается высокой гибкостью и ориентированностью на экономию человеческих ресурсов. Широко применяется в веб-разработке, обладает развитой инфраструктурой;
  5. PHP – скриптовой язык, предназначенный для разработки, в первую очередь, веб-приложений. Отличается от других тем, что код, исполняемый на стороне сервера, встраивается непосредственно в тело веб-страницы и исполняется в момент отправки ее клиенту. Это избавляет программиста от необходимости писать по отдельности клиентскую и серверную части веб-приложения.

В последние годы появилось немало новых языков, популярность которых быстро растет. Среди них Go от корпорации Alphabet, Swift от Apple, Rust от Mozilla Fundation. Вместе с тем, не утратили актуальности и некоторые языки, возникшие много лет назад.

Итак, мы рассмотрели историю программирования, а также его развитие в мире.

3 Становление программирования в СССР

Отправной точкой для отечественного программирования считается 1950 год, тогда появился макет первой советской ЭВМ МЭСМ. Но это мы рассмотрим позже.

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

В 1947 году в СССР из США пришла идея программно-управляемой автоматической цифровой вычислительной машины. В СССР основополагающая информация по логической структуре электронных вычислительных цифровых машин с хранимой программой тогда была недоступна. В течении 1947-1948 годов в иностранных доступных журналах по электронике, появились публикации, которые содержали достаточное количество научной информации. Затем в СССР появились труды с симпозиума в Гарвардском университете в 1947 году. На базе этих материалов в журнале «Успехи математических наук» в майском – июньском выпуске 1949 года появилась большая статья М.Л. Быховского, которая называлась "Основы электронных математических машин дискретного счета". Эта статья содержала описание инженерных принципов реализации отдельных узлов ЭВМ.

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

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

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

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

В 1950 году Михаил Лаврентьев переехал в Москву и стал директором ИTM и ВT. Он организовал в Институте отдел цифровых компьютеров и пригласил Сергея Алексеевича Лебедева возглавить этот отдел, чтобы, не дожидаясь завершения работы MЭСM, начать проектировать большую ЭВМ. Уже в 1951 году машина был спроектирована, а в 1952 году началась её опытная эксплуатация. Оперативная память машины была разработана на трубках Уильямса, но, поскольку они были недоступны, то использовали ртутные линии задержки. Часть быстрой памяти была сконструирована в виде серии гнезд с пружинными контактами и прижимными крышками, сильно напоминающими вафельницы и была только читающей. "Вафельница" содержала одну 45-колонную перфокарту, в каждой строке которой содержалось по одной команде. Все оборудование, кроме трубок Вильямса и электроники, было "самодельное", включая ввод с перфоленты, двухдорожечный магнитофон, барабан и ртутную память. По тем временам машина была достаточно быстродействующей. БЭСМ имела трехадресную систему команд, у нее было два счетчика команд: центральный и местный. Возвратная передача управления и возврат осуществлялись безусловным переходом с переключением на местное управление и обратным переключением на центральное управление. Местное управление использовалось также для выполнения операций обмена.

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

Советский ученый Исаак Семёнович Брук в 1951 году приступил к созданию ЭВМ и создал небольшой макет, названный М-1. В течении 1952 года после накопления первого опыта и формирования коллектива под его же руководством была спроектирована М-2. Одним из ведущих разработчиков был Михаил Карцев, который после внес большой вклад в теорию и практику конструирования арифметических устройств. Создание М-2 заложило начало серии машин среднего класса.

Алексей Андреевич Ляпунов сформировал в СССР взгляд на программирование как на научную дисциплину. Он проанализировал программирование в целом и выделил ряд его фундаментальных концепций. Процесс выполнения программы был рассмотрен им, как дискретная последовательность единиц действия – операторов, извлекаемых на основе правил управления из текста программы. Так же Ляпуновым была введена классификация операторов. Он рассмотрел арифметические операторы (операторы присваивания), действующие на данные; логические операторы (включая как вычисление логических отношений, так и передачи управления); а также операторы модификации, действующие на другие операторы. Операторы модификации основывались на идее зависимости операторов от некоторого параметра (обычно, целочисленная переменная) и содержали в себе операторы формирования (инициализации), переадресации (модификация в соответствии с приращением параметра) и восстановления начального вида оператора. Текст программы представлялся состоящим из двух частей: схемы программы –символьного представления операторов, указывающего передачи управления и классификацию операторов, и спецификации операторов, указывающей их конкретное содержание. Это расчленение текста программы отражало также два этапа программирования: общее планирование алгоритма, находившее свое отражение в построении схемы программы и содержательной спецификации операторов (творческая часть), и затем систематическая реализация отдельных операторов средствами машинного языка.

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

  1. арифметические операторы Аi, которые ведут вычисление по формулам;
  2. логические операторы Рi, которые осуществляют управление счетом;
  3. операторы переадресации Fi, позволяют переходить к следующему значению индекса; 
  4. нестандартные операторы Hi – все неарифметические вычисления, для которых спецификацией был их машинный код.

Программирующая программа ПП-2, была создана под руководством Михаила Романовича Шура-Буры в 1955 году для машины Стрела-1. В ПП-2 были усовершенствованы алгоритмы трансляции и значительное внимание было уделено оптимизации программ – экономии выражений, наилучшей реализации вычисления индексных выражений, оптимальному отведению памяти для так называемых рабочих ячеек. Это можно считать первым оптимизирующим транслятором.

ПП для БЭСМ развивала входной язык программирующих программ. Она объединяла схему и спецификацию операторов в одном тексте, был введен первый структурный оператор – оператор цикла.

ПП-2 послужила идейной основой двух проектов – ПП для Стрелы 4 и ПП для Стрелы 7. Первая из них представляла собой зачаток настоящей системы программирования: помимо собственно транслятора она содержала систему сборки модулей и некоторые средства отладки. Транслятор получал такие фрагменты объектной программы, которые потом назовут модулями, а система сборки создавала программу из оттранслированных модулей и библиотечных программ.

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

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

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

22-24 декабря 1960 году в МГУ состоялась рабочая конференция "Построение программирующих программ на основе языка АЛГОЛ". К этому времени у разработчиков уже сложились общие подходы к реализации языка и выбору схем трансляции. В ТА-1 благодаря отказу от возможной рекурсивности процедур и ряду других ограничений была выбрана компактная и быстрая схема трансляции без оптимизации. Главной задачей ТА-2 стала реализация практически полного языка без существенной потери в качестве реализации. В разработке системы Альфа было поставлено в качестве главной цели обеспечение высокого качества рабочих программ с сохранением приемлемой скорости трансляции. Отчетные публикации появились для ТА-1 и ТА-2 в начале 1964 года, для системы Альфа – годом позже.

Появление ЭВМ 2-го поколения (Минск 2, Раздан 2, БЭСМ-3, М-220, БЭСМ-6, Днепр и др.) в целом опередило созревание концепции математического обеспечения и идентификацию системного программирования.

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

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

В 1966 году Валентин Федорович Турчин создал первую версию языка программирования РЕФАЛ, он приобрел всемирную известность. РЕФАЛ – это язык для манипулирования символическими объектами, такими как тексты, формулы, программы и т.д. Программа в Рефал состоит из функций, которые могут быть определены друг через друга – рекурсивно. Отсюда и название: алгоритмический язык рекурсивных функций. Рефал – бестиповый язык. Он основан на концепции выражения объекта как универсального типа данных. Все аргументы и результаты всех функций являются объектными выражениями.

АЛМО – машинно-ориентированный язык, разработан в 1965-1966 годах как промежуточный и базовый язык универсальной системы программирования. Задумывался как язык-посредник при трансляции с различных языков. Идея заключалась в том, что для каждой аппаратной платформы достаточно было написать транслятор Алмо – и ты уже можешь работать с множеством языков программирования, которые имели трансляцию в Алмо. Были созданы реализации языка для основных отечественных машин того времени (М-20, БЭСМ-6, Минск 2, Урал 11) и трансляторы с Алгола-60 и ФОРТРАНа в Алмо.

История языка Сигма (СИмвольный Генератор и Макроассемблер) начинается в 1965 году, когда Андрей Петрович Ершов инициировал разработку нового языка программирования для работы с символьной информацией. Синтаксически ограничиваемый макросами, он допускал генеральную линию создания программ - подстановку описанных макросов. Язык содержал средства формального описания конкретной архитектуры: была разработана система параметров, в терминах которой фиксировалось представление языка для конкретной ЭВМ. Таким образом, общая Сигма-программа вместе с описанием архитектуры ЭВМ транслировалась на данную ЭВМ. Параметрами архитектуры были длина слова, представление значений типов в машинном слове и т.п., так и правила заполнения шаблонов машинных команд.

Универсальный машинно-ориентированный язык программирования Эпсилон (элементарный Преобразователь СИмвоЛьнОй иНформации), по Александру Фёдоровичу Рару, считался исключительно простым языком. Переменные в нем не имели типа и не описывались, идентификатор переменной просто обозначал содержимое ячейки, отведенной для этой переменной. Константы в языке могли быть либо натуральными числами, либо восьмеричными числами, либо – наборами двоичных цифр. Выражения были только двуместные, арифметические выражения обращались со значениями операндов, как с представлениями натуральных чисел, были еще поразрядные операции, операции сдвига и операция извлечения адреса данного объекта. Объектами языка были так называемые списки (упакованные массивы) и слова (умещающиеся в одном машинном слове последовательности элементов разной длины). Программист мог задать двоичную кодировку для символа или множество двоичных кодировок для класса символов. Существовали переходы на метку условные и безусловные, а также процедуры, замкнутые и открытые. Законным оператором языка была машинная команда, представленная в восьмеричном виде. Именно в таком виде должны были осуществляться операции ввода-вывода. Используемые программой таблицы хранились как помеченные последовательности машинных команд; совместив в памяти такую последовательность с некоторым описанным списком, программист мог использовать для выбора элемента таблицы механизм выборки элемента списка.

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

В 1969 году появляется проект многопроцессорного вычислительного комплекса «Эльбрус». В 1970 году началось его плановое строительство. В целом «Эльбрус» считается полностью оригинальной советской разработкой. В него были заложены такие архитектурные и конструкторские решения, благодаря которым производительность МВК практически линейно возрастала при увеличении числа процессоров. В 1980 году «Эльбрус-1» с общей производительностью 15 млн операций в секунду успешно прошел государственные испытания. Это была первая ЭВМ в Советском Союзе, построенная на базе ТТЛ-микросхем. К этим машинам в середине 1970-х годов был разработан язык программирования – Эль-76. Сначала он был назван – автокод Эльбрус. Объединяет в себе особенности машинного языка, непосредственно управляющего работой устройств ЭВМ, и изобразительные средства языка высокого уровня. Эль-76 поддерживает методику структурного программирования, т.е. композиции программы из процедур, линейных последовательностей операторов, циклов, альтернативных сочленений с выбором альтернативы по условию или по номеру альтернативы и параллельно выполняемых ветвей. Язык имеет специальные средства описания поведения программы в особых случаях – т.н. ситуации и структурные переходы. Основной особенностью Эль-76 является возможность хранения в памяти ЭВМ информации о типе переменной величины вместе с ее значением и ее изменения в ходе выполнения программы.

ЯМБ (Язык Машин Бухгалтерских) – язык программирования, который был разработан в конце 1970-х годов в СССР, использовался для бухгалтерских записей, учёта и статистики. Использовался на машинах ЭБМ Искра-554, Искра-555, Искра-2106, Нева-501.

В начале 1980-х годов был разработан язык программирования РАПИРА (Расширенный Адаптированный Поплан-Интерпретатор, Редактор, Архив) – процедурный язык программирования. Создавался он в качестве средства перехода от более простых языков к языкам высокого уровня. Синтаксис построен на основе русской лексики. Язык использовался в школах для изучения информатики. 

Так же в 1980-е были разработаны такие языки программирования, как:

  1. ОСМО (Средства Общесистемного Математического Обеспечения систем обработки экономической информации) – язык программирования высокого уровня, использующий русскую лексику. ОСМО это сокращение от словосочетания: языковые. Язык разработан для решения задач,
  2. ОВСЕИ (Описания Вывода Составных Единиц Информации) – язык программирования высокого уровня, использующий русскую лексику, используемый для записи и решения экономических задач;
  3. ПРОЗА (ПРограмма Описания Задач), который является языковыми средствами описания постановки задач систем обработки экономической информации.

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

В 1968 году была принята государственная директива «Ряд», основной задачей которой стала разработка серии ЭВМ, подобных IBM S/360. В результате в 1971 году появились компьютеры серии ЕС. Несмотря на сходство идеи с IBM S/360, прямого доступа к этим компьютерам советские разработчики не имели, поэтому проектирование отечественных машин начиналось с дизассемблирования программного обеспечения и логического построения архитектуры на основании алгоритмов её работы.

В 1980-х годах в СССР очень активно разрабатывали персональные компьютеры. Первым таким устройством стал компьютер «Агат», который был создан для широкого распространения и использования в обучении. Он был разработан на основе Apple II, и выпущен в серийное производство в 1984 году. Жесткий диск «Агата» вмещал до 2 КБ информации, но можно было ставить дополнительные модули памяти. ОЗУ – до 128 КБ в зависимости от поколения компьютера. Один из самых известных ПК в СССР – «Микро-80», построенный на базе микропроцессора КР580ВМ80, аналога i8080 от Intel.

«Корвет» – 8 разрядный персональный компьютер. Его разработка началась в конце 1985 года. Изначально компьютер предназначался для автоматизации управления установкой по дистанционному измерению параметров низкотемпературной плазмы методами лазерной спектроскопии, а также для обработки получаемой информации и теоретических расчетов, ведения архива данных и ряда других нужд.

Электроника МС 1504 стал первым советским портативным персональным компьютером в форм-факторе лэптоп. В качестве его прототипа был использован небольшой портативный компьютер «T1100 PLUS» фирмы Toshiba. Его характеристики: по размеру компьютер умещался в портфель, шёл он с полноформатной клавиатурой, жидкокристаллическим экраном (640x200 точек), оперативной памятью на 640 кБайт, двумя дисководами для дискет 3½" ёмкостью 720 Кбайт, на него устанавливалась операционная система — MS DOS 3.3. Автономность работы — 4 часа.

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

4 Программирование в России в 90-е и в наше время

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

В 1989 году студентом-физиком МФТИ Давидом Яном был создан электронный словарь и автоматический переводчик Lingvo. Компания ABBYY, софтом которой пользуется 50 миллионов человек, была основана им же.

В 1991 году в научно-техническом центре КАМИ Евгений Касперский руководит командой разработчиков антивируса для ПК, где был разработан «Антивирус Касперского».  Он предоставляет пользователю защиту от вирусов, троянских программ, шпионских программ, руткитов, adware, а также от неизвестных компоненту "файловый антивирус" угроз с помощью проактивной защиты, включающей компонент HIPS. Сейчас «Антивирус Касперского» широко распространен, им пользуются во многих странах мира.

Игорь Анатольевич Данилов в 1992 году начал разработку антивируса «Dr.Web», а в 2003 году создал компанию. Dr.Web – это общее название семейства антивирусного программного обеспечения для различных платформ и линейки программно-аппаратных решений, а также решений для обеспечения безопасности всех узлов корпоративной сети. Продукты предоставляют защиту от вирусов, троянского, шпионского и рекламного ПО, червей, руткитов, хакерских утилит, программ-шуток, а также неизвестных угроз с помощью различных технологий реального времени и поведенческого анализа.

Братья Сергей и Борис Нуралиевы в 1991 придумали 1С – фирма, которая создаёт компьютерные программы и базы данных делового и домашнего назначения. В 1992-м году они разработали, свою самую популярную программу, которая называется «1С: Бухгалтерия».

8 октября 1996 года в свой День Рождения Дмитрий Витальевич Крюков выложил в сеть первую русскоязычную поисковую систему – Rambler. В 1997 году широкой публике была представлена поисковая система «Яндекс». «Яндекс» не был первой поисковой системой России, но стал быстро набирать аудиторию. В 2001 году он обогнал крупнейший поисковик российского сегмента сети – Рамблер, став лидером в Рунете.

Еще одним важным событием, можно считать, появление русскоязычных продуктов Microsoft. В основном все программы, кроме созданных в России, были на английском. В 1990-м году была завершена работа по созданию русскоязычной версии MS-DOS 4.01, презентовать её в России приезжал Билл Гейтс. Это стало точкой отсчета Microsoft в России.

Так же российскими программистами с 90-х годов были созданы языки программирования:

  1. Пифагор (Параллельный Информационно-Функциональный АлГОРитмический) - функционально-потоковый язык программирования, предназначенный для разработки переносимых параллельных программ. Был разработан в Красноярском Государственном Техническом Университете в 1995 году;
  2. ПРОФТ — язык программирования, созданный в 2000 году для проведения опыта по созданию языка программирования, основанного на русском языке. Его особенность - использование русского синтаксиса, как средства повышения производительности программирования. Каждая структурная единица программы, называемая предложением, заканчивается точкой. Соответственно, десятичная часть числа отделяется запятой;
  3. Parser - объектно-ориентированный скриптовый язык программирования, созданный для генерации HTML-страниц на веб-сервере с поддержкой CGI. Разработан Студией Артемия Лебедева в 1997. Язык специально спроектирован и оптимизирован для того, чтобы было удобно создавать простые сайты. Работа с формами, cookies, табличными файлами, базами данных и XML — часть языка, а модульность языка позволяет легко наращивать функциональность;
  4. Kotlin - статически типизированный язык программирования. Язык назван в честь острова Котлин в Финском заливе, на котором расположен город Кронштадт. Он работает поверх JVM, разрабатывается компанией JetBrains. Также компилируется в JavaScript, и в исполняемый код ряда платформ через инфраструктуру LLVM. Язык полностью совместим с Java, что позволяет java-разработчикам постепенно перейти к его использованию. Компания Google на конференции для разработчиков I/O 2019 объявила, что теперь язык программирования Kotlin будет приоритетным для разработки приложений для операционной системы Android.

Сегодня в России насчитывается 1,3 млн разработчиков ПО. Программист – это специалист, создающий исходный код для программы. Такой программой может быть операционная система компьютера, видеоигра, web или мобильное приложение. Профессия программиста очень притягательна для современных абитуриентов. В 2018 году в технических вузах страны самый большой конкурс пришелся на специальности "Прикладная математика", "Информатика и вычислительная техника", "Электроника и наноэлектроника". 

Итак, в данном пункте мы рассмотрели какие программы и языки программирования были созданы в России начиная с 1990-х годов.

5 Заключение

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

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

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

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

Для достижения цели были выполнены следующие поставленные задачи:

  1. ознакомление с началом истории возникновения программирования в мире;
  2. изучено становление программирования в СССР;
  3. получены знания о развитии программирования в России в настоящее время.

В пункте 2 мы рассмотрели историю возникновения программирования в мире.

Становление программирования в СССР было изучено в 3 пункте.

И, наконец, в 4 пункте мы узнали о развитии программирования в России с 90-х годов по настоящее время.

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

  1. Л. Быховский. Основы электронных математических машин дискретного счета. УМН, 4, №3 (1949)
  2. "МЭСМ". Энциклопедия кибернетики. "Наукова думка". Киев, 1974, т. 2, с. 36
  3. Л.А. Люстерник, А.А. Абрамов, В.И. Шестаков, М.Р. Шура-Бура. Решение математических задач на автоматических цифровых машинах. Программирование для быстродействующих электронных счетных машин. Издательство Академии наук СССР, 1952, с.327
  4. А.А. Ляпунов, Ю.И. Янов. О логических схемах программ, часть III, 5-8
  5. С.С. Камынин, Э.З. Любимский. Автоматизация программирования, 9-17
  6. А.П. Ершов. Программирующая программа для БЭСМ АН СССР, 18-29
  7. Л.В. Канторович, Л.Т. Петрова, М.А. Яковлева. Об одной системе программирования, 30-36
  8. Кирнос В.Н. Информатика 10 – 11 класс: Кокшетау: «Кешелек», 2005. – с.208
  9. Ершов А. П., Шура-Бура М. Р. Пути развития программирования в СССР // Кибернетика, 1976, № 6, с. 141-160
  10. Семакин И.Г., Шестаков А.П. – Основы программирования: учебник для среднего профессионального образования – М.: Академия, 2008 – 432 с.
  11. http://www.compiler.su/ (дата обращения 20.12.2019)
  12. https://ru.wikipedia.org/ (дата обращения 27.12.2019)
  13. http://scask.ru/ (дата обращения 10.12.2019)
  14. https://www.iis.nsk.su/ (дата обращения 17.12.2019)
  15. http://www.computer-museum.ru/ (дата обращения 15.12.2019)