Choć programowanie obiektowe to nowsza koncepcja od programowania strukturalnego, tego drugiego nie da się całkiem odrzucić. Zarówno programowanie strukturalne, jak i obiektowe, wykorzystywane są obecnie przez programistów i współistnieją we wszystkich językach programowania takich jak Java czy C#. Dziś opowiemy Wam o zastosowaniu tych dwóch metod programowania oraz o różnicach pomiędzy nimi.

Definicja programowania strukturalnego

Gdy pojawiło się programowanie, nie zwracało się szczególnej uwagi na wygląd kodu, ponieważ programy były krótkie, a ich kod często był w stanie zmieścić się na jednej kartce. Wraz z rozwojem programowania (mówimy o sytuacji z lat 50. XX wieku), kod stawał się coraz bardziej zagmatwany, a programy dłuższe. Kończyło się na tym, że tworzono tzw. spaghetti code, czyli zabałaganiony, poplątany kod, w którym ciężko wskazać początek i koniec. Programowanie strukturalne było pierwszą próbą nadania struktury programom, które rozwijały się i stawały się coraz większe – na przykład poprzez dzielenie ich na funkcje, bloki i podprogramy. Założeniem programowania strukturalnego było dzielenie kodu programu za pomocą struktur kontrolnych na procedury i bloki.

Sprawdź równieź:Czym jest programowanie?

Programowanie obiektowe w pigułce

Programowanie obiektowe jest typem programowania strukturalnego. Obiektowość to kolejny krok w dążeniu do uporządkowania, ogarnięcia kodu, żeby nadać mu jakąś strukturę.  Programowanie obiektowe służy do tego, żebyśmy mogli modularyzować swój kod. Modularyzowanie najprościej wytłumaczyć jako dzielenie kodu na małe “klocki” – o uniwersalnym kształcie, które można użyć w różnych miejscach – również w innych programach. Gdy jeden nam się nie sprawdzi, możemy wymienić go na inny.

Różnice między programowaniem obiektowym a strukturalnym

Programowanie strukturalne dzieli program na struktury danych i podprogramy.

Programowanie strukturalne skupia się na procesach i logicznej strukturze. Jak wygląda proces projektowania programów i inne różnice między programowaniem strukturalnym a obiektowym?

Proces projektowania

W programowaniu strukturalnym bazuje się na podejściu top down (z góry na dół). Skupiamy się na pisaniu funkcji. Programowanie obiektowe skupia się stricte na danych. Programując obiektowo, programy budujemy od dołu, zaczynając od małych elementów, które składamy w całość. Skupiamy się na pisaniu klas i obiektów. Programowanie obiektowe jest naturalnym rozszerzeniem programowania strukturalnego – jest bardziej elastyczne i w nowy sposób podchodzi do porządkowania kodu. Upraszcza tworzenie struktury programów, które buduje się z elementów.

Zainteresuje Cię: Od czego zacząć naukę programowania?

Wygląd a działanie kodu

W ujęciu proceduralnym przyjmuje się, że każdy program jest jakąś procedurą, zawiera zadania, które mają się po kolei wykonać. W programowaniu strukturalnym skupiamy się na wyglądzie kodu. Warto zaznaczyć, że jakiego sposobu programowania byśmy nie wybrali do napisania programu, będzie on działał w ten sam sposób. Różnica jest widoczna dopiero po stronie programisty, bo zależne od wybranej metody, inaczej będzie się czytać kod i rozwijać program.

Testowanie kodu

Uprościło się także samo testowanie kodu, ponieważ możemy wziąć pojedyncze obiekty i przetestować ich działanie. W przypadku programowania proceduralnego nie było to łatwe, kod był jedną całością i ciężko było testować pojedyncze fragmenty.

Programowanie strukturalne czy obiektowe - które lepsze?

W trakcie kursu programowania w Codecool rozpoczynamy naukę od programowania proceduralnego. Dla początkujących programistów jest ono najłatwiejsze do zrozumienia, ponieważ przypomina pisanie przepisu kulinarnego. Docelowo jednak, dla bardziej zaawansowanych programistów, to programowanie obiektowe jest łatwiejsze i wygodniejsze w zastosowaniu w pracy. Nie da się jednak całkiem odrzucić programowania proceduralnego, ponieważ w każdym programie pojawi się jakaś procedura opisująca kroki, które należy wykonać. Programiści starają się jednak, by procedury były jak najkrótsze i jak najbardziej czytelne.

Zainteresuje Cię również: Kurs full-stack developera w Codecool

Podsumowanie

Pojawienie się programowania obiektowego przyspieszyło rozwój oprogramowania, przede wszystkim dzięki temu, że stało się możliwe korzystanie z wypracowanych, działających kawałków kodu w kolejnych projektach. Sam kod zaprogramowany obiektowo jest też łatwiejszy do przeczytania i zrozumienia. Nie da się jednak zupełnie zaniechać korzystania z  programowania strukturalnego, bowiem i ono jest przydatne w niektórych programistycznych zadaniach.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.