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




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

Классификация:

  1. По степени зависимости языка от языка машины
    1. Машинно-зависимые языки

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

i. Машинные

Ориентированы на использование в конкретной ЭВМ, сложны в освоении, требуют хорошего знании архитектуры ЭВМ

ii. Машинно-ориентированные

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

1. Мнемокоды

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

2. Макроязыки

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

Макроязык допускает использование макрокоманд.

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

    1. Машинно-независимые языки:

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

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

i. Процедурные (директивные/императивные) языки

Процедурные языки – это языки, определяющие, как вычислять результат для какой-нибудь проблемы в соответствии с заданным алгоритмом. К ним относятся: Алгол, Фортран, Бейсик, Паскаль, Си.

1. Неструктурные

Неструктурное программирование допускает использование в явном виде команды безусловного перехода (в большинстве языков GOTO). Это влечет за собой массу серьезных недостатков: программу, которая содержит бесконечные переходы вверх-вниз, очень трудно изменять и дополнять. Типичными представителями неструктурных языков являются ранние версии Бейсика и Фортрана.

2. Структурные

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

ii. Декларативные языки

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

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

1. Функциональные (аппликативные)

В основе функциональных языков лежит понятие функции как "черного ящика", имеющего несколько параметров (аргументов) на входе и один результат на выходе – f(x1, x2, …, xn) = y.

В таких языках отсутствуют операторы: все действия, в том числе и управляющие конструкции, выполняются при помощи вызовов функций. Одним из первых функциональных языков стал Лисп, созданный американским ученым Джоном Маккарти в 1957 году.

2. Логические

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

iii. Объектно-ориентированные языки

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

//Подробней на сайте https://refdb.ru/look/2712679.html

 



Поделиться:




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

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-03-31 Нарушение авторских прав и Нарушение персональных данных


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