Archiwum: Grudzień 2010

Python vs PHP

piątek, 24.12.2010

No cóż, muszę się przyznać, że wkurza mnie podejście moich starszych stażem kolegów programistów odnośnie języka PHP.

Ja lubię PHP. Znam ten język na tyle dobrze, by w miarę płynnie się poruszać po wszystkim co z nim związane. Denerwujące jest to, że kiedy tylko coś pójdzie nie tak, coś nie chce działać, coś zachowuje się nieprzewidziany sposób, to wszystko od razu wrzuca się do worka z napisem „PHP to język śmieciowy”.

Dramatycznie się z tym nie zgadzam.

W tym momencie w mojej firmie królują 3 języki programowania. PHP, JavaScript i Python.

– PHP, to jest mój konik.

– JS-a zawsze do tej pory unikałem (trochę tego żałuje…)

– Python, który ponoć jest o niebo lepszym językiem niż PHP

Powiem szczerze. Nie polubiliśmy się z Pythonem na wejściu. Początki były dość trudne, wszystko sprawiało problem. Po dość krótki obcowaniu z językiem muszę powiedzieć, że jest on… po prostu zwykłym językiem programowania. Bez fajerwerków, tudzież z bagażem często bardzo wkurzających dolegliwości.

Python i PHP

Python (1991)jest starszym językiem niż PHP (1995), mimo to jest uważany za poważniejszy i dojrzalszy język programowania.  To prawda, że od samego początku twórcy i programiści starają się utrzymywać pewne określone wzory i niepisane zasady konstrukcji. Sprawia to, że język jest dość uporządkowany, a programowanie odbywa się w określonym stylu.

Python w odróżnieniu od PHP, jest w pełni obiektowy, w takim znaczeniu, że wszystko w tym języku jest obiektem. Inaczej mówiąc nie da się w tym języku programować, nie znając koncepcji takiegoż programowania.

Python oczywiście nie jest doskonały. Często aż irytuje dziwnymi dla mnie, programisty PHP, zagraniami i wymaganiami, które w PHP są oczywiste, proste i nie powodujące zakłopotania.

Różna jest koncepcji celu jakiemu ma służyć PHP względem języka Python. PHP został stworzony jako proste narzędzie do tworzenia witryn internetowych. Taki właśnie jest cel istnienia tego języka. Nie napiszemy w tym języku wielu rzeczy, choćby najprostszego dektopowego kalkulatorka. Jest to język stworzony dla prostego i bezbolesnego tworzenia stron internetowych. Nie mniej jednak PHP, także za sprawą jego popularności, ciągle się rozwijał. Wystarczy porównać obiektowość PHP 4 i PHP 5. Piąta wersja języka sprawiła, że w końcu PHP stał się dojrzałym językiem, który choć ciągle sprawia, że robienie witryn internetowych jest proste, ale także wprowadza mechanizmy i rozwiązania dużo bardziej ambitniejsze i dające dużo większe pole manewru.

Wracając do Pythona

Najbardziej wkurzającym elementem języka jest przymus odpowiedniego operowania wcięciami i brak nawiasów. Naprawdę trudno się przestawić na początku. A co powiedzieć o takim kodzie? Dla mnie jest co najmniej średnio czytelny, kiedy mam do czynienia z większym fragmentem kodu. Lubię te piękne „curly brackets” i swoje własne formatowanie fragmentów kodu, ale to jest też kwestia przyzwyczajenia oczywiście.

Podsumowanie

Choć, nie wybrałbym tego języka do nauki, cieszę się, że moja praca wymaga nauczenia się i programowania w języku, który nie jest dla mnie uosobieniem cnót wszelakich. Programista powinien umieć się odnaleźć w każdym języku i umieć w nim znaleźć masę pozytywów.