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

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

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

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

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

Большинство ранних императивных языков программирования, в том числе Фортран , Кобол , Алгол , Бейсик , Си , ПЛ/1 , Паскаль , Форт — процедурные; более поздние императивные языки, в частности, реализующие объектную парадигму ( Smalltalk , C++ , Java ), как правило, не относят к категории процедурных, поскольку принцип организации блоков выполнения в подпрограммы в них реализуется на другом уровне абстракции. Определённое возрождение процедурного подхода наблюдается в ряде сценарных языков ( Tcl , Perl , Lua , языки командных оболочек ), однако большинство из них являются мультипарадигменными — на них можно создавать программы и в непроцедурных стилях (объектно-ориентированном, функциональном ).

Примечания

  1. , т. 2, с. 27.

Литература

  • Джозеф Джарратано, Гари Райли. Глава 10. Процедурное программирование // . — М. : , 2006. — С. —851.
  • Хювёнен Э., Сеппянен Й. Мир Лиспа. В 2-х т. / Пер. с финск.. — М. : Мир, 1990. — ISBN 5-03-001935-9 (русск.). — ISBN 5-03-001336-9 . — ISBN 951-26-2787-6 (финск.).
Источник —

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