Python – migracja z php
Ostatnio jest widoczna moda nauki pythona. Zazwyczaj taki krok podejmują osoby, które potrzebują wyzwań i php znają bardzo dobrze i potrzebują czegoś nowego. Ja również dołączyłem do tego grona. W tym artykule opiszę moje ogólne obserwacje i doświadczenia. Później zacznę opisywać szczegóły, np tutoriale, “pułapki”, “ślepe uliczki” itp.
Znudzenie php…
Jestem człowiekiem który potrzebuje wyzwań i doświadczania nowych rzeczy w czynnościach codziennych. Dlatego jak tylko miałem możliwość, jako programista php, zacząłem poznawać frameworki, na początku CakePhp, Zend, Symfony. Tworząc projekty w technologii php doszedłem do takiego momentu, że przestałem się rozwijać – wtedy usłyszałem o tym jak dobry jest python. Na początku sceptycznie do tego podchodziłem, ale czytając pochlebne komentarze innych o tej technologii postanowiłem spróbować.
Nauka
Zacząłem od czytania w polskim internecie co to jest ten python, wtedy się zdziwiłem – nie istniała duża społeczność tego języka. Lecz dowiedziałem się, że warto zacząć od nauki frameworka django. Wyznając zasadę, że najlepiej szukać u źródła wykonałem tutorial na stronie projektu http://www.djangoproject.com/. Wykonanie jego zajęło mi ok 15 godzin – nauczyłem się podstaw pyhtona oraz frameworka Django.
Tutorial okazał się bardzo dobry, bo po nim od razu przystąpiłem do wdrażania nowego dużego projektu. Tutaj przewaga pythona nad php była ogromna, wszystkie procedury wykonują się szybciej, znika też wiele problemów (np.: pamiętanie o deklaracji zmiennych, itp) ponieważ python jest językiem wysokiego poziomu (o samym pythonie napiszę kiedy indziej).
Po tym projekcie, miałem kolejne doświadczenie – pomimo iż framework Django był o wiele lepszy niż którykolwiek php’owy ograniczał w sensie negatywnym.
Postanowiłem rozpocząć naukę Pylonsa, również zacząłem od tutoriala na stronie projektu http://pylonshq.com/ tutaj już było o wiele więcej problemów, lecz dzięki doświadczeniom nabytym wcześniej, pisanie projektu (złożoność bazy artykułów) mogłem zacząć po ok 4 godzinach.
Podsumowanie
Przechodząc z php na pythona, widzimy jak bardzo ten pierwszy jest językiem “podwórkowym”. Nie mam tutaj na myśli, że php jest beznadziejny – bo jak by tak było to nie byłby tak popularny, chodzi mi raczej o stwierdzenie, że python jest językiem profesjonalistów. Każdy kto zna pythona, umie programować na 100% w php i na 30% w ruby (ja do tej grupy na razie nie należę).
Projekty w pythonie działają lepiej niż odpowiedniki napisane w php, są lepiej przemyślane, a ich utrzymanie nie stwarza tylu problemów co w php. Znikają takie problemy jak ścieżki do plików, wszystkie procedury działają o wiele szybciej.
Jeszcze jedną zaletą umiejętności programowania w pythonie, jest to, że każdy znający tę technologię wzbudza większy szacunek u innych programistów jak ten który zna tylko php.
Na zakończenie namawiam wszystkich do nauki pythona, z perspektywy czasu mogę stwierdzić, że jest to kolejny krok w ramach rozwoju dla programistów php.
1 sanek 2008-08-04 16:45:35
a nie lepiej zainwestowac swoj czas w jave?? i GWT jesli chce sie koniecznie robic aplikacje webowe?
dlaczego java ? zwyczajnie czysto finansowe aspekty :)
2 Mateusz Żeromski 2008-08-04 19:14:31
hmmm, to zależy kto kim chce być, ja nie zamierzam iść w kierunku rozwoju programisty.
Java jest zapewne fajna, dobrze płatna itp – w końtu to w tej dziedzinie poszukuje się najwięcej programistów, oraz tam są najwyższe zarobki, lecz nie znam tej technologii, wole “brnąć” w scieżkę menadżerską :)
3 snipe 2008-12-07 12:49:35
Java to projekty ciągnące się bez końca i nie potrafiące wyjść ze stadium developingu … :P
4 Mateusz Żeromski 2008-12-07 16:24:51
Eee tam przesadzasz :) Wszystko zależy od projektu i …. Project Managera :) Nie sądzę aby przy ‘marszach śmierci’ miała znaczenie technologia.
5 Alek2 2009-02-11 12:28:44
Pisanie o wyższości jednego języka programowania nad drugim, jest krótko mówiąc naiwnością. Znam biegle przynajmniej 4 języki programowania: C++, .Net, Delphi, PHP oraz nieco słabiej Pythona. Oczywiście mój staż jako koder/developer to około 20 lat :). Krótko powiem tak, że nawet w najlepszym języku programowania, który posiada świetnie biblioteki.. zawsze można tak spieprzyć projekt, że jakakolwiek nowa zmiana nie doprowadzi do niczego więcej, jak totalnej katastrofy. Młody koder, świeżo po studiach może napisać w PHP taką “kaszanę”, że kilka plików *.PHP może z nawiązką posłużyć za esej na temat: “Jak nie pisać kodu”. ;)
To samo zaś PHP w rękach doświadczonego programisty, może być potężnym narzędziem, bo PHP – dzięki braku jasnych reguł – umożliwia kodowanie “na skróty”. Czasem ta właściwość może dać fantastyczne i szybkie efekty. Na koniec powiem, że to co w .NET pisze się “od ręki” to w PHP czy Pythonie zajmuje i miesiąc. Warto więc uczyć się nowych technologii a przede wszystkim odrzucić głupie uprzedzenia do narzędzi z Micro$oftu. Mówienie o braku wsparcia dla darmowych platform, proponuje zastąpić analizą kosztów uruchomienia systemu. Czasem lepiej wydać 1000usd na licencje, zrobić projekt w miesiąc i skasować od klienta 10000$, niż dłubać soft kilka miesięcy na darmową platformę. Warto TAKIE sprawy mieć na uwadze a nie wspomnianą “wyższość” jednego języka nad drugim ;).
6 Hej 2009-05-17 21:17:08
Na koniec powiem, że to co w .NET pisze się “od ręki” to w PHP czy Pythonie zajmuje i miesiąc.
Oj tam przesadzasz. Juz tak duzo nie zajmuje. A jak przyjdzie ci zrobic cos niestatndardowego w .Net to i dluzej bedziesz pisac. Poza tym jak idziesz w .NET to tak naprawde trzymasz sie tylko jednej sluszej platformy:). (O MONO szkoda gadac).
Poza tym mam wrazenie ze porownywane jest Visual Studio z PHP. (Proponuje napisac kod w C# i PHP i go uruchomic).