YourLib.net
Твоя библиотека
Главная arrow Информатика (Под общ. ред. А.Н. Данчула) arrow 4.1. Эволюция языков программирования
4.1. Эволюция языков программирования

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

   Решение различных задач в настоящее время связано с использованием компьютерных технологий.
   В 40-х гг. XX столетия начинает развиваться программирование. При работе на первых ЭВМ программы записывались в цифровых кодах, т. е. на машинном языке программирования (ЯП). Запись программ производилась в двоичной, а затем восьмеричной системе счисления. Это был трудоемкий процесс, занимавший много времени.
   Для упрощения этой работы были разработаны автокоды, к которым в настоящий момент можно отнести ЯП Assembler, что позволяло записывать вид выполняемой операции (сложить, умножить и т. п.) набором символов и значительно упрощало написание программ. Языки программирования такого вида называют языками низкого уровня. Пример фрагмента программы на Assembler приведен на рис. 4.1.
   На этом рисунке в колонке «Адрес» указаны: значение сегментного регистра процессора — CS (37D5) и значение регистра смещения — IP (от 0100 до 0122). Программист вводит команды в мнемо-кодах, а в центральном процессоре коды команд записаны в виде чисел шестнадцатеричной системы счисления — Нех-кодов.

Рис. 4.1. Программные коды на ЯП  Assembler 

Рис. 4.1. Программные коды на ЯП  Assembler

   Мнемокод состоит из двух частей: указания, что делать, — кода операции — MOV, ADD, NOP — и операндов, т. е. того, над чем проделываются операции. К операндам (см. рис. 4.1) относятся: СХ, [0400], Dl, AF и т. д.
   Развитие языков программирования шло в направлении упрощения их использования. История развития ЯП представлена на рис.4.2.
   В середине 1950-х гг. появляются первые алгоритмические ЯП: Алгол и Фортран.
   Дальнейшее развитие языков программирования было связано, во-первых, с их специализацией по направлениям научной и технической деятельности, а во-вторых, с возможностью их использования пользователями, не имеющими специальной подготовки.
   Например, появившийся в середине 60-х гг. ЯП Basic (Бейсик) получил широкое распространение и в дальнейшем стал использоваться как язык описания элементов операционных систем (ОС). Затем в измененном виде он стал первым объектно-ориентированным ЯП.
   ЯП Симула был разработан для моделирования систем с дискретными событиями и работал с параллельно функционирующими процессами; в нем впервые появились такие элементы, как классы и объекты.
   В ЯП Pascal была введена P-system, транслировавшая программу в P-code — код идеальной ЭВМ, позволяющий затем перевести программу на реальный машинный код данного процессора.
   ЯП Пролог содержал: программные модули, базу данных — набор предикатов и утверждений — и объекты — термы.
   Распространенный машинно-ориентированный ЯП СИ, появившийся в 80-х гг. и близкий к Assembler, позволяет наиболее полно использовать возможности различных процессоров.
   На рис.4.2 приведены не все ЯП и не показаны новейшие разработки конца 90-х гг. и начала нового тысячелетия, как, например: JAVA, UML, XML, VB.NET, а также языки СУБД и др.
   Рассмотрим классификацию языков программирования (рис. 4.3).
   1.  Машинно-зависимый язык программирования — формальный язык для описания программ решения задач, содержание и правила которого реализуются аппаратными средствами конкретной ЭВМ (язык низкого уровня). Программа, составленная на машинном языке, является последовательностью команд, выполняемых процессором данной ЭВМ.

Рис. 4.2. Структурная схема развития языков программирования 

Рис. 4.2. Структурная схема развития языков программирования

   2.  Машинно-ориентированный язык программирования — система команд/операторов, базирующаяся на машинных языках программирования, позволяющая наиболее полно использовать возможности процессора (язык среднего уровня).

 

Рис. 4.3. Классификация языков профаммирования 

Рис. 4.3. Классификация языков профаммирования

   3.  Машинно-независимый язык программирования—язык и написанные на нем программы, не зависящие от свойств конкретной вычислительной машины, в них используют программы-трансляторы, которые позволяют осуществлять запись программ с помощью системы команд/операторов вне зависимости от платформы данного ПК:
   —  функциональные — декларативные языки профаммирования, основанные на понятии функции, описании зависимости результата от аргументов с помощью других функций и элементарных операций. Функции только задают зависимость и не определяют порядок вычислений. В функциональных языках профаммирования нет понятий переменной и присваивания, поэтому значение функции зависит только от ее аргументов и не зависит от порядка вычислений;
   —  процедурные (операторные), идущие от понятия «процедура» — предписание в данном языке профаммирования, предназначенное для задания некоторого завершенного действия в процессе переработки информации:
   —  специализированный язык профаммирования — предназначен для решения специальных, узконаправленных задач определенного класса;
   —  универсальный язык программирования — предназначен для решения широкого круга задач; реализует основные концепции структурного программирования с использованием наборов операторов, команд и процедур и позволяет использовать большинство возможностей управления аппаратными средствами ЭВМ (язык высокого уровня):
   —  процессно-ориентированный язык программирования — базируется на методах структурного анализа и состоит из набора инструментальных средств, позволяющих визуально разрабатывать модели в заданной области деятельности;
   —  объектно-ориентированный язык программирования — программа на этом языке задается описанием поведения совокупности взаимосвязанных объектов, обменивающихся запросами. Получив запрос, объект выдает ответ на полученный запрос, посылает запросы другим объектам, получает ответы, изменяет значения своих внутренних переменных. Механизм запросов в объектно-ориентированных языках программирования отличается от механизма процедур в процедурных языках тем, что при выполнении запроса объектом могут быть непосредственно изменены только значения переменных этого объекта.
   Для дальнейшего изучения выберем объектно-ориентированный язык программирования Visual Basic, в котором реализована концепция событийно-управляемого программирования. Visual Basic используется в качестве базового языка для создания макросов и записи программных кодов в приложениях Word, Excel и т. д., что позволяет пользователю создавать собственные разработки или расширять возможности стандартных приложений.
   Реализация решения любой задачи на любом выбранном языке программирования является завершающей стадией процесса разработки программных средств (программирования в широком смысле). Ей предшествует значительная работа, связанная с анализом требований к программе и ее проектированием.

 
< Пред.   След. >