Типы языков программирования высокого уровня
В настоящее время существует огромное число различных языков программирования высокого уровня, используемых для создания компьютерных программ различного прикладного характера. Ниже приводятся основные типы языков программирования высокого уровня и описываются примеры конкретных из них.
а) универсальные языки (часто называют - "алгоритмические" или "процедурные" языки программирования). Программы на них используются специалистами из любых областей:
· Ada (читается "Ада") - используется для разработки программного обеспечения встроенных и управляющих комплексов (например, аэронавигационных). Язык был разработан по инициативе Минобороны США и назван в честь Августы Ады Лавлейс (она - дочь поэта Байрона, ученица и помощница Беббиджа, опубликовавшая в 1843 г. труды учителя, первая программистка).
· C (читается "Си") - один из самых распространённых языков программирования, первоначально был разработан для ОС UNIX, но быстро был перенесён и на другие ОС, (утвержден Международной Ассоциацией по стандартизации ISO в качестве стандарта). Язык программирования Cи часто называют "процедурным", а иногда - и "алгоритмическим" языком программирования. Расширенный объектно-ориентированный язык Си называется C++.
· Basic (читается "Бэйсик") - простой язык программирования, разработанный в Дартмутском колледже для использования студентами в системах разделения времени.
· Pascal (читается "Паскаль") - процедурный язык программирования высокого уровня. Был создан в 1971 году швейцарским математиком Никлаусом Виртом, получил широкое распространение особенно в студенческой среде, назван в честь французского физика и математика Блеза Паскаля (1623-1662), создавшим первую механическую машину для счета. Язык Pascal прозван "студенческим".
· Fortran - (читается "Фортран") язык, предназначенный для научных расчётов (разработан в 1956 г. компанией IBM).
б) языки прикладного характера (для определённых областей их использования):
· Algol (от англ. algorithmic language - "алгоритмический язык") - (читается "Алгол") название ряда языков программирования, применяемых при составлении программ для решения научно-технических и математических (особенно численных) задач на ЭВМ. Разработан в 1958-60 (Алгол-58, Алгол-60); усовершенствован в 1964-68 Алгол 68. Алгол позволяет легко переводить алгебраические формулы в программные команды. Алгол был популярен в Европе, в том числе СССР, в то время как сравнимый с ним Фортран был распространен в США и Канаде, однако он оказал заметное влияние на все разработанные позднее языки программирования, и, в частности, на язык Pascal. Алгол был разработан комитетом, в который входили европейские и американские учёные. У истоков создания языка стояли Джон Бэкус, Питер Наур, Эдсгер Дейкстра и Уолли Фойрцойг, создавший язык Logo.
· Chill - (читается "Чилл") для использования в коммуникационных сетях, принят Международным союзом электросвязи (ITU) в качестве стандарта для программирования автоматизированных комплексов в телефонных сетях.
· Cobol - (читается "Кобол") язык для решения экономических задач (получил распространение в 1961 г. в области обработки коммерческой информации).
· PostScript - язык для описания документов, в т.ч. изображений.
· SGML - язык логического описания структуры документов (распространён с 1986 г.).
в) языки параллельного программирования:
· LINDA - (читается "Линда") язык, предназначенный для параллельной обработки данных, создан для написания программ, выполняемых на суперкомпьютерах с различной архитектурой).
г) языки описания процессов искусственного интеллекта:
· IPL - (читается "Ай-пи-эль") язык для написания программ, предназначенных для не чисел, а понятий (это первый язык имитации функции мышления).
· LISP - (читается "Лисп") декларативный язык обработки списков (был разработан в рамках Проекта "приём советов", предназначенного для управления автоматическими системами в сложных ситуациях).
· Prolog - (читается "Пролог") язык программирования задач искусственного интеллекта (это новый подход к использованию формальной логики, программист имеет дело с логическими связями между понятиями). Пролог был создан в 1973 году на основе метода резолюций, позволившего автоматически доказывать теоремы при наличии набора исходных аксиом, и считается языком логического программирования.
д) языки описания сценариев:
· HTML - язык описания гипертекстовых документов, разработанный Тимом Бернерсом-Ли.
· Java (или Java-скрипт, читается "джава") - язык описания сценариев, часто используется для создания скриптов - исполняемых модулей на web-страницах сети Интернет, а также для создания игровых Java-приложений для мобильных телефонов.
· Perl - (читается "Перл") язык описания сценариев, используется для создания скриптов на web-страницах сети Интернет.
· PHP (читается "пи-эйч-пи") - язык описания сценариев, используется для написания программ, исполняемых на серверах сети Интернет.
Среды программирования
Интегрированная среда программирования - это набор ряда системных программ, обеспечивающих все действия, необходимые для прохождения программы на данном языке программирования через ЭВМ.
Среда программирования обычно состоит из следующих компонентов:
· универсальный текстовый редактор (для набора исходного текста программы на выбранном языке программирования);
· компилятор входного языка (для создания объектного кода);
· редактор связей (линковщик - для создания исполняемого модуля);
· встроенный символьный отладчик (debugger - для отладки программы, т.е. для поиска и исправления ошибок программы в исполняемом модуле);
· средства оптимизации кода программы (компоновщик - для уменьшения размеров исполняемого файла программы и оптимизации её работы);
· набор библиотек (функций, процедур, объектов) и модулей (с исходными текстами);
· справочные системы различного вида (Help);
· макрокоманды (клавишные и языковые макросы - для удобства создания программы на всех этапах)
Среда программирования часто имеет многооконный интерфейс с развитой системой меню, что обеспечивает высокую производительность труда программиста.
Создавать программу на конкретном языке программирования можно в различных средах программирования, но каждая среда программирования поддерживает, как правило, только один язык. Например, различные среды программирования на одном и том же языке программирования Basic представлены на схеме:
9.1.5. Этапы создания компьютерной программы
на языке программирования высокого уровня
После того, как программистом построена математическая модель решения задачи, составлен алгоритм работы программы, выбрана платформа (операционная система) работы будущей программы, начинается компьютерный этап реализации задачи. Программист выбирает язык программирования и среду программирования на этом языке.
Создание новой компьютерной программы на языке программирования высокого проходит в несколько этапов:
1) набор текста кода программы на выбранном языке программирования в текстовом редакторе среды программирования. При этом создаётся текстовый файл с кодом программы, называемый исходный код. Так, например, при создании программ на языке программирования Pascal в среде программирования Turbo Pascal создаётся текстовый файл с расширением *.PAS;
2) обработка исходного кода программы транслятором среды программирования для получения объектного кода. Так как большинство сред программирования имеют встроенный транслятор-компилятор, то этот этап часто называется "компиляцией" программы. При компиляции создаётся на диске компьютера или в его оперативной памяти объектный файл с откомпилированным кодом программы, называемый объектный код. Такой файл может иметь расширение *.OBJ;
3) обработка объектного кода специальной системной программой, называемой редактор связей (или "линковщик"). Часто при этом осуществляется и оптимизация кода программы компоновщиком. Поэтому этот заключительный этап часто называют компоновкой программы. После компоновки из объектного модуля создаётся исполняемый модуль - готовый файл программы, имеющий расширение *.EXE (или реже - *.COM). Иногда исполняемый модуль создаётся только в памяти компьютера и не записывается в виде файла на диск. Тогда запуск новой программы возможен лишь в среде программирования.