Artur B.

Artur B. Storage
Administrator,
Zakład Ubezpieczeń
Społecznych

Temat: Dlaczego Python

Michał Domański:
Nie jestem do końca pewien czy warto się chwalić stycznością z PHP. To coś jak flanelowe koszule. Prawie każdy w IT miał z tym styczność, ale czy jest to powodem do dumy, to nie jest do końca pewne. W życiu przychodzą takie momenty, że coś staje się zbędne. PHP stało się zbędne przez Python'a.

Rzeczywiście, jeżeli ktoś miał tylk ostyczność z PHP to nie warto o tym wspominać. Natomiast jeżeli ktoś umie czarować w PHP to nie powinien tego się wstydzić. W końcu PHP jeszcze nie umarło.

konto usunięte

Temat: Dlaczego Python

Nie, ale już czuć od niego trupim jadem i zgnilizną.
Marcin Lulek

Marcin Lulek Programista -
WebReactor

Temat: Dlaczego Python

Wiecie, to ja moze sie wypowiem troche nt. php w ktorym glownie pracuje(pracowalem), i tak na oko jak porownuje sposob pisania np. w Zend Framework vs. Pylons, okazuje sie ze sa bardzo podobnie rozwiazane w wielu miejscach.

A panowie prawda jest taka ze jedne z najwiekszych aplikacji stoja na tym "gownianym" PHP. Niektorzy widze sie z tymi trupami zagalopowali troche, a teksty w stylu "ja bym sie nie przyznawal" to moim zdaniem buractwo. Nie rozumiem kompleks ktos ma ze zaczynal od PHP? a moze sobie zdaje sprawe ze slabosci swojego kodu z tamtych lat? Nawet mi sie nie chce pisac o tym ze beda wprowadzone przestrzenie nazw ( w zasadzie juz sa) itp.

Troche powagi panowie.

Smiem twierdzic ze mozna napisac aplikacje webowa w PHP rownie dobrze i porzadnie jak w innym jezyku jesli sie bierze za to odpowiedzialna i kompetentna osoba.

A robienie z siebie "elyty" jest dla mnie zwyczajnie smieszne, jezyk to tylko narzedzie, i rozne narzedzia roznie sie sprawdzaja w zaleznosci kto ich uzywa.

I nawet jesli faktycznie php staje sie zbedne poniewaz np. pojawily sie dobre alternatywy typu pylons czy django. Nie oznacza ze php nagle do niczego sie nie nadaje.

Moglbym zlosliwie powiedziec python w polsce to sie tylko do pisania grona nadaje ( widzialem raptem 3 porzadnie napisane www w pythonie ktorych tworcy sie tym chwala gdziekolwiek), ale jakos nie mam ochoty rozpoczynac wojny. Szanujmy sie nawzajem, jakos nie przyszlo by mi do glowy zeby programistow innych jezykow uwazac za "gorszych", natomiast nie bierzmy pod uwage dzieciakow ktorym wydaje sie ze cos umieja.

pozdrawiamMarcin Lulek edytował(a) ten post dnia 22.09.08 o godzinie 22:43

konto usunięte

Temat: Dlaczego Python

Co do php. Uważam go za przestarzały język bo taki jest. Fakt że ciągle jest rozwijany nie zmienia faktu że nie był projetkowany jako język programowania. Nie uznam php za pełnoprawny język programowania bo takim nie jest. Ergo, dla małych aplikacji faktycznie nadaje się dobrze, bo często można by tam użyć CMS'a. Ale gdybym miał konserwować powyżej 1000 lini kodu php, pociął bym się i to nie jest tylko moje prywatne zdanie. Dodam, że nie obrażam tu żadnego programisty, bo prostu uważam że skoro ktoś już porównał php do python'a, to php przy nim leży i kwiczy. A co do rozwiązań w kodzie, tak, one często bywają podobne, to jest temat tzw. 'pisania javy w pythonie' czyli przenoszenia nawyków z jednego języka na drugi.

