Языки программирования.

По признаку «назначение» программы бывают системные, прикладные и системы программирования. Системные и прикладные (классификация) программы изучены. Системы программирования предстоит изучить.

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

Самому написать программу в машинном коде весьма сложно, причем эта сложность резко возрастает с увеличением размера программы и трудоемкости решения нужной задачи. Условно можно считать, что машинный код приемлем, если размер программы не превышает нескольких десятков байтов и нет потребности в операциях ручного ввода/вывода данных.

Поэтому сегодня практически все программы создаются с помощью языков программирования. Теоретически программу можно написать и средствами обычного человеческого (естественного) языка — это называется программированием на метаязыке, но автоматически перевести такую программу в машинный код пока невозможно из-за высокой неоднозначности естественного языка.

Языки программирования — искусственные языки. От естественных они отличаются ограниченным числом «слов», значение которых понятно транслятору, и очень строгими правилами записи команд (операторов). Совокупность подобных требований образует синтаксис языка программирования, а смысл каждой команды и других конструкций языка — его семантику. Нарушение формы записи программы приводит к тому, что транслятор не может понять назначение оператора и выдает сообщение о синтаксической ошибке, а правильно написанное, но не отвечающее алгоритму использование команд языка приводит к семантическим ошибкам (называемым еще логическими ошибками или ошибками времени выполнения).

Процесс поиска ошибок в программе называется тестированием, процесс устранения ошибок — отладкой.

ЯП – фиксированная система обозначений и правил для описания алгоритмов и структур данных.

Эволюция и классификация ЯП.

I поколение. ЯП – набор машинных команд в двоичном или восьмиричном формате. Для каждой ЭВМ требовался свой язык. От программиста требовалось не только знание ЯП, но и знание архитектуры компьютера.

II поколение. Языки ассемблерного типа, позволяющие вместо двоичного или восьмиричного кода использовать их мнемоническое символьное обозначение – имена. Это шаг вперед по сравнению с 1 поколением, но все же это машинно-ориентированные языки. По-прежнему от программиста требовалось не только знание ЯП, но и знание архитектуры компьютера. Сейчас эти ЯП используются для создания ПО по минимальному объему и с максимальной производительностью.

III поколение. В 1965 г. появился первый язык высокого уровня FORTRAN (Дж. Бэкус, фирма IBM). ЯП этого уровня человеко-ориентированные, проще в освоении. Версии FORTRAN использовались на ЭВМ всех классов. За FORTRAN появились и развились ALGOL, COBOL, BASIC, PL/1, PASCAL, APL, ADA,C, FORth, LISP, MODULA, и др. В настоящее время более 2000 ЯП.

IV поколение. ЯП

1) носят непроцедурный характер – описывают ЧТО делать, а не КАК надо делать. Пример – PROLOG, LONGIN. Свободно осваиваются и применяются непрофессионалами;

2) объектно-ориентированнные - каждый графический объект знает, что нужно делать со своими данными (SMALLTALK, его основа SIMULA-67);



3) языки запросов – извлечение информации из БД. Стандарт этих ЯП является SQL – STRUCTURED QUERY LANGUAGE;

4) языки параллельного программирования – ориентированы на создание ПО для вычислительных систем параллельной архитектуры (многомашинные, мультипроцессорные системы и т.д.). Эти языки являются модификацией FORTRAN, OCCAM, SISAL и т.д.).

V поколение. Языки искусственного интеллекта (InterLisp, EXPERTLISP, IQLISP, SAIL) и естественные языки, не требующие освоения специального синтаксиса. В настоящее время естественные языки ограниченных возможностей (CLOUT, Q$A, HAL).

Фактор Характеристика Группы Примеры ЯП
Уровень ЯП Степень близости ЯП к архитектуре компьютера Низкий Автокод, ACCEMBLER
Средний FORTRAN, PASCAL, ADA, BASIC, C
Высокий СЕТЛ
Специализация ЯП Потенциальная или реальная область применения Общего назначения (универсальные) ALGOL, PL/1, SIMULA, BASIC, PASCAL
Специализированные FORTRAN (инженерные расчеты), COBOL (коммерческие задачи), REFAL, LISP (символьная обработка), MODULA, ADA (программирование в режиме реального времени)
Алгоритмичность (процедурность) Возможность абстрагироваться от деталей алгоритма. Алгоритмичность тем выше, чем точнее приходится планировать порядок выполняемых действий Процедурные ACCEMBLER, FORTRAN, BASIC, PASCAL, ADA
Непроцедурные PROLOG, LANGIN

 

<== предыдущая лекция | следующая лекция ==>
Графическое представление алгоритма. | Определение функции


Дата добавления: 2017-04-20; просмотров: 12; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию, введите в поисковое поле ключевые слова и изучайте нужную вам информацию.

Поделитесь с друзьями:

Если вам понравился данный ресурс вы можете рассказать о нем друзьям. Сделать это можно через соц. кнопки выше.
helpiks.org - Хелпикс.Орг - 2014-2017 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.015 сек.