Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КОНСПЕКТ ЛЕКЦИЙ_(полный вариант).doc
Скачиваний:
124
Добавлен:
09.04.2015
Размер:
1.01 Mб
Скачать

Процедурные языки (с, basic, fortran, pascal и др.)

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

Объектно-ориентированные языки (С++, Java,Visual Basic)

Переменные и функции в такой программе группируются в так называемые классы. Благодаря этому достигается более высокий уровень структуризации программы. Работа программы рассматривается как последовательность событий и соответствующих реакций объектов на эти события. В принципе объектно-ориентированный язык базируется на процедурной модели программирования.

Функциональные языки

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

Логические языки (лисп, пролог)

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

Большинство используемых сегодня языков программирования, были созданы на рубеже 60-х и 70-х годов. При этом новые языки не переставали регулярно появляться, однако ни один из них (кроме Java) не задержался в практике программирования.

По существу прекращены попытки создания “универсального” языка программирования, призванного объединить в себе все последние достижения в области разработки языков (из попыток 60-х – 70-х годов можно вспомнить Алгол, PL/1, Аду). Крупные "языковые” проекты безвозвратно ушли в прошлое вместе с порожденными ими языками.

Наконец, появление персонального компьютера и ОС с графическим интерфейсом (прежде всего Mac OS и Windows) переместило внимание разработчиков программного обеспечения из сферы языков программирования в другие области средств разработки ПО, такие, как визуальное или объектно-ориентированное программирование или модели баз данных. Программист все чаще использует в качестве инструмента не столько язык, сколько конкретную систему программирования (например, Delphi), а какой язык является для нее базовым, не так уж важно.

Трансляторы

Программу на языке программирования записывают в обычном текстовом редакторе. В таком виде программу называют исходным модулем (кодом, текстом).

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

Процессор не может исполнить такую программу, пока ее операторы не будут представлены в виде инструкций процессору. Для этого существуют специальные программы – трансляторы.

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

Существуют два вида трансляторов: компиляторы и интерпретаторы.

Компилятор – программа-транслятор, преобразующая исходный программный модуль в объектный модуль.

Объектный модуль – преобразованный в машинный код исходный программный модуль.

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

Исполняемый модуль – это объектный модуль с подключенными библиотечными программами.

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

Кроме того, обычно используют оптимизирующие компиляторы. Такой компилятор найдет все повторяющиеся места программы и сделает длину объектного модуля минимальной. В результате дополнительно сокращается время исполнения программы, уменьшается потребность в оперативной памяти.

Все языки программирования можно условно разделить на компилируемые и интерпретируемые. Поскольку откомпилированные программы выполняются в 20-50 раз быстрее, практически все прикладные и служебные программы поставляются в откомпилированном виде. Файлы таких программ имеют расширение .EXE или .COM.

Некоторые интерпретируемые языки программирования могут иметь также и компиляторы.

Интерпретируемые языки проще в изучении.