Языки и среды программирования

Автор работы: Пользователь скрыл имя, 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

Файлы: 1 файл

Прикладная информатика 1.docx

— 44.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 и др.) и логическое программирование  

В настоящее время также  активно развиваются проблемно-ориентированные, декларативные и визуальные языки  программирования.

Компилируемые и интерпретируемые языки:

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

Однако  интерпретируемые программы выполняются  заметно медленнее, чем компилируемые, кроме того, они не могут выполняться  без дополнительной программы-интерпретатора.

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

Разделение на компилируемые  и интерпретируемые языки является несколько условным. Так, для любого традиционно компилируемого языка, как, например, Паскаль, можно написать интерпретатор. Кроме того, большинство  современных «чистых» интерпретаторов  не исполняют конструкции языка  непосредственно, а компилируют  их в некоторое высокоуровневое  промежуточное представление (например, с разыменованием переменных и раскрытием макросов).

Для любого интерпретируемого  языка можно создать компилятор-например, язык Лисп, изначально интерпретируемый, может компилироваться без каких  бы то ни было ограничений. Создаваемый  во время исполнения программы код  может так же динамически компилироваться  во время исполнения Языки программирования могут быть разделены на компилируемые  и интерпретируемые.

Программа на компилируемом  языке при помощи специальной  программы компилятора преобразуется (компилируется) в набор инструкций для данного типа процессора (машинный код) и далее записывается в исполняемый  файл, который может быть запущен  на выполнение как отдельная программа. Другими словами, компилятор переводит программу с языка высокого уровня на низкоуровневый язык, понятный процессору.

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

Языки высокого уровня:

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

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

Algol

Алгол - название ряда языков программирования, применяемых при  составлении программ для решения  научно-технических задач на ЭВМ. Разработан комитетом по языку высокого уровня IFIP в 1958-1960 гг. (Алгол-58, Алгол-60); усовершенствован в 1964-1968 гг. (Алгол 68). Алгол относится к языкам высокого уровня и позволяет легко переводить алгебраические формулы в программные команды. Алгол был популярен в Европе, в том числе в СССР, в то время как сравнимый с ним язык Фортран был распространен в США и Канаде. Оказал заметное влияние на все разработанные позднее императивные языки программирования - в частности, на язык Pascal.

Pascal

Паскаль был создан как  язык для обучения процедурному программированию (хотя, по словам Вирта, язык нельзя считать  только учебным, поскольку язык, непригодный  для написания реальных программ, для обучения использоваться не должен). Название языку дано в честь выдающегося  французского математика, физика, литератора и философа Блеза Паскаля. Один из первых языков, для которых была создана реализация «на самом  себе» — компилятор Паскаля был  написан на самом Паскале. В начале 1970-х годов для переноса Паскаль-систем на различные аппаратные платформы  была создана система Pascal-P, в которой был единый компилятор Паскаля в промежуточный язык (P-код) и для каждой платформы создавался быстрый интерпретатор P-кода. Заимствование этой системы привело к созданию системы UCSD Pascal в Университете Сан-Диего (Калифорния, США), намного позже её идеи были заимствованы создателями языка Java (байт-код, компиляция в байт-код, интерпретатор байт-кода).

Basic

BASIC — сокращение от англ. Beginner's All-purpose Symbolic Instruction Code — универсальный код символических инструкций для начинающих; англ. basic — основной, базовый) — семейство высокоуровневых языков программирования.

Был разработан в 1963 профессорами Дартмутского колледжа Томасом Куртцом (Thomas E. Kurtz, 1928-) и Джоном Кемени (John G. Kemeny, 1926—1993). Язык предназначался для обучения программированию и получил широкое распространение в виде различных диалектов, прежде всего, как язык для домашних микрокомпьютеров.

Бейсик был спроектирован  так, чтобы студенты могли писать программы, используя терминалы  с разделением времени. Он создавался как решение для проблем, связанных  со сложностью более старых языков. Он предназначался для более «простых»  пользователей, не столько заинтересованных в скорости программ, сколько просто в возможности использовать компьютер  для решения своих задач.

Prolog

Пролог (Prolog) — язык логического программирования, основанный на логике дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка. Многие современные реализации языка имеют внутреннее расширение за счет ООП-архитектуры. Кроме проприетарных решений также существуют свободные реализации Пролог. Важно, что для языка существует стандарт ISO принятый как ISO/IEC JTC1/SC22/WG17.

Информация о работе Языки и среды программирования