konto usunięte

Temat: Dlaczego Python

http://blog.aenima.pl/2008/4/14/you-can-write-fortran-...

Zamienić 'Ruby' na 'Python' w komentarzach... i idealnie pasuje do tematu dyskusji, no może pomijając snippety.
Marcin Lulek

Marcin Lulek Programista -
WebReactor

Temat: Dlaczego Python

Michał Domański:
Co do php. Uważam go za przestarzały język bo taki jest. Fakt że ciągle jest rozwijany nie zmienia faktu że nie był projetkowany jako język programowania. Nie uznam php za pełnoprawny język programowania bo takim nie jest.

jest, ale ma specyficzne zastosowania webowe, to jak byl pierwotnie zamierzony to jest akurat malo wazne moim zdaniem bo liczy sie to co jest na dzien dzisiejszy.
Ale gdybym miał konserwować powyżej 1000 lini kodu php, pociął bym się i to nie jest tylko moje prywatne zdanie.

http://allegro.pl, facebook.com ;-) twoje zdanie to jedno, fakty jednak mowia cos innego jak widac mozna pisac duze aplikacje w php i nic sie nie dzieje. Kod 1000 lini to pestka przeciez, jesli ktos tego nie potrafi sensownie ogarnac w php to w innym jezyku tez nie bedzie potrafil moim zdaniem.

u mnie czasem jedna klasa php ma 500 linii, ale co tam skoro sie nie da to musze uwierzyc na slowo. natomiast wierze ze mogles miec nieszczecie pracowac z kodem php ktory sie nie nadaje do niczego - bo o taki kod najprosciej u nas w polsce ;-) - co nie zmienia faktu ze mozna to robic dobrze i przyjemnie.
Dodam, że nie obrażam tu żadnego programisty, bo prostu uważam że skoro ktoś już porównał php do python'a, to php przy nim leży i kwiczy

jesli porownujemy mozliwosci jakie daje jezyk to masz racje, jesli to co "da sie zrobic" to sie z toba nie zgodze w zastosowaniach webowych bardzo wiele da sie zrobic za pomoca php
A co do rozwiązań w kodzie, tak, one często bywają podobne, to jest temat tzw. 'pisania javy w pythonie' czyli przenoszenia nawyków z jednego języka na drugi.

ja raczej mialem na mysli stosowanie wzorcow w polaczeniu z MVC.

Twierdze tylko ze PHP moze byc rownie dobrym narzedziem w odpowiednich rekach do pisania aplikacji webowych, a co do ogarniania linii kodu to ja nie bardzo rozumiem na czym polega problem, masz swoje widoki, kontrolery, akcje zarowno w FW phpowuych jak i pythonowych, obydwa jezyki sa skryptowe wiec w czym problem zrobic to tak samo? czy to po prostu krytyka dla krytyki? bo ja naprawde nie rozumiem czym sie rozni MVC tu i tam, zasady sa takie same, utrzymanie aplikacji w zasadzie rowniez.

ja sie np. przesiadam na pythona ale daleki bylbym od mowienia python fajny php be, tylko dlatego ze dzieci robia w nim smieci. Da sie pracowac w nim normalnieMarcin Lulek edytował(a) ten post dnia 23.09.08 o godzinie 11:18
Artur B.

Artur B. Storage
Administrator,
Zakład Ubezpieczeń
Społecznych

Temat: Dlaczego Python

Podzielam zdanie Marcina. Nie najważniejszy jest język, ale poziom programisty i jego nawyki (głównie chodzi mi o pisanie komentarzy). Jeżeli ktoś da mi skrypt, który jest błędnie (wg mnie) napisany to nie ważne w czym jest napisany i tak będzie kiepski. Ja zaczynam zabawę z językiem COBOL, choć ma ponad 50 lat. A dlaczego? Ponieważ najwięcej linii kodu jest napisanych i piszę się nadal właśnie w COBOLu. Pracy nie zabraknie na kolejne 50 lat ;-) Każdy pisze w tym, w czym lubi. Wybrałem Pythona i Cobola m.in dlatego, że nadają się zupełnie do czego innego.

