Эволюция языков программирования кратко

Обновлено: 04.07.2024

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

Содержание

Начало развития

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

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

Например, для организации чтения блока данных с гибкого диска программист может использовать 16 различных команд, каждая из которых требует 13 параметров, таких как номер блока на диске, номер сектора на дорожке и т. п. Когда выполнение операции с диском завершается, контроллер возвращает 23 значения, отражающие наличие и типы ошибок, которые надо анализировать.

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

Язык ассемблера

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

Но даже работа с ассемблером достаточно сложна и требует специальной подготовки.

Например, для процессора Zilog Z80 машинная команда 00000101 предписывает процессору уменьшить на единицу свой регистр B . На языке ассемблера это же будет записано как DEC B .

Структурное программирование

Следующий шаг был сделан в 1954 году, когда был создан первый язык высокого уровня — Фортран (англ. FORTRAN - FORmula TRANslator ). Языки высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека, с помощью них, можно писать программы до нескольких тысяч строк длиной. Однако легко понимаемый в коротких программах, этот язык становился нечитаемым и трудно управляемым, когда дело касалось больших программ. Решение этой проблемы пришло после изобретения языков структурного программирования (англ. structured programming language ), таких как Алгол(1958), Паскаль(1970), Си(1972).

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

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

Также создавались функциональные (аппликативные) языки (Пример: Lisp — англ. LISt Processing , 1958) и логические языки (пример: Prolog — англ. PROgramming in LOGic , 1972).

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

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

Примером объектно-ориентированных языков являются: Object Pascal, C++,

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

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


Лишь в 50-е годы, для личных нужд фирмы IBM был разработан первый алгоритмический язык. Его назвали FORTRAN. Разумеется, к тому времени уже было несколько наработок языков, преобразующих в машинных код арифметические выражения, но именно создание FORTRAN'а считается отсчетом новой эры - переходом на парадигму алгоритмических языков. Что он мог? Он позволял проводить расчеты только при помощи записи алгоритма с применением операторов ввода/вывода и условных. Первоначально язык создавался специально для вычислительной системы IBM 407. Но популярность FORTRAN'а привела к тому, что даже производители других архитектур стали выпускать собственные трансляторы. Вследствие этого, в 1966 году был выпущен общий стандарт FORTRAN 66.

Уже в конце 50-х гг. появилась хорошая альтернатива FORTRAN'у. Питер Наур разработал алгоритмический язык, независимый от архитектуры. Его назвали ALGOL. В данном случае, разработчики также постарались расширить возможности языка, максимально приблизив систему обозначений к математической.

В начале 60-х гг. производители IBM представили не особо популярный язык PL/I. Он работал с архитектурой IBM 360 и служил своеобразным расширением FORTRAN'а при помощи некоторых средств языка COBOL.
Первый язык, в котором было введено понятие класса - Simula-67. Его создали Дал и Найард в конце 60-х.
70-е гг. произвели на свет Pascal. Он быстро завоевал массовую популярность. Чуть позже миноборона США начала разработку языка высокого уровня. Проект разрабатывали 4 независимые группы, причем выработка требований и спецификаций проводилась на основе языка Pascal. Получившийся продукт был выпущен уже в начале 80-х, он получил название Ada.

70-е гг. также подарили нам универсальный язык C. Его авторами были Кен Томпсон и Денис Ритчи. Язык пользовался повышенной популярностью у системных программистов, перво ядро ОС UNIX было разработано именно на нем. В 1982 году стандарт C поступил в разработку в ANSI, получившийся вариант был принят в 1990 году. На основе этого языка были разработаны современные языки Java и C++.

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

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

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

В компьютерном мире у существует более 500 языков программирования со своим синтаксисом и функциями. И если вы спросите, кто является отцом компьютера, то поисковая система покажет вам результат, как Чарльза Бэббиджа, но отец компьютера не написал первый код. Это была Ада Лавлейс, которая написала первый в мире язык компьютерного программирования, и это был 1883 год.

