Paradygmaty programowania to różne style, różne „sposoby” programowania. Istnieje wiele różnych paradygmatów, w tym kilka popularnych, takich jak programowanie proceduralne, programowanie obiektowe, programowanie funkcyjne itp. I niektóre, które nie są tak popularne, takie jak programowanie imperatywne, programowanie deklaratywne, programowanie sterowane zdarzeniami itp. Jeśli jesteś ciekawy, istnieje bardzo dobre podsumowanie paradygmatów programowania tutaj. W tym poście omówimy popularny z nich, którym jest programowanie proceduralne.
Tl;dr;
Proceduralne programowanie jest jednym z najbardziej popularnych paradygmatów programowania. Podążając za programowaniem proceduralnym, dzielimy kod na mniejsze jednostki zwane funkcjami lub procedurami, dzięki czemu jest on łatwiejszy do ponownego wykorzystania, a przepływ wykonania jest z góry na dół. Ten styl jest łatwy do zrozumienia i implementacji. W rezultacie jest on często nauczany na kursach wprowadzających do programowania.
Inne wpisy z tej serii:
Paradygmaty programowania – czy programowanie obiektowe jest lepsze?
Co to jest programowanie proceduralne?
Proceduralne programowanie jest metodą programowania, która ma wsparcie w podziale funkcjonalności na wiele procedur. W programowaniu proceduralnym duży program jest dzielony na mniejsze, łatwe do zarządzania części zwane procedurami lub funkcjami. Tutaj priorytetem są funkcje, a nie dane. W proceduralnym języku programowania, program zasadniczo składa się z sekwencji instrukcji, z których każda mówi komputerowi, aby zrobić coś takiego, jak czytanie danych wejściowych od użytkownika, wykonywanie niezbędnych obliczeń, wyświetlanie danych wyjściowych.
def add_number(a, b): return a + b# workflow starts here# call function add_number() to add 1 and 2 together and print the result to screenprint(add_number(1, 2))# execute add_number() function 5 times and print the result to screenfor i in range(5): print(add_number(i, 1))# workflow ends here
Gdy program staje się większy, jest następnie podzielony na mniejsze jednostki zwane procedurami lub funkcjami. Pewna liczba funkcji ma być napisana w celu wykonania konkretnego zadania. Funkcje te nie pozwalają na duplikację kodu z powodu wywoływania tej samej funkcji z wielu miejsc. Ta technika jest odpowiednia tylko dla średniej wielkości aplikacji programowych
W programowaniu proceduralnym używane są dwa rodzaje danych lokalne i globalne. Dane wewnątrz funkcji nazywane są danymi lokalnymi, a dane, które nie znajdują się w żadnej funkcji nazywane są danymi globalnymi. Dane lokalne są dostępne tylko dla tej funkcji, w której zostały zadeklarowane. Tak więc każda funkcja może mieć dostęp do swoich danych lokalnych, jak również do danych globalnych.
// this is a global variable$globalVar = 1;function addNumber($a, $b) { // this is a local variable $randomNumber = rand(); return $globalVar + $randomNumber + $a + $b;}
Dane lokalne jednej funkcji nie są dostępne dla innych funkcji. Jeśli jakiekolwiek dane mają być dostępne dla dwóch lub więcej funkcji, powinny być one globalne. Dane globalne są jednak podatne na nieświadomą zmianę przez innego programistę. Oddzielne rozmieszczenie danych i funkcji słabo modeluje rzeczy w prawdziwym świecie. Dlatego podejście programowania proceduralnego nie modeluje idealnie systemu świata rzeczywistego.
COBOL, FORTRAN, C, Pascal to niektóre języki programowania, które mogą implementować programowanie proceduralne.
Charakterystyka programowania proceduralnego
Duży program jest rozbijany na małe zarządzalne procedury lub funkcje. Redukuje to powielanie kodu, co poprawia czytelność i łatwość utrzymania kodu.
Różne funkcje mogą współdzielić dane poprzez zmienne globalne. Funkcje są całkowicie odizolowane, dlatego jeśli chcemy współdzielić dane, musimy zadeklarować je w górnym zakresie.
Funkcje mogą zmieniać dane globalne. Ponieważ dane globalne są przekazywane z funkcji do funkcji; w trakcie transformacji, dane globalne mogą być zmieniane w łańcuchach funkcji.
Metodyka top-down. Jak wspomniano wcześniej, programowanie proceduralne podąża za metodologią top-down, przepływ pracy odbywa się z góry na dół.
Zalety programowania proceduralnego
- Kodowanie jest łatwe i proste.
- Kody mają możliwość ponownego użycia w kilku częściach programu.
- Paradygmat programowania zużywa mniej pamięci na komputerze.
- Łatwiej jest śledzić przepływ kodów w programie napisanym w paradygmacie programowania proceduralnego.
- Paradygmat programowania jest uważany za najlepszy dla programowania ogólnego do nauki i implementacji.
Ograniczenia lub wady programowania proceduralnego
- Koncentracja na funkcjach, a nie na danych.
- W dużym programie trudno jest określić przynależność danych globalnych.
- Używanie danych globalnych jest podatne na błędy i może być przeszkodą w przypadku konserwacji i ulepszeń.
- Modyfikacja danych globalnych wymaga modyfikacji tych funkcji, które z nich korzystają.
- Konserwacja i ulepszanie kodu programu jest nadal trudne z powodu danych globalnych.
- Paradygmat programowania proceduralnego nie modeluje zbyt dobrze problemu świata rzeczywistego, ponieważ funkcje są zorientowane na działanie i nie odpowiadają tak naprawdę elementom problemu.
Podsumowanie
Proceduralne programowanie z pewnością oferuje wiele plusów, jednym z nich jest łatwość nauki i implementacji. Nowi programiści mogą zacząć swoją podróż od nauki pisania kodu w stylu proceduralnym. To pomoże im zrozumieć, jak działa dany język programowania.
Jednakże, ze względu na swoje ograniczenia, aplikacje świata rzeczywistego nie używają programowania proceduralnego. Dlatego studenci będą musieli nauczyć się innych paradygmatów, aby mieć styczność z prawdziwymi problemami życiowymi.
Dziękuję za przeczytanie. Możesz przeglądać więcej postów na temat technologii tutaj.
By Tuan Nguyen