Witam (dawno tu nie zaglądałem:) )
Temat wątku "Odpowiadanie na Ruby wypiera php ?" a Wy kłócicie się czy php jest lepsze od javy? Dajcie spokój, bo jak zwrócił słusznie uwagę
mike - ośmieszacie się. Java (jak i .net) ma monopol w kwestii aplikacji enterprise i takimi "pierdołami" jak dynamiczne strony www sobie nie zawraca głowy;) (takie firmy jak Sabre, drQ, comarch trzepią na tym niezłą kasę, a programiści zaczynają od kwot rzędu 4-5k na czysto, spytajcie ile zarabiają programiści php). Ok to tak na marginesie bo chcę coś napisać odnośnie tematu.
Ruby, Ruby on Rails - nie chcę wyjść na jakiegoś buraka - ale ilu z Was cokolwiek (ale coś więcej niż hello world) w tym napisało? Interesuję się Rubim od jakiegoś czasu, śledzę blogi ludzi piszących o Rubim i RoR. Niestety nie miałem okazji napisać w tym coś większego, aczkolwiek już teraz mogę powiedzieć, że kocham ten język i jego filozofię. Właśnie. Filozofia. Jaką filozofię ma php? Nie ma żadnej (przynajmniej ja nie widzę). Rubi i Railsy mają (poszukajcie, np DRY, unit testy).
Ruby to w 100% dynamiczny język. Praktycznie możesz zmienić/dodać wszystko (np. nowa metoda do już istniejącej klasy - nawet wbudowanych w język!). Oczywiście oznacza to, że musisz wiedzieć co robisz, gdy zmieniasz działanie jakiejś istniejącej metody itp. Dzięki tej dynamiczności dostaję język w którym mogę pisać jęzki (DSL - Domain Specific Language). Czyli przykładowo narzędzie rake (make w ruby) - dostaję make, ale ciągle programuję w ruby.
Społeczność Rubiego jest inna niż php. Wiem, że mogę urazić niektórych z Was, ale społeczność Rubiego jest dojrzalsza, mądrzejsza, bardziej doświadczona. M.in. dlatego że w php jest dużo ludzi, którzy napisali 2 proste skrypty i już nazywają siebie programistami. Sami wiecie ile na forum jest pytań o podstawowe sprawy. A ilu programistów php zna dobrze jakiś framework, design patterny, architekturę mvc?
Ostatnio byłem na konferencji rupy 2007 (
http://rupy.wmid.amu.edu.pl/) na temat języków Ruby i Python. I powiem Wam jedno: o tych językach można wiele powiedzieć, o narzędziach, metodykach. O php? Znacie jakieś konferencje na temat tego języka? (prócz tych organizowanych przez zend - wiadomo, promowanie języka).
Php ciągnie za sobą błędy przeszłości. Zaczął jako prosty, strukturalny język skryptowy, potem próbowano dodać do niego obiektowość (niestety nie wszystko wyszło), ale ciągle podstawą jest programowanie strukturalne (przykładowo: wszystkie funkcję języka są w jednym namespacie, ogrom funkcji array_xxx). Obsługa błędów? Ok są wyjątki, ale już np noticy są nieprzechwytywalne (w ogóle to jest śmieszne żeby wbudowana obsługa błędów polegała na dodawaniu do wyjście jakiś komunikatów - ja chcę wyjątek, który można przechwycić, zalogować itp).
Ok, trochę się rozpędziłem

. Podsumowując:
Ruby nie jest idealny. Żaden język nie jest. Ale jest najbliższym mojemu ideałowi. Ciągle dojrzewa i programiści mają jeszcze nad czym pracować (np. szybkość - już powstaje nowy interpreter YARV, dużo szybszy od poprzedniego). Jeśli tworzysz proste strony - zostań przy php. Jeśli chcesz tworzyć aplikacje idź w kierunku Rubiego/Python, Javy lub .net.
ps. Ktoś kiedyś powiedział mniej więcej coś takiego: jeśli język programowania nie wpłynie na sposób Twojego myślenia, tzn że nie jest wart używania. Wierzcie mi: Ruby i jego filozofia wpływają bardzo na sposób myślenia i programowania.