Современные языки программирования

Автор работы: Пользователь скрыл имя, 24 Февраля 2012 в 19:23, реферат

Краткое описание

Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов – языков программирования. Смысл появления такого языка – оснащенный набор вычислительных формул дополнительной информации, превращает данный набор в алгоритм.

Содержание работы

Введение
1. Языки программирования
2. Способы реализации языков программирования
3. Классификация языков программирования
4. Развитие языков программирования
Заключение
Список литературы

Содержимое работы - 1 файл

Косенова Екатерина..docx

— 81.73 Кб (Скачать файл)
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И  НАУКИ РЕСПУБЛИКИ КАЗАХСТАН
КАЗАХСТАНСКО-АМЕРИКАНСКИЙ СВОБОДНЫЙ  УНИВЕРСИТЕТ
Кафедра Иностранных Языков

 

 

 

 

 

 

 

 

 

 

 

РЕФЕРАТ

 

на тему:

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

 

 

 

 

 

 

 

 

 

 

 

 

 

ВЫПОЛНИЛ: 

 

Студент 1 курса,

группа 11-ИЯ-4-Б-О-Р

 

ПРОВЕРИЛ:                                          Сембинова Татьяна Сергеевна

 

 

 

 

Усть-Каменогорск, 2011

 

Содержание

 

Введение

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

2. Способы реализации языков программирования

3. Классификация языков программирования

4. Развитие языков программирования

Заключение

Список литературы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение.

Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов – языков программирования. Смысл появления такого языка – оснащенный набор вычислительных формул дополнительной информации, превращает данный набор в алгоритм.

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

Со времени создания первых программируемых машин человечество придумало уже более восьми с половиной тысяч языков программирования. Каждый год их число пополняется новыми. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования.

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

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

- Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека компьютеру, в то время, как естественные языки используются для общения людей между собой. В принципе, можно обобщить определение «языков программирования» - это способ передачи команд, приказов, четкого руководства к действию, тогда как человеческие языки служат только для обмена информацией.

- Исполнение: язык программирования  может использовать специальные конструкции для определения и манипуляции структурами данных и управления процессом вычислений.

Можно сказать, что язык программирования служит двум связанным между собой целям: он дает программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист, размышляя о том, что делать. Первой цели идеально отвечает язык, который настолько "близок к машине", что всеми основными машинными аспектами можно легко и просто оперировать достаточно очевидным для программиста образом. Второй цели идеально отвечает язык, который настолько "близок к решаемой задаче", чтобы концепции ее решения можно было выражать прямо и коротко.

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

Со времени создания первых программируемых  машин человечество придумало более  двух с половиной тысяч языков программирования. Каждый год их число увеличивается. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования.

Создатели языков по-разному толкуют  понятие язык программирования. К  наиболее распространённым утверждениям, признаваемым большинством разработчиков, относятся следующие:

Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствами.

Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» — это способ передачи команд, приказов, чёткого руководства к действию; так же как человеческие языки служат также для обмена информацией.

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

Основные требования, предъявляемые  к языкам программирования:

    • Наглядность- использование в языке по возможности уже существующих символов, хорошо известным и понятным как программистам, так и пользователям ЭВМ.
    • Единство - Использование одних и тех же символов для обозначения одних и тех же или родственных понятий в разных частях алгоритма. Количество этих символов должно быть по возможности минимальным.
    • Гибкость- возможность относительно удобного, несложного описания распространенных приемов математических вычислений с помощью имеющегося в языке ограниченного набора изобретательных средств.
    • Модульность- возможность описания сложных алгоритмов в виде совокупности простых модулей, которые могут быть составлены отдельно и использованы в различных сложных алгоритмах.
    • Однозначность – недвусмысленность записи любого алгоритма. Ее отсутствие могло бы привести к неправильным ответам при решении задач

Для многих широко распространённых языков программирования созданы международные  стандарты. Специальные организации  проводят регулярное обновление и публикацию спецификаций и формальных определений  соответствующего языка. В рамках таких  комитетов продолжается разработка и модернизация языков программирования, и решаются вопросы о расширении или поддержке уже существующих и новых языковых конструкций.

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

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

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

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

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

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.Способы реализации языков программирования.

 

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

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

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

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

Компилятор создаёт законченный  результат – программу в машинных кодах. Затем эта программа выполняется. Откомпилированный вариант исходной программы можно сохранить на диске. Для повторного выполнения исходной программы компилятор уже не нужен. Достаточно загрузить с диска  в память компьютера откомпилированный  в предыдущий раз вариант и выполнить его.

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

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

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