konto usunięte

Temat: Dlaczego Python

Zgodzę się że w dobrych rękach php daje radę. Co do zamierzeń, nie do końca. Jeśli projekt ma błędne założenia wstępne, to potem zawsze będzie się sypać i często nawet przepisanie całego kodu nie pomaga. Co do wzorców projektowych, one są chyba niezależne od warstwy implementacji, więc nie bardzo rozumiem co mają do specyficznych języków. Co do ilości aplikacji w php kontra python, prosze poczekać 3-4 lata, niech minie troche czasu jeszcze, www w pythonie dopiero robi się modne. A co do script-kiddies w php, to tak, jest ich ogromnie dużo. Cowboy-coderow w php tez jest dużo więcej.
Szymon Kosok

Szymon Kosok Właściciel,
Webrevolution.pl

Temat: Dlaczego Python

Ja napisałem projekt, który zajął linii...

localhost modules # find . -type f -exec cat {} \; | wc -l
44522

... kodu PHP (sam katalog z modułami) i nie miałem problemów z jego utrzymaniem. Sam też przesiadłem się na Pythona, bo akurat Python w moim wypadku jest szybszy, ale nie uważam, żeby PHP był językiem dla n00bów, bez przesady. Wiele temu językowi zawdzięczam. ;)
Marcin Lulek

Marcin Lulek Programista -
WebReactor

Temat: Dlaczego Python

I wlasnie o to chodzi Szymonie. :-)

konto usunięte

Temat: Dlaczego Python

Twierdze wręcz przeciwnie, dla mnie mnie php czasami aspiruje do miana drugiego brainfuck'a.

konto usunięte

Temat: Dlaczego Python

Python ma to do siebie że podobnie jak COBOL wymusza wcięcia.
Dzięki czemu ma się wrażenie że kod jest porządniejszy.
Ale napisać niemodyfikowalny kod można w każdym języku.

Trudno oponować wobec argumentów typu "php mi śmierdzi", gdybym mógł pracować w tym co mi nie śmierdzi... pewnie jakbym był tak nastawiony krytycznie do świata to prędzej sam bym stworzył jakiś język...

konto usunięte

Temat: Dlaczego Python

Piotr Likus:
Python ma to do siebie że podobnie jak COBOL wymusza wcięcia.

Eclipse: ctrl + shift + f i masz wcięcia standardowe w każdym języku.

Podchodziłem już do pythona, dla mnie ilość i poziom dokumentacji jest bardzo słaby, co przy bardzo specyficznej składni zniechęca...Michał Wujas edytował(a) ten post dnia 23.09.08 o godzinie 14:50
Marcin Lulek

Marcin Lulek Programista -
WebReactor

Temat: Dlaczego Python

Michał Domański:
Twierdze wręcz przeciwnie, dla mnie mnie php czasami aspiruje do miana drugiego brainfuck'a.

jesli poprawi ci to humor to prosze bardzo ;-)
Marek Wywiał

Marek Wywiał Programista,
administrator,
instruktor

Temat: Dlaczego Python

W PHP można pisać i ludzie piszą. Nadaje się na blog, cms, aplikację z raportami (choć nie każdą), galerię itp.

Kod na którym teraz pracuję ma (jak już ktoś zaczął z cat/wc :) ), ponad 150 tys linii kodu, używa sporo różnych/ciekawych wzorców (jak Michał zauważył na używanie wzorców język nie ma wpływu).

Kod w tej chwili to aplikacja e-commerce, obsługująca ok 30 req/s, wykonująca wiele obliczeń i działa.

