Языки, системы и стили программирования, страница 2

Языки программирования низкого уровня – это языки, ориентированные на конкретный тип процессора. Исторически это были первые языки программирования (появились в начале 50-х гг.), в которых с помощью специальных символов записывался цифровой машинный код. В настоящее время языки программирования низкого уровня используются при разработке драйверов внешних устройств и отдельных прикладных программ обработки данных (например, изображений).

Пример языка низкого уровня – язык Ассемблера и его модификации

Языки программирования высокого уровня – это языки, не ориентированные на конкретный тип процессора. Исходный текст программы, написанный на языке высшего уровня, может быть использован на любой ЭВМ, поддерживающей (транслирующей) этот язык. В этом смысле языки программирования высокого уровня являются универсальными, они ближе и понятие человеку (основные операторы, как правило, определяются с использованием слов на английском языке), а возможности каждой программы значительно шире, чем у команд языка низкого уровня. Так, в языке Ассемблера заложен принцип «одна инструкция - одна строка». У языков высокого уровня один оператор (одна инструкция) может определять целый вычислительный процесс, для реализации которого на языках низкого уровня потребовались десятки и сотни строк исходного кода.

Примеры языков высокого уровня Фортран, Кобол, Алгол, Паскаль, ПЛ-1, Бейсик, СИ, Ява и другие.

Языки программирования высокого уровня можно разделить на 4 основных типа: процедурный, функциональный, логический, объектно-ориентированный (типы языков программирования перечислены в порядке увеличения сложности и возрастания уровня программирования).

Процедурное программирование – задание последовательности операторов, определяющих порядок решения задачи. Оператор – элементарное арифметическое или логическое действие (инструкция), определяющее очередной шаг решения прикладной задачи. Выполнение программы при процедурном программировании сводится к последовательному выполнению операторов. Примеры языков процедурного программирования: СИ (С), Бейсик (Basic), Паскаль (Pascal). Процедурные языки программирования широко используются самостоятельно, как языки прикладного программирования, так и в составе систем программирования: Visual Basic, Borland Pascal.

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

Для языков функционального программирования характерно задание больших наборов стандартных функций. Данный тип языков программирования ориентирован на решение прикладных задач обработки данных. Примеры языков функционального программирования: LISP, GPRS.

Логическое программирование – задание совокупности отношений между объектами и цели решения задачи. Выполнение программы сводится к проверке условий и ограничений методом последовательного перебора (методом проб и ошибок) с поиском условий достижения цели. Отношение – совокупность некоторых элементарных логических операций, более сложная операция, чем оператор при процедурном программировании.

Данный тип языков программирования ориентирован на решение логических задач, в том числе задач программирован систем искусственного интеллекта (систем, управляемых знаниями). Пример языка логического программирования – Пролог (PROLOG).

Функциональное и логическое программирование можно рассматривать как развитие процедурного программирования для решения арифметических и логических задач соответственно.