dc1 "blog"

Precz ze stereotypami i polityczna poprawnoscia

Dlaczego PHP nie umrze?

12 Komentarzy


Nawiazujac do wpisu „PHP UMRZE” w ktorym autor twierdzi ze

PHP będzie językiem (w znakomitej części) rzemieślników, artyści już szukają czegoś innego.

Artysta jestes bez wzgledu na posiadane narzedzia. Mozesz kupic sobie profesjonalnego Nikona D3x i robic kiepskie zdjecia. A ktos inny moze miec zwyklego Nikona D40 i robic artystyczne cuda.

To samo jest z jezykami programowania. Jezeli jestes artysta, to stworzysz prawdziwe arcydziela w PHP. A jezeli jestes przecietny, to ani Ruby, Python czy Scala Ci nie pomoga.

Kiepsy czy przecietni programisci szukaja wymowek. Zwalaja wszystko na slaby, ograniczony jezyk programowania.  Inni, bez wlasnego zdania, poddaja sie branzowej modzie.

Talent nie zalezy od narzedzi. Talent poprostu sie ma lub nie.

Nie mowie ze PHP to jezyk na zawsze, ze jest jedyny i sluszny. Trzeba eksperymentowac, rozwijac sie i probowac nowych rzeczy.

Ale twierdzenie, ze jakosc PHP ponosi odpowiedzialnosc za kreatywnosc i talent programistow – pasuje jak piesc do nosa.

Reklamy

Written by 1dc1

21 listopada 2009 @ 09:47

Napisane w O wszystkim

Tagged with

Komentarzy 12