Przy pracy nad tym (i innymi softami) doszedłem do wniosków:
* php jest cool na blog/galerię/itp (j.w.)
* jeżeli mamy sporo logiki biznesowej, projekt obraca duuużą kasą i jego działanie jest krytyczne to php już drugi raz nie użyję.

Błędy typu notice (jak dla mnie to zwykły błąd, nazwanie tego noticem to proszenie się o sznur).
Jeśli wystąpi taki notice to kod wykona się dalej niszcząć bazę, przeliczając sobie różne kwoty na inne kwoty, kasując przypadkowe pliki i katalogi itp.

Szybkość działania skryptów 'w tle' liczących różne rzeczy na potrzeby widoku kończą się godzinami działania i wieloma mega pamięci cieknącej gdzie się da (zwłaszcza przy używaniu wielu obiektów).

PHP dostarcza typowanie parametrów method/funkcji np. można wymagać interfejsu:
{{{
function imSafe(ISomeInterface $myQlObject) {}
}}}

Niestety w wielu niejasnych dla mnie sytuacjach można tu wrzucić obiekt mający się nijak do obiecanego interfejsu i hulaj dusza, kod leci dalej nie zważając na zniszczenia.

Chaos w nazewnictwie method/obiektów (kilka ich php dostarcza), parametrów wywołań powoduje, że pisząć w PHP od ok 8 lat ciągle muszę zaglądać do manuala, by się upewnić, że naprawdę ktoś wpadł na taki pomysł by tak poukładać parametry (try ftp_put/ftp_get - i oczywiście musiałem sprawdzić w manualu nazwy tych funkcji)

W pythonie cenię sobie czytelność i intuicyjność standardowego środowiska jak i bilbioteki czy też bibliotek zewnętrznych (autorzy po prostu trzymają się otaczających ich standardów).

Kolejność parametrów jest dokładnie taka jaką sam bym użył w danej sytuacji. Nazwy metod i obiektów reprezentują dokładnie to co dzieje się w ich wnętrzu.

Może za dużo napisałem, może jestem sfrustrowany, a może za długo pracuję z PHP :)

Post ten to moje osobiste odczucia, choć starałem się nawiązać jak najbardziej do znanych mi faktów :D

Pozdrawiam.

konto usunięte

Temat: Dlaczego Python

Tak, zgodze się, python ma jedną ogromną zaletę. Jest intuicyjny. Często odruchowo używam czegoś nowego, bo tak bym to napisał. To naprawdę duża zaleta kiedy nie czuje się ideologicznie wyobcowany niczym prozaiczny ziemniak wśród psychodelicznych chryzantem.
Marek Wywiał

Marek Wywiał Programista,
administrator,
instruktor

Temat: Dlaczego Python

Dodam jeszcze jedną ważną rzecz. W pythonie piszę sporo mniej kodu dlatego, że większość moich potrzeb realizują dostarczane z nim biblioteki (ew. doinstalowane).

W PHP spora część kodu to własnie pisanie na brakujących elementów na własne potrzeby (standardowe Java => PHP, czyli kolekcje, strumienie, downloadery, itp). Tak jest napisane sporo softu w PHP, wystarczy spojrzeć na źródła phing'a (prawie ant).

Dopiero Zend Framework wieje nadzieją, że pojawi się jakaś biblioteka narzędzi z prawdziwego zdarzenia.

Bardzo dobrze, że powstał PHP. Był łatwo dostępny na hostingach, każdy mógł w nim spłodzić kilka linijek. WWW się rozwinęło, budowa stron, serwisów e-commerce, itp poszła do przodu. PHP tam był i dobrze spełnił swoje zadanie jako katalizator. I teraz czas na jego zasłużony odpoczynek, gdyż świat musi się rozwijać.