1883: Начало

  • Вначале Чарльз Бэббидж создал устройство, но он не понимал, как давать инструкции машине, а затем Ада Лавлейс написала инструкции для аналитической машины.
  • Устройство было сделано Чарльзом Бэббиджем, а код был написан Адой Лавлейс для вычисления числа Бернулли.
  • Впервые в истории была проведена оценка возможностей компьютерных устройств.

1949: Язык Assembly

  • Это разновидность низкоуровневого языка.
  • В основном он состоит из инструкций (своего рода символов), которые может понять только машины.
  • В настоящее время ассемблер также используется в программах реального времени, таких как системы имитации полета, навигационные системы и медицинское оборудование, например, системы Fly-by-wire (FBW).
  • Он также используется для создания компьютерных вирусов.

1952: Autocode

  • Разработано Аликом Гленни.
  • Первый скомпилированный язык компьютерного программирования.
  • COBOL и FORTRAN - это языки, называемые Autocode.

1957: FORTRAN

1958: ALGOL

1959: COBOL

  • Название произошло от сокращения общий бизнес-ориентированный язык (Common Business-Oriented Language).
  • В 1997 году 80% мирового бизнеса работало на Cobol.
  • Служба внутренних доходов США пробилась к МВФ на основе COBOL (индивидуальный мастер-файл), чтобы выплатить десятки миллионов платежей, требуемых в рамках помощи в связи с коронавирусом, помощи и экономической безопасности.

1964: BASIC

  • Название расшифровывается как начинающий универсальный символьный код инструкции (beginners All-purpose symbolic instruction code).
  • В 1991 году Microsoft выпустила Visual Basic, обновленную версию Basic.
  • Первая микрокомпьютерная версия Basic была написана в соавторстве с Биллом Гейтсом, Полом Алленом и Монте Давидофф для их тогда только созданной компании Microsoft.

1972: C

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

C++ - самый быстрый язык программирования высокого уровня.

Ранее Apple Inc использовала Objective-C для создания приложений.

JAVA можно ипользовать везде. Этот язык не имеет привязки в определенной платформе.

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

JavaScript позволяет создавать интерактивные веб-страницы. JS - самый популярный язык программирования на front-end. JS известен тем, что создает динамику и делает нашу страницу интерактивной.

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

Языки программирования низкого уровня

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

Машинный язык.

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

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

Ассемблер.

В начале 1950-х годов была осуществлена идея использования символьных имен вместо адресов данных и замены цифровых кодов операций на мнемонические (словесные) обозначения. Язык программирования, реализующий данный подход, получил название Ассемблер (от англ. assembler — сборщик).

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

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

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

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

Языки программирования высокого уровня

Эволюция языков программирования

Важное значение для развития высокоуровневых языков программирования имела разработка во второй половине 1950-х годов трех языков – Fortran, COBOL, Lisp. Философия, стоящая за этими языками, заключается в создании высокоуровневой системы обозначений, облегчающей программисту написание программ.

Язык программирования Fortran

Fortran ( Formula Translation - трансляция формул ) - был разработан в 1956 году сотрудниками компании IВM под руководством Джона Бэкуса. Появление Fortran - одно из наиболее значительных событий в истории языков программирования.

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

Язык программирования COBOL

COBOL ( Common Business-Oriented Language - язык программирования для коммерческих и деловых задач ) был разработан комитетом CODASYL в 1959-60 годах по инициативе Министерства обороны США и группы основных производителей компьютеров для обработки бизнес-данных. Основной упор в этом языке был сделан на манипуляции данными: копирование, хранение и поиск, вывод на печать (отчеты).

Язык программирования Lisp.

Lisp ( LISt Processing – обработка списков ) был разработан в 1958 году Джоном Маккарти для обработки связанных списков и символьной информации.

Lisp был первым языком, не зависевшим от аппаратного обеспечения. В настоящее время существует множество диалектов языка. Это семейство языков нашло применение в области моделирования искусственного интеллекта.

Читайте также: