Файл: История развития программирования в России (Начало и развитие истории программирования в мире).pdf
Добавлен: 30.03.2023
Просмотров: 162
Скачиваний: 2
Введение
История развития программирования берет своё начало ещё с древних времён. Для каждого человека, интересующегося программированием, интересна история его развития. В России сейчас программирование является востребованным во многих сферах нашей жизни, поэтому не стоит сомневаться в его практической пользе. История становления программирования в России актуальна для изучения, потому что в наше время компьютеры всё ощутимее вступают в повседневную жизнь, и чтобы упростить общение людей с ними создаётся новое программное обеспечение с помощью различных языков программирования. Цель создания языков программирования – упрощение программного кода.
Объектом исследования является программирование.
Предмет исследования – история развития программирования в России. Цель работы: рассмотреть историю развития программирования в мире и изучить историю возникновения программирования в России.
Для достижения цели поставлены следующие задачи:
- ознакомиться с началом истории возникновения программирования в мире;
- изучить становление программирования в СССР;
- узнать о развитии программирования в России с 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, который повлиял на появление целой серии алголоподобных языков:
- Algol W;
- Algol 68;
- Pascal созданный Никлаусом Виртом в 1970 году;
- С, был создан Деннисом Ритчи и Брайном Керниган в 1972 году;
- Ada;
- C++.
В 1961-1962 годах Джон Маккарти создал язык функционального программирования Lisp, открывший в программировании одно из альтернативных направлений, предложенных Джоном фон Нейманом.
На начало 1970-х годов существовало более 700 языков высокого уровня и около 300 трансляторов для автоматизации программирования.
В 1965 году итальянцами Бомом и Джакопини следование, ветвление и цикл были предложены как базовые алгоритмические элементы следования. Этот метод в 1970-х годах оформился, и корпорация IBM сообщила о применении в разработке программного обеспечения «Усовершенствованных методов программирования», одним из компонентов которых являлась технология нисходящего структурного программирования. Затем развитие получило модульное программирование. Оно основывается на:
- функциональной декомпозиции (разбиении) задачи на самостоятельные подзадачи – модули, связанные только входными и выходными данными;
- модуле, который позволяет разрабатывать части программ одного проекта на разных языках программирования, а затем с помощью компоновочных средств объединять их в единый загрузочный модуль;
- ясном понимании назначения всех модулей задачи и их оптимального сочетания;
- комментарии должны описывать назначение всех переменных модуля.
Большую роль в развитии промышленного программирования сыграл программист Билл Гейтс – один из создателей Microsoft. Он со своим товарищем Полом Алленом использовали для обработки данных компьютеры с микропроцессором 8008 – первым из знаменитого ряда микропроцессоров компании «Intel».
Объектно-ориентированное программирование пришло на смену структурному в начале 1990-х годов. Его можно рассматривать как модульное программирование нового уровня, где главном становится смысловая связь объединения процедур и данных. Объект рассматривается как логическая единица, которая содержит данные и правила их обработки. Объектно-ориентированный язык создает «программное окружение» в виде множества независимых объектов, каждый из которых отличается своими свойствами и способами взаимодействия с другими объектами. Одним из первых языков этого типа считают Simula-67. А в 1972 году появился язык Smoltalk, разработанный Аланом Кеем, утвердивший статус ООП. На современном этапе развиваются инструментальные среды и системы визуального программирования для создания программ на языках высокого уровня: (Turbo Pascal, Delphi, Visual Basic, C++Builder и др.).
В настоящее время языки программирования, пользующиеся спросом можно разделить на:
- группа языков, образованная от языка Си – C, C++, C#, Objective-C, Java, всегда востребована и актуальна, так как программы, которые написаны на этих языках, отличаются высокой эффективностью. Они обладают хорошей масштабируемостью, пригодны для коллективной разработки. Недостатком этой группы языков является высокий порог вхождения;
- к Си-подобным языкам относится и JavaScript, который был разработан как язык с низким порогом вхождения для неспециалистов. В настоящее время он развился в полноценную инфраструктуру со множеством библиотек и возможностью написания как программ, работающих в рамках браузера, так и сложных серверных приложений;
- Python – скриптовой универсальный язык для быстрой разработки. Он не требует компиляции, программы запускаются в интерпретаторе. Этот язык популярен благодаря своему быстродействию и наличию большого количества библиотек;
- Ruby – скриптовой язык, в котором акцент сделан на представление программируемых сущностей как объектов. Отличается высокой гибкостью и ориентированностью на экономию человеческих ресурсов. Широко применяется в веб-разработке, обладает развитой инфраструктурой;
- PHP – скриптовой язык, предназначенный для разработки, в первую очередь, веб-приложений. Отличается от других тем, что код, исполняемый на стороне сервера, встраивается непосредственно в тело веб-страницы и исполняется в момент отправки ее клиенту. Это избавляет программиста от необходимости писать по отдельности клиентскую и серверную части веб-приложения.
В последние годы появилось немало новых языков, популярность которых быстро растет. Среди них Go от корпорации Alphabet, Swift от Apple, Rust от Mozilla Fundation. Вместе с тем, не утратили актуальности и некоторые языки, возникшие много лет назад.
Итак, мы рассмотрели историю программирования, а также его развитие в мире.
3 Становление программирования в СССР
Отправной точкой для отечественного программирования считается 1950 год, тогда появился макет первой советской ЭВМ МЭСМ. Но это мы рассмотрим позже.
Вторая мировая война замедлила научные проекты и исследования по части разработки, как тогда называли, математической техники. Во время войны требовалось содействие в выполнении серии прикладных работ, которые требовали разработки численных методов и автоматизации вычислений, прежде всего для управления стрельбой. Потребности радиолокации и радиосвязи создали предпосылки для освоения высокочастотной импульсной техники.
В 1947 году в СССР из США пришла идея программно-управляемой автоматической цифровой вычислительной машины. В СССР основополагающая информация по логической структуре электронных вычислительных цифровых машин с хранимой программой тогда была недоступна. В течении 1947-1948 годов в иностранных доступных журналах по электронике, появились публикации, которые содержали достаточное количество научной информации. Затем в СССР появились труды с симпозиума в Гарвардском университете в 1947 году. На базе этих материалов в журнале «Успехи математических наук» в майском – июньском выпуске 1949 года появилась большая статья М.Л. Быховского, которая называлась "Основы электронных математических машин дискретного счета". Эта статья содержала описание инженерных принципов реализации отдельных узлов ЭВМ.
Проблемы развития вычислительной техники в СССР стали общегосударственной задачей в 1948 году. Производство и проектирование вычислительных средств определялись как самостоятельное научно-техническое направление. На основе уже существующих в то время научных групп и подразделений различных организаций Академии наук, которые имели отношение к проблеме механизации вычислений и создания математических инструментов, был создан новый Институт точной механики и вычислительной техники (ИТМ и ВТ). В Киеве в это время Лебедевым Сергеем Алексеевичем были начаты исследования по созданию ЭВМ. Особенный интерес у него создавало создание быстродействующих цифровых элементов и счетных цепей.