Tak samo było z Netscape, IE4(5?) i innymi starymi przeglądarkami. Każda pracowała jak chciała (echa tego znamy do dziś), wyświetlała każdy najbardziej chaotyczny kod i każdy mógł zrobić swoją stronę z latającymi gwiazdkami w tle. Bardzo dobrze, że istniały ale powiedzcie, kto chciałby ich dziś używać?Marek Wywiał edytował(a) ten post dnia 30.09.08 o godzinie 09:01

konto usunięte

Temat: Dlaczego Python

Witam.

Zainteresowałem się tym tematem (ponieważ ostatnio dużo mówi się o pythonie, jaki jest "cool i w ogóle") żeby zobaczyć, co w nim takiego ciekawego i dlaczego ludzie z niego korzystają.
Z tematu dowiedziałem się zaś, że: PHP nie jest językiem programowania, do niczego się nie nadaje, jest beznadziejne i całe zło na świecie jest dziełem PHP.

Teraz, jako programiście PHP (nie boję się tego o sobie powiedzieć), pojawiły się w mojej głowie 2 myśli:
- Wow, python jest tak wypasiony, że przy nim nie można nazwać PHP językiem programowania, jest rewolucją jakiej jeszcze nie było.
- To chyba pythonowi fanboje, którzy nie potrafią sobie poradzić ze specyfikacją PHP.

Zgadnijcie, która myśl u mnie teraz dominuje?

PHP ma swoją specyfikację, jak każdy język programowania, i gnojenie go tylko dlatego, że ma luźne typowanie(w przeciwieństwie do C++ i pochodnych, np. Java), z którym ktoś sobie nie umie poradzić, jest moim zdaniem nieporozumieniem.

Za jakiś czas (gdy tylko pojawią się książki dobrze opisujące pythona 3.0) pewnie zapoznam się z tym językiem programowania... no chyba że za dużo naczytam się postów "Python uber PHP" i mnie odrzuci ;-)

Pozdrawiam.Artur Siery edytował(a) ten post dnia 26.12.08 o godzinie 13:47
L P

L P podskala.net

Temat: Dlaczego Python

PHP jest fajny - ma w sobie wiele zalet, realy realy (7 lat w nim programowalem, czy jak kto woli pisałem skrypty, heh). Ta dojrzała jego forma, v.5 gdzie obiektowość jest atutem ponad niektore konstrukcje python'a (interfejsy przykładem biorąc) pozwala na realizowanie nawet dużych projektów. Udowodniłem sobie to, że można w nim napisać wielkie serwisy (wrzuta.pl przykładem biorąc). PHP docelowo miał słuzyc do pisania skryptowych stron www - tzw, glue language miał być super prosty i pozwalać nawet laikom w krotkim czasie nauczyć sie jego skladni. Lapidarnosc tego jezyka - tak to jezyk - z czasem przerosla w swej formie docelowość zamierzona na poczatku w lat'ach 90tych. Tylko ...problemy ktore tkwia przy podstawach do dziś nie zostaly potraktowane powaznie. Python jest i bedzie zawsze lepszy od PHP...gdyz ta najwazniejsza roznica lezy u podstaw - w samej konstrukcji parsera skladni etc. - nie piszcie prosze, ze problem lezy w samej skladni - to tylko skladnia, ktora jest przyjemna w obu przypadkach ...Łukasz Podkalicki edytował(a) ten post dnia 26.12.08 o godzinie 17:16
L P

L P podskala.net

Temat: Dlaczego Python

.[php]
... //blok proceduralno-funkcyjny
return (($a = $x<<2) == ($b++ >= ($c = $a<<2) ? $b : $c));

.[py]
... #blok proceduralno-funkcyjny
a = x<<2
b += 1
c = a<<2
if b >= c:
return a == b
else:
return a == c

Jak widac w py, mimo dynamicznych typow, nie mozna wykonac podstawienia w wyrazeniu.
Nastepny przyklad - hermetyzacja. Kolega mnie kiedys spytal ..Jak to jest, Python w pelni obiektowy a nie ma jawnego sposoby na enkapsulacje a php zorientowany jedynie obiektowo ma to swietnie rozwiazane - zaciagniete z C++. W py moge jedynie uzyc statycznego atrybutu z dwoma '_' ?