Subscribe to comments with RSS.

  1. […] dc1 przed chwilą Dlaczego PHP nie umrze? dc1blog.wordpress.com/…9/11/21/dlaczego-php-nie-… #php #ruby […]

  2. […] dc1 "@ravicious – dc1blog.wordpress.com/…9/11/21/dlaczego-php-nie-… " do PHP umrze * — killing creativity #Php #Programming przed […]

  3. według mnie w programowaniu takie coś jak talent nie istnieje. To nie jest dziedzina sztuki. Liczy się przedewszystkim doświadczenie i umiejętność pracy grupowej.

    sielakos

    21 listopada 2009 at 20:37

  4. „Ale twierdzenie, ze jakosc PHP ponosi odpowiedzialnosc za kreatywnosc i talent programistow – pasuje jak piesc do nosa.” Zgadza się, obwinianie narzędzia za brak własnych umiejętności jest co najmniej nie na miejscu.

    Zapraszam również do siebie: http://egotrippin.wordpress.com/

    Pozdrawiam

    Matt

    22 listopada 2009 at 09:35

  5. @sielakos – w tym przypadku talent = inteligencja + wiedza + doswiadczenie + kreatywnosc.

    1dc1

    22 listopada 2009 at 11:36

  6. @up: według mnie talent to coś niezależne od tych 4 czynników, ale wpływające jednak na jakoś kodu.
    Choć ciężko byłoby to zdefiniować. Być może intuicja + coś jeszcze.

    No, ale w każdym razie to tak jak w tańcu.
    talent taneczny!= ciężka praca+ doświadczenie

    sielakos

    22 listopada 2009 at 20:48

  7. Dostrzegam od lat że wraz z rozwojem narzędzi programistycznych jakość kodu i optymalizacja schodzi na psy. Dzisiaj szybciej i prościej użyć gotowych klocków niż się bawić w ręczne klepanie. Być może wynika to krótkich terminów ale niestety programy są coraz bardziej zabugowane i mają większe wymagania. Rekompensuje to jedynie równie szybki wzrost wydajności sprzętu, ale załamać się można widząc kalkę programu, który chodził kiedyś na PC AT a dzisiaj przepisany po nowemu wymaga CoreDuo. Obawiam się że również PHP straci wiele na rzecz nowocześniejszych języków. Wymrzeć pewnie nie wymrze.

    Delta

    8 grudnia 2009 at 10:47

  8. Brednie. Programowanie jest z definicji odtwórcze. Definicja taka powstała po zapewne roku 90 kiedy to zaimplementowano już wszystkie wymyślone do tej pory algorytmy i je zapakowano w klocki. Potem była tylko optymalizacja klocków i takie śmieszne rzeczy jak UML.

    Talent jest potrzebny tylko przy wymyślaniu nowych algorytmów, technik itp.

    Nie mogę znaleźć cytatu więc będę improwizował:

    „Jeśli programujesz i spotkałeś nowy problem to znaczy, że albo został on już rozwiązany albo będziesz geniuszem jeśli go rozwiążesz.”

    Myślę, że jeden programista na kilka milionów trafia na problem jeszcze nie rozwiązany.

    Aha… PHP jest ograniczony. Jeśli bym miał wskazać język bez ograniczeń to bym wybrał JavaScript.

    PHP ponosi odpowiedzialność za bardzo niską jakość kodu serwerowego bo każdy licealista umie w nim pisać. Nie trzeba się rozwijać i w sumie nie za bardzo jest gdzie. Jeśli ktoś uważa, że jest inaczej to niech się rzetelnie weźmie za naukę jakiegoś języka funkcyjnego (za np. wspomniany JavaScript).

    Adrian Kalbarczyk

    29 grudnia 2009 at 01:19

    • Brednie. Talent to nie tylko wymyslanie rozwiazan. To laczenie istniejacych rozwiazan (algorytmow) w sposob innowacyjny (i nie tylko).

      PHP jest ograniczony, jak kazdy inny jezyk – ma swoje plusy i minusy.

      Nie podoba mi sie takze wrzucanie pseudo-programistow PHP do worka z programistami. To ze ktos potrafi cos napisac w PHP nie czyni go programista. To tak jakby nazwac kogos lekarzem tylko dlatego ze powiedzial zebys wzial tabletki przeciwbolowe. A pozniej narzekac na sluzbe zdrowia, bo sa tylko tacy co znaja sie na tabletkach przeciwbolowych.

      Pierwsze kroki w PHP sa tak samo latwe jak w Ruby, niestety kazdy patrzy na Ruby przez pryzmat Railsow co jest oczywistym bledem.

      Gdyby hosting Ruby byl tak samo popularny jak PHP, takze kazdy licealista moglby w nim pisac i zaloze sie ze takze byloby mnostwo kiepskich pseudo-programistow z pseudo-kodem.

      PHP nie jest idealny, ale nie ma nic wspolnego z jakoscia kodu. Jest poprostu popularny i przyciaga swietnych, dobrych i kiepskich programistow.
      Dobry programista stworzy dobry kod nawet w PHP.

      1dc1

      29 grudnia 2009 at 10:30

      • Innowacyjność w łączeniu algorytmów? No ja myślę że właśnie ta „innowacyjność” to tragedia dzisiejszego kodu. W programowaniu są zasady, których trzeba się trzymać. Co z tego, że ktoś wymyśli coś „bardzo-fajnego” skoro ktoś następny tego nie zrozumie bo nie mieści się w kanonach i straci tydzień na rozszyfrowanie kodu? Ponadto zapewniam, że kanony (a choćby i takie banalne jak MVC) są wymyślone po to, aby utrzymać jakość programów na poziomie. Jeśli ktoś wymyśli lepszy sposób połączenia algorytmów niż ten, który jest dostępny, niech napisze najpierw specyfikację/standard, potestuje na różne sposoby, zapyta innych, a potem dopiero używa. Myślę, że 99% takich pomysłów okaże się głupich już w pierwszych godzinach po jego wymyśleniu.

        Są dwie grupy zainteresowanych: programiści i – powiedzmy – informatycy (dokładnie computer scientists). Pierwsi używają tego co ci drudzy wymyślą i niech bez parunastu lat rozwijania się w tym kierunku (i nie chodzi tu o pisanie głupich stronek w PHP) nawet nie próbują wymyślać nowych rzeczy.

        Co do PHP, mówię tu o środowisku wykonania PHP, bo jedyną różnicą jaka jest między językami to to, że są albo imperatywne albo funkcyjne. Jest to więc środowisko dedykowane do pisania prostych stronek internetowych. Z definicji strony takie w PHP nie mają stanu po stronie serwera, tak więc aplikacji w nim nie napiszemy. Tak samo jak nie napiszemy dobrej aplikacji sieciowej do obsługi czatu, AJAXa, Web Service itp. Poza programami działającymi po HTTP, PHP leży. Zapewniam, że pisząc w tym języku nigdy nie przeskoczy się pewnej poprzeczki, która np w C jest jedną z pierwszych do pokonania. Jeśli ktoś chce się rozwijać jako programista niech się weźmie za najtrudniejsze rzeczy w tej dziedzinie czyli np za aplikacje współbieżne czy rozproszone, a jeśli koniecznie chce pisać strony internetowe to niech pisze w JavaScript strony dla iPhone/Android/Opera Mobile/inne.

        Dobry programista nie jest od tego żeby pisał dobry kod tylko od tego żeby dostarczył produkt zgodny ze specyfikacją na czas (chociaż i ta definicja może dotyczyć tego „dobrego kodu”). Bardzo rzadko występuje potrzeba pisania szybkiego, ładnego kodu. Po co się męczyć jeśli jest on używany raz na tydzień i wykonuje się sekundę zamiast paru milisekund?

        PS. Co do lekarzy. Jest dokładnie tak jak mówisz – oni przepisują nam tysiące niepotrzebnych tabletek i nazywają się lekarzami specjalistami. Szczególnie jeśli „tabletki przeciwbólowe” zamienisz na „antybiotyk”. Tak samo w IT pracują w Polsce sami informatycy bo i osoba instalująca Windowsy jest wg ludzi informatykiem. Czyli jestem ze swoim dyplomem z tytułem zawodowym Informatyk w tym samym worku co licealiści.

        Adrian Kalbarczyk

        29 grudnia 2009 at 13:08

  9. Mysle, ze troche sie zagalopowales.

    „Poza programami działającymi po HTTP, PHP leży.”

    PHP zostal stworzony dla potrzeb sieci i w tym kierunku sie rozwija. Jezeli chcesz pisac aplikacje desktopowe, AJAXowe to oczywiscie ze nie uzyjesz PHP bo jest on uruchamiany po stronie serwera (oczywiscie jest to skrot myslowy – mozesz uzywac PHP nawet po stronie klienta, ale nie ma to wiekszego sensu). Wiec za bardzo nie rozumiem tego przeslania i porownania.

    Nie bardzo tez trafia do mnie argument, ze jezeli ktos chce tworzyc strony internetowe to powinien uzyc Javascript…

    W calej Twojej odpowiedzi, mowisz o rzemieslinikach. Nie wiem jak Ty, ale dla mnie programowanie to pasja i oprocz pracy (czyli dostarczania produktu wg specyfikacji), staram sie wymyslac takze wlasne rozwiazania, nie zawsze w zgodnego z kanonami.

    Idac dalej – co masz na mysli piszac:

    „Bardzo rzadko występuje potrzeba pisania szybkiego, ładnego kodu. Po co się męczyć jeśli jest on używany raz na tydzień i wykonuje się sekundę zamiast paru milisekund?”

    Przy tworzeniu aplikacji po stronie serwera, to wlasnie te milisekundy sa wazne. Malo wydajny kod przeklada sie na brak zadowolenia u klienta.
    Przeciez ze stron www korzysta sie na codzien, nie wyobrazam sobie, co by sie stalo, gdyby moj kod byl malowydajny i jak by sie to przelozylo np. na 200 000 dziennych wizyt.
    Nieraz udowodniono ze kiepski kod moze zabic najbardziej wydajne serwery (patrz: Ruby -> Twitter).

    No i na koniec: przeciez „wykonastwo” nie wyklucza talentu. Na pierwszy rzut oka mozna rozpoznac kod slaby, przecietny, dobry i wrecz rewelacyjny, stworzony przez kogos, kto ma wlasnie talent do programowania.

    Pozdrawiam i dziekuje za wyczerpujacy komentarz. Zawsze warto poznac inny punkt widzenia.

    1dc1

    29 grudnia 2009 at 14:10

  10. W dynamicznych stronach internetowych praktycznie wszystko można zbudować z pewnych klocków. Ja osobiście staram się minimalizować kod server-side z sukcesami. Ostatnio napisałem serwer aplikacyjny w Pythonie i template engine w XSLT tylko po to żeby nie musieć pisać ani w PHP ani w Pythonie tylko konfigurować całość za pomocą XMLa i SQLa (XML bo docelowo całe strony/aplikacje internetowe mają być konfigurowalne za pomocą GUI) . Kod jaki napisałem uznaję za prototyp. Teraz mozolnie piszę specyfikację, a raczej opis pomysłu używania konfiguracji zamiast języka programowania. Moja strona i kilka innych na tym działa, pisze się je podobnie szybko jak w statycznym HTML, pozwala na to samo co PHP czy Django i wymaga o wiele mniejszej wiedzy od twórcy serwisu. Mając za sobą taki research spokojnie mogę podsumować środowisko PHP i jego koncepcje.

    „Na pierwszy rzut oka mozna rozpoznac kod slaby, przecietny, dobry i wrecz rewelacyjny”

    Myślę, że to jest bardzo subiektywna opinia. Rewelacyjność kodu jest relatywna względem posiadanych umiejętności opiniującego. Jeśli jest nim licealista, prawie każdy kod jest rewelacyjny. Jeśli to będę ja, po 10 latach rozwijania się programistycznie (na mojej stronie mniej więcej jest o tym w czym „grzebałem”), prawie żaden kod nie zrobi na mnie wrażenia – w szczególności mój własny:), bo terminy zabijają jakość.

    Twitter by padł gdyby nie to, że goście od ruby poszli po rozum do głowy i zoptymalizowali maszynę stosową podobnie jak w Javie (nie pamiętam czy to JIT był, ale chyba tak). Jakby to samo zrobili w Pythonie to i Grono mogłoby wyrzucić połowę serwerów. No i połowę programistów, bo by się nie opłacało trzymać speców od C/C++. A gdyby cały świat przeszedł na client-side i np. Gearsy to Dell by zbankrutował:).

    O wiele prościej jest wdrożyć cacheowanie niż pisać wydajny kod PHP/Python. „Przy tworzeniu aplikacji po stronie serwera, to wlasnie te milisekundy sa wazne…” podchodzi pod premature optimization. Prawie nigdy nie opłaca się optymalizować kodu skryptów bo można to samo napisać o wiele wydajniej w SQL, JavaScript albo zastosować „memoize” np w postaci memcached.

    Tak na koniec. Jeśli witryna napisana w PHP ma więcej niż 100 wejść na sekundę to zawsze opłaca się potraktować ten kod jako prototyp i przepisać go w całości na Jave/Pythona/.net w zależności od preferencji i kupić VPS albo dedyka. Kiedy już jeden serwer nie wystarcza a są przesłanki ku temu, że witryna się będzie rozwijać trzeba wdrożyć cache, potem trzeba już pisać system rozproszony.

    Ogólnie zapraszam na moją stronę. Nie ma na niej możliwości komentowania, ale można się ze mną skontaktować przez maila albo formularz. Też byłoby mi miło poznać inny punkt widzenia na tematy, które tam poruszam.

    Adrian Kalbarczyk

    29 grudnia 2009 at 15:08


Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s

%d blogerów lubi to: