Programowanie strukturalnei obiektowe - główne różnice.
Żeby najłatwiej wyobrazić sobie czym różni się programowanie strukturalne od obiektowego wystarczy zapamiętać zasadę, że programując obiektowo zmierzamy niejako ścieżką górę od dołu. Słowem zaczynamy od niewielkich elementów i składamy je w większe całości. W tego rodzaju kodowaniu skupiamy się głównie na danych. Jeśli chodzi natomiast o strukturalne to w tym przypadku skupiamy się na pisaniu funkcji i obieramy taktykę podejścia tzw. „top down” czyli programujemy z góry na dół.
Strukturalne a obiektowe - rozłóżmy na czynniki pierwsze
W tym miejscu trzeba wyraźnie napisać, że programowanie obiektowe to nowsza koncepcja od programowania strukturalnego. Tym razem trochę historii - gdy pojawiło się programowanie - czyli lata mniej więcej pięćdziesiąte XX wieku, nikt nie miał potrzeby zwracania dogłębnej uwagi na wygląd kodu. Ważne było, że w ogóle można kodować, przecież to było coś, skok cywilizacyjny! Nie zawracano sobie też tym głowy, bowiem programy były krótkie, dlatego najcześciej kod mieścił się na jednej kartce papieru. Tak, tak, wiem, że z dziejszej perspektywy jest sobie trudno to wyobrazić.
Niemniej jednak Wraz z rozwojem programowania, kod stawał się coraz bardziej skomplikowany. W pewnym momencie osiągnięto przysłowiowy sufit i skończyło się na tym, że coraz częściej tworzono tzw. „spaghetti code”. To było nic więcej i zarazem nic mniej, niż tylko zabałaganiony, poplątany kod, w którym ciężko znaleźć początek i koniec. I tutaj pojawiło się programowanie strukturalne, które nadało struktury programom. A te przecież rozwijały się i stawały się coraz większe. Tworząc programowanie strukturalne zmierzano do tego, aby podzielić kod programu na procedury i bloki. Wykorzystano do tego struktury kontrolne. I dzięki temu otrzymaliśmy sprawne dzielenie kodów na funkcje, bloki i podprogramy.
I teraz wracamy do programowania obiektowego, które stworzone jest aby służyć koderom do tego, żeby mogli modularyzować swój kod. Owe modularyzowanie najłatwiejj wytłumaczyć jako dzielenie kodu na małe obiekty – o uniwersalnym kształcie, które można użyć w różnych miejscach – również w innych programach. Jak już wspominaliśmy w innych naszych publikacjach, gdy jeden, nazwijmy go „klocek”, nam się nie sprawdzi, możemy wymienić go na inny. Pamiętajmy też, że kodowanie tego typu pozwala na tzw. dziedziczenie - nie ma zatem potrzeby powielania kodu, bowiem możliwe jest tworzenie bardziej zaawansowanych obiektów na podstawie wcześniej stworzonych obiektów ogólnych.
Które programowanie jest lepsze?
Jak to zwykle bywa obie z metod mają szarówno swoje dobre i gorsze strony. Wszystko zależy od zastosowań. Najoględniej mówiąc - programowanie strukturalne zazwyczaj okazuje się bardziej intuicyjne dla początkujących programistów. Dzieje się tak ze względu na brak potrzeby bardzo zaawansowanego zrozumienia programowania, jak programowanie obiektowe. Z drugiej jednak strony, programowanie obiektowe umożliwia łatwiejsze i bardziej elastyczne rozwijanie dużych i złożonych projektów, ponieważ wykorzystuje zasady i prawidła dziedziczenia, pozwala na łatwiejsze zarządzanie projektami, dzięki ponownemu wykorzystywaniu kodu.
Ale prawda zawsze jest ta sama - każda z tych metod programowania ma swoje zastosowanie i nie ma jednego idealnego podejścia, które sprawdzi się w każdym przypadku. To już decyzja programisty, który system zdecyduje się wykorzystać.
Ani jednego ani drugiego systemu nie warto, a nawet nie da się całkiem odrzucić. Programiści na bieżąco korzystają i ze strukturalnego i z obiektowego. W ALX Academy przykładamy ogromną wagę do kompleksowego nauczenia kursantów obu systemów programowania i wykorzystania ich potencjałów w każdym z języków programowania, jak choćby Java czy C++. W tym miejscu mogą zainteresować Was nasze bootcamy, gdzie przez kilka tygodni stawiamy na mocną praktykę wspieraną fundamentami teoretycznymi. Jeśli będziesz zaangażowany i zgodnie ze wskazówkami trenera zacznie ćwiczyć w domu - przearanżowanie się lub zdobycie nowego stanowiska nie powinno stanowić problemu. Całą naszą ofertę znajdziesz w menu na stronie alx.pl.
Bartosz Śmietański, grudzień 2022