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

Автор работы: Пользователь скрыл имя, 18 Октября 2014 в 20:49, реферат

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

Существует множество классификаций языков программирования.
По степени ориентации на специфические возможности ЭВМ:
● машинно-зависимые;
● машинно-независимые.
К машинно-зависимым языкам программирования относятся
машинные языки, ассемблеры и автокоды, которые
используются в системном программировании. Программа на
машинно-зависимом языке может выполняться только на ЭВМ
данного типа

Содержание

1.Виды классификации …………………………………………3
2.Низкоуровневый язык программирования ………………..4
3.Высокоуровневый язык программирования………………4
4. Компилируемый язык программирования ………………..4
5. Интерпретируемый язык программирования ……………5
6.Классы языков программирования ……………………….5
7.Основные понятия ООП ……………………………………...7
8.Основные концепции………………………………………….7
9.Развитие языков программирования………………………7
10.Список литературы…………………………………………15

Вложенные файлы: 1 файл

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

— 272.39 Кб (Скачать файл)

МОУ СОШ №5

 

 

 

Тема: «Классификация языков

программирования»

 

 

Работу выполнили ученица 11 а класса:

Шутилова Елизавета

 

 

 

Преподаватель:

В.К. Тихонова

 

 

 

 

 

 

 

 

 

 

 

 

 

Г. Кировск.

2014 г.

 

 

Содержание:

1.Виды классификации …………………………………………3

2.Низкоуровневый язык программирования ………………..4

3.Высокоуровневый язык программирования………………4

4. Компилируемый язык программирования ………………..4

5. Интерпретируемый язык программирования ……………5

6.Классы языков программирования ……………………….5

7.Основные понятия ООП ……………………………………...7

8.Основные концепции………………………………………….7

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

10.Список литературы…………………………………………15

 

 

 

 

 

 

 

 

 

 

 

Виды классификации.

Существует множество классификаций языков программирования.

По степени ориентации на специфические возможности ЭВМ:

● машинно-зависимые;

● машинно-независимые.

К машинно-зависимым языкам программирования относятся

машинные языки, ассемблеры и автокоды, которые

используются в системном программировании. Программа на

машинно-зависимом языке может выполняться только на ЭВМ

данного типа. Программа на машинно-независимом ЯП после

трансляции на машинный язык становится машинно-

зависимой. Этот признак языка программирования определяет

мобильность получаемых программ (возможность переноса на

ЭВМ другого типа).

По степени детализации алгоритма получения результата:

● языки низкого уровня;

● языки высокого уровня;

● языки сверхвысокого уровня.

По степени ориентации на решение определенного

класса задач:

● проблемно-ориентированные;

● универсальные.

По возможности дополнения новыми типами данных и операциями:

● языки систем реального времени;

● языки систем условного времени.

По способу получения результата:

● процедурные;

● непроцедурные.

По типу решаемых задач:

● языки системного программирования;

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

Низкоуровневый язык программирования.

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

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

Высокоуровневый язык программирования.

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

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

Компилируемый язык программирования.

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

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

Интерпретируемый язык программирования.

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

Интерпретатор - программа (иногда аппаратное средство), анализирующее команды или операторы программы и немедленно выполняющее их.

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

● директивные (directive), называемые также процедурными

(procedural) или императивными (imperative) - Algol, Fortran,

Basic, Pascal, C.

● декларативные (declarative) языки, в свою очередь

включающие в себя функциональные (functional), такие как

Lisp, Haskell и логические (logical), такие как Prolog.

● объектно-ориентированные (object-oriented). Среди этого

класса наиболее известными представителями являются C++,

Java, Python и Ruby.

Примечание: данная классификация не является

единственной и охватывает лишь наиболее распространенные

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

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

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

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

Декларативное программирование.

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

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

Логическое программирование основано на выводе новых фактов из данных фактов согласно заданным логическим правилам. Логическое программирование основано на теории математической логики.

Объектно-ориентированное программирование (ООП) - парадигма программирования, в которой основными концепциями являются понятия объектов и классов.

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

Все объекты являются представителями, или экземплярами, классов.

Класс -- это тип, описывающий устройство объектов -- экземпляров.

Основные понятия ООП.

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

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

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

Основные концепции.

● Система состоит из объектов

● Объекты некоторым образом взаимодействуют

между собой

● Каждый объект характеризуется своим состоянием и

поведением

● Состояние объекта задаётся значением полей

данных

● Поведение объекта задаётся методами

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

 1. Ассемблер

Язык Ассемблера - это символическое представление машинного языка. Он облегчает процесс программирования по сравнению с программированием в машинных кодах.

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

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

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

Умея разобраться в распечатке языка ассемблера, дает возможность облегчить поиск ошибок в программах, т.к. некоторые языки являются компиляторами.

2. Лисп

Один из самых старых языков программирования Фортран был создан в 50-х гг. нашего века. Фортран и подобные ему языки программирования (Алгол, ПЛ/1) предназначались для решения вычислительных задач, возникающих в математике, физике, инженерных расчетах, экономике и т.п. Эти языки в основном работают с числами.

Второй старейший язык программирования Лисп (List Information Symbol Processing), Дж. Маккарти в 1962 г. скорее для работы со строками символов, нежели для работы с числами. Это особое предназначение Лиспа открыло для программистов новую область деятельности, известную ныне, как «искусственный интеллект». В настоящее время Лисп успешно применяется в экспертных системах, системах аналитических вычислений и т.п.

Обширность области возможных приложений Лиспа вызвала появление множества различных диалектов Лиспа. Это легко объяснимо: применение Лиспа для понимания естественного языка требует определенного набора базисных функций, отличных, например, от используемого в задачах медицинской диагностики.

Существование множества различных диалектов Лиспа привело к созданию в начале 80-х гг. Common LISP Комитета, который должен был выбрать наиболее подходящий диалект Лиспа и предложить его в качестве основного. Этот диалект, выбранный Комитетом в 1985г., получил название Common LISP . В дальнейшем он был принят в университетах США, а также многими разработчиками систем искусственного интеллекта, в качестве основного диалекта языка Лисп.

Язык программирования Лисп существенно отличается от других языков программирования, таких, как Паскаль, Си и т.п. Работа с символами и работа с числами как с основными элементами требует разных способов мышления.

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

Профессор Массачусетского технологического института Дж. Саман заметил, что математическая ясность и предельная четкость Лиспа - это еще не все. Главное - Лисп позволяет сформулировать и запомнить «идиомы», столь характерные для проектов по искусственному интеллекту.

  3. Фортран

Одним из первых и наиболее удачных компиляторов стал язык Фортран, разработанный фирмой IBM. Профессор Дж. Букс и группа американских специалистов в области программирования в 1954 году опубликовало первое сообщение о языке. Дословно, название языка FORmulae TRANslation -преобразование формул.

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