Процедурные языки программирования
Процедурное или императивное (от лат. imperativus — повелительный) программирование есть отражение фон Неймановской архитектуры компьютера. Программа, написанная на этом языке, представляет собой последовательность команд (операций), определяющих алгоритм решения задачи. Основной операцией является команда присвоения, предназначенная для определения и изменения содержимого памяти компьютера. Фундаментальная идея процедурного программирования — использование памяти компьютера для хранения данных. Функционирование программы сводится к последовательному выполнению команд с целью преобразования исходного состояния памяти, т.е. программа производит пошаговое преобразование содержимого памяти, изменяя его от исходного состояния к результирующему. Коротко опишем наиболее известные из процедурных языков.
Фортран (FORTRAN – FORmula TRANslation – транслятор формул) – один из первых компилируемых процедурных языков программирования высокого уровня, создан в начале 50-х гг. в США сотрудником фирмы IBM Джимом Бэкусом. Основное назначение языка – программирование научно-технических задач. Долгие годы он был одним из самых распространенных языков в мире. За это время накоплена огромная библиотека программ, написанных на Фортране. К 2000 г. появилась версия Фортрана F2k, для параллельных суперкомпьютеров со множеством имеется версия HPF (High Performance Fortran – высокоэффективный Фортран). Многие средства Фортрана использованы в других языках, например PL-1 и Бейсик.
Кобол (COBOL – COmmon Business Oriented Language – общепринятый деловой язык) – язык программирования, ориентированный на решение задач обработки больших объемов данных, хранящихся на различных внешних носителях. Широко используется для решения учетно-экономических и управленческих задач. Разработан в США в 1958—1960 гг. Программа на Коболе имеет вид ряда предложений на английском языке и напоминает обычный текст.
Алгол (ALGOL – ALGOrithmic Language – алгоритмический язык) разработан международной группой зарубежных специалистов в 1960 г. В результате дальнейшего развития и усовершенствования в 1968 г. была создана версия Алгол-68. Алгол предназначался для замены Фортрана. Но не получил широкого распространения, так как из-за сложной структуры и отсутствия эффективных компьютеров для него не удалось своевременно создать хороших компиляторов.
ПЛ/1 (PL/1 – Programming Language One – первый язык программирования) разработан фирмой IBM в 1963—1966 гг. как первый многоцелевой универсальный язык, не привязанный к конкретной архитектуре ЭВМ. При разработке PL/1 были широко использованы лучшие понятия и средства языков Фортран, Алгол-60, Кобол. Компания IBM и сегодня продолжает поддерживать этот язык, который по своим возможностям мощнее многих других языков.
Бейсик (BASIC – Beginners All-purpose Symbolic Instruction Code – универсальный символический код для начинающих) создан в середине 60-х гг. сотрудниками математического факультета Дартмутского колледжа Томасом Курцем и Джоном Кемени как учебный язык программирования, состоящий из простых английских слов. Популярность Бейсика объясняется как простотой его освоения, так и наличием достаточно мощных универсальных средств, пригодных для решения научных, технических, экономических и других задач.
Паскаль (Pascal) был назван в честь французского математика и философа Блеза Паскаля (1623–1662). Созданный как учебный язык программирования в 1968–1971 гг. Никлаусом Виртом в Высшей технической школе (ЕТН) в Цюрихе (Швейцария), он стал одним из наиболее популярных процедурных языков программирования, особенно для персональных компьютеров. В основу разработки языка Паскаль был положен Алгол-60, но ужесточен ряд требований к структуре программы и добавлены возможности, позволяющие успешно применять его для создания крупных проектов.
Ада (Ada) – язык программирования, названный в честь Ады Лавлейс, дочери поэта Байрона, которая была увлечена идеями Чарльза Бэббиджа и разработала первую в мире программу для вычислительной машины. Период с конца 60-х до начала 80-х гг. характеризуется бурным ростом числа различных языков программирования. Однако среди бесчисленного множества языков ни один не мог удовлетворить требованиям военного ведомства США. В мае 1979 г. группа ученых во главе с Жаном Ихбиа победила в конкурсе на создание языка для Пентагона. Язык Ада – прямой наследник Паскаля. Он предназначен для создания и длительного сопровождения больших программных систем, управления процессами в реальном масштабе времени. Важным его достоинством является возможность параллельного программирования ветвей программы, которые затем могут реализоваться на многопроцессорных компьютерах.
Си (С) был разработан в лаборатории Bell для реализации операционной системы UNIX в начале 70-х гг. и не рассматривался как массовый. Он планировался для замены Ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного типа процессора. По набору управляющих конструкций и структур данных Си имеет возможности, присущие высокоуровневым языкам, и вместе с тем он располагает средствами прямого обращения к памяти. Язык Си популярен и широко используется профессиональными программистами.