Witaj, Gościu O nas | Kontakt | Mapa
Wortal Forum PHPEdia.pl Planeta Kubek IRC Przetestuj się!

Programowanie proceduralne kontra OO w PHP

Kto napisał taki kod?

Zanim dalej ruszymy, należało by się zastanowić czemu tak właściwie zaczeła się wojna o to, który sposób programowania jest lepszy. Przedstawię obydwie strony konfliktu i idee o jakie walczą. Na pierwszy ogień pójdzie strona popierająca programowanie strukturalne, a zaraz po nich zwolennicy programowania obiektowego. Zobaczmy, czy rzeczywiście między nimi są tylko różnice.

Fanatycy programowania proceduralnego

Osoby te były krytykowane przez swych mentorów za nie używanie abstrakcji w swoich programach. Ich argument "Ale to działa!" wcale nie poprawiał ich sytuacji. Później, gdy zajęły się pisaniem sterowników, systemów plików i innych niskopoziomowych aplikacji, gdzie mogli się skupić na szybkości i prostocie kodu, zyskali uznanie.

Skrajne przykłady tychże Fanatyków całkowicie odrzucają obiektowość oraz krytykują wprowadzanie do kodu jakiejkolwiek abstrakcji. Zawsze szukają sposobów na uczynienie kodu szybszym i nie dbają o to, że nikt oprócz ich samych nie zrozumie tego, co właśnie napisali. Często uważają programowanie bardziej za indywidualny konkurs niż pracę zespołową. Lubują się w startowaniu w zawodach na najbardziej zaciemniony kod. Poza PHP uwielbiają język C i Assembler. W świecie PHP mogliby pisać moduły PECL, tworząc naprawdę wydajny kod.

Fanatycy programowania orientowanego obiektowo

Ci natomiast, którzy niedawno odkryli uroki programowania OO, są nim zachwyceni, nadgorliwie używają go... wszędzie! Nie rozumieją za bardzo celu i istoty optymalizacji. Czasami wręcz wygląda na to, że bardziej lubią wymyślanie obudowy teoretycznej niż tworzenie właściwego kodu. Wymarzona praca dla niech to zarządca projektu bądź dokumentator.

Fanatycy OO zawsze wytykają fanatykom programowania strukturalnego, że bez abstrakcji tamci nadal używaliby tylko zer i jedynek. Potrafią używać pseudokodu. Skrajnym przykładem ich pracy jest fakt, iż potrafią dla estetycznego wyglądu i czytelności kodu poświęcić szybkość działania aplikacji. Poza PHP ulubionym językiem jest Java albo Smalltalk. W świecie PHP mogliby pisać moduły PEAR, tworząc doskonale udokumentowany i elastyczny kod.

A i tak każdy pozostanie przy swoim

Czy możesz zrozumieć, dlaczego różne fora są zapchane tendencyjnymi wypowiedziami na ten temat? Pamiętaj, że Twoje doświadczenie i obrana filozofia wpływają na Twoje pomysły. Jako programiści, musimy się strzec, aby nie osądzać pewnych rzeczy z góry, lecz być otwartym na nowe horyzonty i chcieć je odkrywać i poznawać. Musimy mieć własne zdanie, a sądy innych pozostawić im samym - to my decydujemy, jaka metoda programowania jest dla nas w danej sytuacji najlepsza.

Informacje na podobny temat:
Wasze opinie
Wszystkie opinie użytkowników: (6)
OOP a OP
Wtorek 13 Październik 2009 9:16:00 am - thek <thek_at_xxx.pl>

Z tym object-oriented i "zorientowany obiektowo" to nie jest tak prosto jak mówisz u podstaw OP i OOP leży bowiem co innego. Jaki jest podstawowy i niepodzielny, najniższy poziomowo element OP i OOP? W OP jest to proste - zawsze abstrakcyjny Object. Wszystkie dane, struktury są pochodną tej klasy. W OOP jest to właściwie nie do określenia, gdyż klasy są naszym dziełem i ewentualnie możemy taką funkcjonalność próbować wdrożyć. Stąd Java czy Smalltalk to OP a C++ "tylko" OOP.

Mała uwaga
Czwartek 20 Marzec 2008 4:00:03 pm - camelx <camelx_at_gmail.com>

Tekst jest bardzo dobry, dla mnie dosyć przydatny.
Mam tylko jedną małą uwagę - nie ma czegoś takiego jak programowanie "zorientowane obiektowo". Taki termin występuje co prawda w języku angielskim (Object-oriented programming), lecz tłumacząc na polski mówimy poprostu "programowanie obiektowe". W jęz. angielskim jest dodane słówko "oriented" ponieważ w termin mógł by byc mylony z "programowaniem obiektu".
Pozdrawiam

spoooko...
Sobota 21 Październik 2006 10:34:08 am - mokry <m.mokry_at_plusnet.pl>

Art naprawde fajny.
Programuje juz kilka lat, siedze glownie na PHP4 i jak dotad bardzo rzadko korzystalem z OO. Po przeczytaniu w wielu godzin przemyslen nad swoim dotychczasowym kodem stwierdzam ze niektore z nich faktycznie mozna bylo duzo prosciej i lepiej napisac w OO...
Polecam przeczytac

naprawdę niezły kawałek tekstu :)
Wtorek 05 Wrzesień 2006 11:49:19 am - xixek

tak. to jest to. nie wiedziałem połowy z tych rzeczy a przecież programuję już kilka lat... Więcej takich artykułów poproszę!
pozdrawiam!

Daje wiele do myślenia...
Sobota 22 Lipiec 2006 7:14:43 pm - athlan <athlanster_at_gmail.com>

Bardzo przydatny artykuł... dał mi wiele do myślenia. Osobiście jesteś zwolennikiem kodu proceduralnego, ale po głębszych przemyśleniach mogę stwierdzić, iż nie wszystko trzeba pisać "na szybko", dzieki za arta :)

optymalizacja
Piątek 14 Lipiec 2006 12:00:35 pm - mroq

pewnie zaczne flejma, ale niech se autor artykułu zrobi w oscommerce drzewko kategorii skladajace sie z kilkunastu tysiecy galezi... i wtedy pogadamy o optymalizacji

Mentax.pl    NQ.pl- serwery z dodatkiem świętego spokoju...   
O nas | Kontakt | Mapa serwisu
Copyright (c) 2003-2020 php.pl    Wszystkie prawa zastrzeżone    Powered by eZ publish Content Management System eZ publish Content Management System