Парадигмы программирования: Каковы принципы программирования?

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

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

Императивное программирование: Классическая парадигма программирования

Среди парадигм программирования для разработки программного обеспечения императивное программирование является классическим вариантом. Первые языки программирования — и, соответственно, первые компьютерные программы — были полностью основаны на этом классическом подходе, который предусматривает управляемую последовательность определенных команд (название происходит от латинского imperare, что означает «повелевать») или инструкций. Например, эта парадигма программирования лежит в основе таких ранних классических языков, как Pascal и C, а также всех языков ассемблера. Императивное программирование отчасти фокусируется на том, чтобы работать как можно ближе к системе. Поэтому получаемый программный код прост для понимания, но в то же время очень объемен.

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

Совет

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

Структурированное программирование

Метод структурированного программирования является упрощенной формой императивного программирования. Принципиальное отличие от базового принципа заключается в том, что вместо абсолютных команд перехода (инструкций, которые приводят к продолжению обработки в другой точке вместо следующей команды) в этой парадигме программирования используются циклы управления и структуры. Примером может служить использование «do…while», которое автоматически выполняет инструкцию до тех пор, пока определенное условие истинно (хотя бы один раз).

Процедурное программирование

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

Модульное программирование

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

Декларативное программирование: парадигма недавнего прошлого

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

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

Совет

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

Функциональное программирование

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

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

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

Совет

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

Логическое программирование

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

Совет

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

Сравнение парадигм программирования: императивное и декларативное программирование

Парадигма императивного программирования Декларативная парадигма программирования
«Как?» «Что?»
Классика Новая тенденция
Программа, основанная на этой парадигме, состоит из серии инструкций, которые указывают компьютеру, что он должен вычислить/сделать и в каком порядке. Программа, основанная на этой парадигме, состоит из инструкций о том, как программа должна работать с входными данными. Вычисления выполняются путем манипулирования значениями, причем процедура контролируется процессом рекурсии.
Название происходит от «imperare», латинского слова, означающего «командовать». Название происходит от «declarare», латинского слова, означающего «описывать».
Указывается желаемый путь решения Указывается желаемый результат.
Типичные языки программирования включают C, Pascal, Fortran, ALGOL и все языки ассемблера. Типичные языки программирования включают Lisp, ML, Haskell, F#, Prolog и Oz

Оцените статью
cdelat.ru
Добавить комментарий