Парадигмы программирования


По одной из классификации языки программирования делятся на:

1. Директивные (directive), называемые также процедурными(procedural)или императивные (imperative);

2. Декларативные (declarative) языки;

3. Объектно-ориентированные(object-oriened).

К директивным относятся такие классические языки как Algol, Fortran, Basic, Pascal, C.Наиболее существенными классами декларативных языков являются функциональные (functional) или аппликативные, и логические (logic) языки. К категории функциональных языков относятся, например, Lisp и Haskell.Самым известным языком логического программирования является Prolog (пролог). Среди объектно-ориентированных языков программирования (языки ООП) отметим С+, Java, Python, Ruby.

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

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

Директивная программа – это список команд примерно такого рода: от пункта А по ул. Садовой на севе од площади Славы, оттуда по ул. Пушкина 2 квартала, потом повернуть направо и идти до Театрального переулка, по этому переулку налево по правой стороне до дома 20, который есть пункт Б.

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

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

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

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



Дата добавления: 2016-06-05; просмотров: 2148;


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

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.