Zarowno w Pythonie jak i w PHP moge pisać rozszerzenia swoich biobliotek napisanych w C/C++. Inaczej rzecz ujmująć - nie ma ograniczeń dla CTypes w obu przypadkach.

Od strony składni C++-like PHP i Python to dwie rozne istoty rozumianego programowaniem sposobu na program. Docelowy program/projekt ma zawsze w specyfikacji ujęte coś na co PM'mi patrza ponad to co widać - model biznesowy i koszty projektowe. Strony mozna pisać nawet na poziomie C - zaden problem... choc zajmie to wiele miesiecy :]. Z punktu widzenia osoby prowadzacej projekt szuka sie rozwiazania ktore zda egzamin pod wzgledem wydajnosciowo-finansowym. Mysle, ze doswiadczony programista PHP i doswiadczony programista PY skoncza malo skomplikowany projekt strony wizytowkowej w zblizonym czasie, dlaczego ? bo najwiecej czasu zajmie pisanie template'ow ;). Koszt projektu PHP/PY- 1:2-3, wiec po co przeplacać? Dlaczego wiec dla duzych projektow ..piszemy w PY ? - bo to projekty dla duzych obciazen i czesto sa to systemy rozproszone - malo! w php moge tez to zrobic, przykladem biorąć o2.pl słowami .."dorzuce maszynę, bedzie taniej niż zaplacić programistom" - bo ten projekt ma termin i musimy sie z tym szybko uporac - tak! - ale to tez malo ... doswiadczony programista napisze to rowniez szybko w PHP - prestiż nade kasa ? - ironia programistyczna, nadal nie czuje ..dlaczego ? potrzebne jest stabilne oprogramowanie łatwo skalowalne - lepiej... jeszcze - bo mam do dyspozycji zespół, ktory to zrobi w PY - mocne ... ale nie jest to czeste, co w przypadku startup'ow o niszowym modelu biznesowym, reklamie - kiedy mysli sie zazwyczaj "zrobie to tanio ..a jak zalapie i z'naszo-klasieje to przebuduje na powaznie"? - - może..dla "dobroci" i bezpieństwa oprogramowania i pozniejszymi niższymi kosztami utrzymania - Tak! ale to wciąż nie jest decydenckie w każdym przypadku oprogramowania - co też nie oznacza, że takie oprogramowanie powinnismy napisac w C... może coś uniwersalniejszego ? - bo py ma gotowe narzedzia szybkiego budowania aplikacji ..moge uzyc wielu dostepnych bibliotek i zaoszczedzic mase czasu. - Tak, mysle ze to przekonuje bardziej niż składnia.

Jest duzo stron/artykulow na temat PHP vs. Python - smieszy mnie nie sam sposob ublizania PHP ale przyzwyczajania sie do jezyka "oswojonego" i oceniania czegoś, gdy nie bierze sie pod uwage warstwy modelu biznesowego wielu firm, ktore uzywaja PHP jako bazowego jezyka do rozwoju produktow - wszak PHP ma wiele dziur bezpieczenstwa, ktos powie - Owszem, ma! - ale prosciej jest znalezc programiste PHP i postawić "klocek" typu VPN czy PKI przed oprogramowaniem, produktem.

Sumujac to co napisalem - w zależności od specyfiki programu i od docelowosci jezyka formalnego zalezy co wybierzemy jako programosci, jako PM'i czy nawet CXO. Zalezy nam na projekcie a czesc programistyczna to tylko jedna z wielu warst projektowych.

LŁukasz Podkalicki edytował(a) ten post dnia 26.12.08 o godzinie 17:17

Następna dyskusja:

Python + GUI




Wyślij zaproszenie do