Programowanie proceduralne jest podejściem do programowania, które jest jednym z podstawowych elementów składowych wielu innych projektów językowych (funkcjonalność nie jest jednym).
Większość języków mieści się w zestawie „Programowania proceduralnego” i jest to prawdopodobnie najbardziej naturalne podejście do projektowania dla większości ludzi (jeśli myślisz o OO, to powiedziałbym, że jesteś w mniejszości).
BASIC ma charakter proceduralny.
Jak powiedzieli inni, jest to mechanizm do sekwencjonowania programów.
- Najpierw robię x
- Po drugie, robię to
- Po trzecie, robię Z
Wymaga mechanizmu do definiowania „procedur” - bloków o nazwanym kodzie podobnym do metod OO, które mogą przyjmować od zera do wielu parametrów i opcjonalnie zwracać wartość (która wówczas byłaby na ogół nazywana funkcją - prawdopodobnie prowadząc do pomylenia z językami funkcjonalnymi )
Paradygmat nie dyktuje, jakie będą twoje rzeczy ani sposób, w jaki rzeczy będą przekazywane.
Po prostu opisuje, że program będzie się składał z szeregu procedur (lub funkcji), które działają sekwencyjnie. Dane są następnie definiowane niezależnie od procedur.
Różni się to od programowania obiektowego, które konstruuje program wokół zbiorów danych i metod (nie funkcji), które działają na tych danych.
Jednym ze sposobów myślenia o tym jest zakres danych.
W języku proceduralnym ustalanie zakresu jest dość proste. Zmienna może znajdować się w zakresie danej procedury (deklarowana lokalnie), aż do poziomu najważniejszej rzeczy wywołującej (deklarowanej globalnie), z zasięgami zagnieżdżonymi pomiędzy.
W języku obiektowym dodajesz nowy kontekst zakresu, będący kontekstem aktualnie używanego obiektu, który jest prostopadły do powyższego.
Innym sposobem myślenia proceduralnego w porównaniu do obiektowego jest rozważenie języka zorientowanego obiektowo, w którym wszystkie metody muszą być zadeklarowane jako statyczne. Rezultatem jest język proceduralny, w którym klasy mogą być używane do grupowania procedur razem.