Процедурне програмування - це підхід до програмування, який є однією з основних складових частин для багатьох інших мовних конструкцій (функціональних не є).
Більшість мов потрапляє до набору «Процедурного програмування», і це, мабуть, найбільш природний підхід до дизайну для більшості людей (якщо ви думаєте з точки зору ОО, то я б сказав, що ви меншість).
ОСНОВА є процедурною.
Як говорили інші, це механізм послідовного структурування програм.
- Спочатку роблю х
- Другий я роблю y
- По-третє, я роблю Z
Він вимагає механізму визначення "процедур" - блоків з іменованим кодом, аналогічним методам OO, який може приймати нуль до багатьох параметрів, а також необов'язково повертати значення (яке тоді зазвичай називатиметься функцією - ймовірно, що призводить до вашої плутанини з функціональними мовами )
Парадигма не диктує, що ти будеш робити, чи манеру речей, які передаються навколо.
Він просто описує, що програма буде структурована у вигляді серії процедур (або функцій), які працюють послідовно. Дані визначаються незалежно від процедур.
Це відрізняється від об'єктно-орієнтованого програмування, яке структурує програму навколо колекцій даних і методів (а не функцій), які діють на ці дані.
Один із способів подумати над цим - з точки зору обсягу даних.
У процедурній мові масштабування досить просте. Змінна може бути в межах даної процедури (оголошена локально), аж до рівня найголовнішого виклику, що викликає (оголошеного в усьому світі), з вкладеними діапазонами між ними.
В об'єктно-орієнтованій мові ви додаєте новий контекст масштабування, який є об'єктом, який зараз використовується, який є ортогональним вище.
Іншим способом мислити процедурне, порівняно з об'єктно-орієнтованим, є розгляд об'єктно-орієнтованої мови, де всі методи повинні бути оголошені статичними. Результат - це процедурна мова, де класи можуть використовуватися для групування процедур разом.