Языки программирования бывают разных форм и размеров: интерпретируемые и компилируемые, со слабой и строгой типизацией, низкоуровневые и высокоуровневые, лаконичные и выразительные. Есть много сегментов, в которые вы можете поместить язык программирования, хотя не все они одинаково значимы.
Одним из наиболее распространенных способов классификации языков является организация их в парадигмы. Можно рассматривать парадигму как группу языков, имеющие схожие характеристики. На данный момент используется множество парадигм: процедурные, функциональные и объектно-ориентированные. Многие их этих терминов часто применяются некорректно или их путают. Также есть некая степень совпадения между различными парадигмами, что усложняет задачу.
Для новичков, не разобравшихся в теме, довольно сложно будет понять все эти парадигмы. В этой статье мы рассмотрим одну из них – парадигму императивного программирования.
Что такое императивное программирование?
Императивное программирование – это парадигма разработки программного обеспечения, в которой программа описывает шаги, изменяющие состояние компьютера. Эта парадигма требует понимания функций, необходимых для решения проблемы, а не опоры на модели, способные ее решить. В императивном программировании особое внимание уделяется тому, как должна решаться проблема, для чего и необходимо подробное пошаговое руководство. Поскольку написанный код выполняет функции вместо моделей, программист должен кодировать каждый шаг. Программы, написанные таким способом, часто компилируются в двоичные исполняемые файлы, которые более эффективны, так как все инструкции процессора сами по себе являются императивными операторами.
Назначение императивного программирования
В императивном стиле используются операторы, которые изменяют состояние программы. Состояние программы – это не что иное, как содержимое памяти в определенный момент времени. В компьютерном программировании оператор присваивания устанавливает или переустанавливает значение, хранящееся в ячейках памяти, обозначенных именем переменной. В большинстве императивных языков программирования, таких как C, C++, Java, Kotlin, PHP, оператор присваивания является фундаментальной конструкцией.
Ценность императивной парадигмы
На парадигме императивного стиля основаны многие языки программирования, и они используются до сих пор. Вероятно, это потому, что императивный подход является оригинальной формой программирования. И хотя существуют альтернативные модели, императивная парадигма всё же имеет несколько практических преимуществ.
Языки довольно просты в изучении, поскольку код можно читать как пошаговую инструкцию. Поэтому программисты, как правило, сначала начинают изучать императивный язык.
В повседневных операциях важнейшим фактором является легкое чтение. В конечном счёте, разные сотрудники могут обслуживать и оптимизировать приложения без усилий, а не только один конкретный человек, написавший код.
Императивные языки
Все современные императивные языки восходят к трем императивным языкам:
FORTRAN (сокращ. от The IBM Mathematical FORmula TRANslating system - система перевода математических формул IBM) – первый язык, в котором не было границ машинного кода. Был разработан в 1955 году Джоном Бэкусом и всё ещё широко используется для числовых приложений.
АЛГОЛ 60 (с англ. ALGOL) – алгоритмический язык, разработанный в 1650-х годах совместным европейско-американским комитетом. Первый блочный структурированный язык, который сделал использование математически алгоритмов более легким.
COBOL – общий бизнес-ориентированный язык. Был создан для обработки больших файлов данных.
Большое количество современных императивных языков следуют стилю, зародившемуся в Алголе 60. Эти языки включают Ada и Pascal и, таким образом, могут быть описаны как языки стиля Алгола. Существует также значительная группа языков, которые можно описать как языки стиля C, к ним относятся объектно-ориентированный язык C++ и Java.