Автор работы: Пользователь скрыл имя, 10 Января 2013 в 16:09, реферат
Язык программирования — формальная знаковая система, предназначенная для записи программ. Программа обычно представляет собой некоторый алгоритм в форме, понятной для исполнителя (например, компьютера). Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах.
Введение: 3
Функция: 3
Исполнение: 3
Типы данных: 5
Структуры данных: 5
Семантика языков программирования: 5
Парадигмы программирования: 5
Компилируемые и интерпретируемые языки: 6
Языки высокого уровня: 7
Algol 7
Pascal 7
Basic 8
Prolog 8
СИ ++ 8
Полиморфизм 9
Среда программирования 9
Компоненты среды программирования: 10
«Прикладная информатика» |
Языки и среды программирования |
Студент: Лектор:
|
Содержание
Введение: 3
Функция: 3
Исполнение: 3
Типы данных: 5
Структуры данных: 5
Семантика языков программирования: 5
Парадигмы программирования: 5
Компилируемые и интерпретируемые языки: 6
Языки высокого уровня: 7
Algol 7
Pascal 7
Basic 8
Prolog 8
СИ ++ 8
Полиморфизм 9
Среда программирования 9
Компоненты среды программирования: 10
Языки и среды программирования
Создатели языков по-разному толкуют понятие язык программирования. К наиболее распространенным утверждениям, признаваемым большинством разработчиков, относится следующее:
Язык программирования — формальная
знаковая система, предназначенная
для записи программ. Программа обычно
представляет собой некоторый алгоритм
в форме, понятной для исполнителя
(например, компьютера). Язык программирования
определяет набор лексических, синтаксических
и семантических правил, используемых
при составлении компьютерной программы.
Он позволяет программисту точно
определить то, на какие события
будет реагировать компьютер, как
будут храниться и передаваться
данные, а также какие именно действия
следует выполнять над этими
данными при различных
Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствами.
Задача: язык программирования
отличается от естественных языков тем,
что предназначен для передачи команд
и данных от человека компьютеру, в
то время, как естественные языки
используются для общения людей
между собой. В принципе, можно
обобщить определение «языков
Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений.
Классы языков программирования:
Список языков программирования:
1. Неклассифицированные языки
2. XML-подобные языки программирования
3. Структурные языки программирования
4. Процедурные языки программирования
5. Логические языки программирования
6. Программирование в ограничениях
7. Объектно-ориентированные языки программирования
8. Функциональные языки программирования
9. Языки программирования для промышленной автоматизации
10. Эзотерические языки программирования
11. Стековые языки
12. Параллельные языки программирования
Стандартизация языков программирования:
Язык программирования может быть представлен в виде набора спецификаций, определяющих его синтаксис и семантику.
Для многих
широко распространённых
Во внутреннем представлении
обычно данные в современных цифровых
компьютерах сохраняются в
Особая система, по которой
данные организуются в программе, эта
система типов языка
Статически-типизированные языки могут быть в дальнейшем подразделены на языки с обязательной декларацией, где каждая переменная и объявление функции имеет обязательное объявление типа, и языки с выводимыми типами. Иногда динамически-типизированные языки называются латентно типизированными
Системы типов в языках высокого уровня позволяют определять сложные, составные типы, так называемые структуры данных. Как правило, структурные типы данных образуются как декартово произведение базовых (атомарных) типов и ранее определённых составных типов.
Основные структуры данных
(списки, очереди, хэш-таблицы, двоичные
деревья и пары) часто представлены
особыми синтаксическими
Существует несколько подходов к определению семантики языков программирования.
Наиболее широко распространены
разновидности следующих: операционного
(или так называемого
При описании семантики в
рамках операционного подхода обычно
исполнение конструкций языка
Деривационная семантика
описывает последствия
Язык программирования строится в соответствии с той или иной базовой моделью вычислений.
Несмотря на то, что большинство языков ориентировано на так называемую императивную модель вычислений, задаваемую так называемой фон-неймановской архитектурой ЭВМ, существуют и другие подходы. Прежде всего следует упомянуть языки со стековой вычислительной моделью (Forth, Factor, Postscript и др.), а также функциональное (Лисп, Haskell, ML и др.) и логическое программирование
В настоящее время также
активно развиваются проблемно-
Как правило, скомпилированные
программы выполняются быстрее
и не требуют для выполнения дополнительных
программ, так как уже переведены
на машинный язык. Вместе с тем при
каждом изменении текста программы
требуется ее перекомпиляция, что
создает трудности при
Однако интерпретируемые программы выполняются заметно медленнее, чем компилируемые, кроме того, они не могут выполняться без дополнительной программы-интерпретатора.
Кратко говоря, компилятор переводит программу на машинный язык сразу и целиком, создавая при этом отдельную программу, а интерпретатор переводит на машинный язык прямо во время исполнения программы.
Разделение на компилируемые и интерпретируемые языки является несколько условным. Так, для любого традиционно компилируемого языка, как, например, Паскаль, можно написать интерпретатор. Кроме того, большинство современных «чистых» интерпретаторов не исполняют конструкции языка непосредственно, а компилируют их в некоторое высокоуровневое промежуточное представление (например, с разыменованием переменных и раскрытием макросов).
Для любого интерпретируемого
языка можно создать
Программа на компилируемом
языке при помощи специальной
программы компилятора
Если программа написана на интерпретируемом языке, то интерпретатор непосредственно выполняет (интерпретирует) ее текст без предварительного перевода. При этом программа остается на исходном языке и не может быть запущена без интерпретатора. Можно сказать, что процессор компьютера — это интерпретатор машинного кода.
Высокоуровневый язык программирования - язык программирования, разработанный для быстроты и удобства использования программистом. Основная черта высокоуровневых языков - это абстракция, то есть введение смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, описания которых на машинном коде (или другом низкоуровневом языке программирования) очень длинны и сложны для понимания.
Так, высокоуровневые языки стремятся не только облегчить решение сложных программных задач, но и упростить сортирование программного обеспечения. Использование разнообразных трансляторов и интерпретаторов обеспечивает связь программ, написанных при помощи языков высокого уровня, с различными операционными системами и оборудованием, в то время как их исходный код остаётся, в идеале, неизменным.
Алгол - название ряда языков программирования, применяемых при составлении программ для решения научно-технических задач на ЭВМ. Разработан комитетом по языку высокого уровня IFIP в 1958-1960 гг. (Алгол-58, Алгол-60); усовершенствован в 1964-1968 гг. (Алгол 68). Алгол относится к языкам высокого уровня и позволяет легко переводить алгебраические формулы в программные команды. Алгол был популярен в Европе, в том числе в СССР, в то время как сравнимый с ним язык Фортран был распространен в США и Канаде. Оказал заметное влияние на все разработанные позднее императивные языки программирования - в частности, на язык Pascal.
Паскаль был создан как язык для обучения процедурному программированию (хотя, по словам Вирта, язык нельзя считать только учебным, поскольку язык, непригодный для написания реальных программ, для обучения использоваться не должен). Название языку дано в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля. Один из первых языков, для которых была создана реализация «на самом себе» — компилятор Паскаля был написан на самом Паскале. В начале 1970-х годов для переноса Паскаль-систем на различные аппаратные платформы была создана система Pascal-P, в которой был единый компилятор Паскаля в промежуточный язык (P-код) и для каждой платформы создавался быстрый интерпретатор P-кода. Заимствование этой системы привело к созданию системы UCSD Pascal в Университете Сан-Диего (Калифорния, США), намного позже её идеи были заимствованы создателями языка Java (байт-код, компиляция в байт-код, интерпретатор байт-кода).
BASIC — сокращение от англ. Beginner's All-purpose Symbolic Instruction Code — универсальный код символических инструкций для начинающих; англ. basic — основной, базовый) — семейство высокоуровневых языков программирования.
Был разработан в 1963 профессорами Дартмутского колледжа Томасом Куртцом (Thomas E. Kurtz, 1928-) и Джоном Кемени (John G. Kemeny, 1926—1993). Язык предназначался для обучения программированию и получил широкое распространение в виде различных диалектов, прежде всего, как язык для домашних микрокомпьютеров.
Бейсик был спроектирован так, чтобы студенты могли писать программы, используя терминалы с разделением времени. Он создавался как решение для проблем, связанных со сложностью более старых языков. Он предназначался для более «простых» пользователей, не столько заинтересованных в скорости программ, сколько просто в возможности использовать компьютер для решения своих задач.
Пролог (Prolog) — язык логического программирования, основанный на логике дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка. Многие современные реализации языка имеют внутреннее расширение за счет ООП-архитектуры. Кроме проприетарных решений также существуют свободные реализации Пролог. Важно, что для языка существует стандарт ISO принятый как ISO/IEC JTC1/SC22/WG17.