Myślałem, że ten temat umarł, a tu proszę :-).
Prawdopodobnie będzie to dość dłuższa wypowiedź więc proszę o uzbrojenie się w cierpliwość :-).
[quote]
Filozofią PHP jest tworzenie dynamicznych aplikacji przeznaczonych dla www.
[/quote]
Hm i to jest filozofia? Ze świata Rubiego i Railsów dostałem na wejściu: DRY, Convention over configuration i testy unitowe (chodzi o to, że sam framework "prosi" mnie o pisanie testów).
[quote]
Można modyfikować metody
[/quote]
Jakiś przykład? Rozumiem też, że jak w każdym porządnym języku tak i w php wszystkie obiekty dziedziczą po bazowym (przeważnie Object - java, ruby...)?
[quote]
Istnieją aplikacje wspomagające testy jednostkowych.
[/quote]
Tak wiem. Tylko co mi po testach, które wywalają się kompletnie, gdy metoda zostanie wywołana na obiekcie null? (cały proces testów jest przerwany, bo taka sytuacja kończy się fatalem w php, a testy po poprawieniu błędu trzeba uruchamiać od nowa)
[quote]
Architektura MVC - i to jest trudne?
[/quote]
Każdy pattern w teori nie jest trudny. Ale co innego teoria a co innego praktyka. Nie wystarczy mieć w aplikacji kontrolery, modele i widoki, żeby aplikacja była zgodna z architekturą MVC. Bez obrazy, ale znam przekrój społeczności PHP i z 90% ludzi niewiele wychodzi poza "gołego" php (frameworki itp).
[quote]
Design patterny - zna każdy, kto poważnie traktuje swoje zajecie
Framework - myślę, że coraz więcej osób zna, a wielu napisało swój
[/quote]
To jest właśnie "choroba" phpowców. Jest 20 frameworków, ale ja koniecznie muszę napisać swój. To własnie przez to php czekał na frameworki z prawdziwego zdarzenia tak długo.
[quote]
Ehhh. Guzik, a nie wyprze PHP. Jakby ktoś zadał sobie trud obejrzenia changeloga przy każdym wydaniu, zainteresował się jak wygląda obecnie SPL (big hołd dla developerów : P), czy obsługa błędów od php 5.2 (można przechwycić), to doszedłby do jedynego słusznego wniosku... php się rozwija.
[/quote]
Jest to jednak niewielki rozwój. Niestety, ale php upiera się ciągle przy kompatybilności wstecz i płaci za to cały czas. Język był od początku strukturalny i nagle nie stanie się super obiektowy itp. Mało tego. Sam rozwój w php polega na tym, że próbuje coś tam poodgapiać z różnych języków, a od siebie nie daje praktycznie nic.
[quote]
Framework Rails widziałem w akcji i przeanalizowałem pod kątem "filozofii" tworzenia oprogramowania. Jeśli to ma być wyznacznik dla aplikacji www, to ja dziękuję, bo nie ma tam nic, czego nie ma w PHP lub czego w php nie można napisać.
Z całym szacunkiem dla tego języka, ale do php to jeszcze ma kawałek.
[/quote]
Oczywistym jest, że w Php napiszesz sobie każdą aplikację jaką da się napisać w Ruby. Bo czemu nie. Chodzi o koszty, wygodę pisania a przede wszystkim możliwość utrzymania aplikacji w przyszłości (po 2 latach patrzysz na kod i zastanawiasz się o co kaman). Dynamizm języka, metaprogramowanie, spójne, logiczne i proste api, eskpresja, przejrzystość kodu - o to się sprawa rozchodzi (i tutaj już php kuleje). Bo jeśli jest Ci to obojętne to możesz pisać w asmie - tam też można napisać wszystko :-).
[quote]
[ciekawostka]Wykop ma być przepisany z powrotem na PHP ze względów wydajnościowych.[/ciekawostka]
[/quote]
Najgorzej to jest gdzieś coś usłyszeć i puszczać bzdury w świat. W komentarzu do wpisu
http://yashke.com/2007/05/13/no-luv-4-ror-...koppl/#comments Pan Tomasz Drożdżyński napisał:
[quote]
Oto trzy równorzędne powody:
Po pierwsze: Wydajność. Porównanie wydajności RoR do frameworków PHP’owych nie ma sensu, ponieważ piszemy w czystym PHP. Wydajność nie jest problemem bieżącym, mamy dobry serwer, który zupełnie wytrzymuje obecne obciążenie strony. Lecz ilość odwiedzających rośnie z dnia na dzień w dość szybkim tempie.
Po pierwsze: Ludzie. Aktualnie dysponujemy 3 osobowym zespołem programistów PHP. Dzięki przewadze w popularności PHP nad Rubym, każdy z członków zespołu może być szybko zastąpiony, bardzo łatwo znaleźć dodatkowe, doświadczone osoby do pracy.
Po pierwsze: Moment. Zdecydowaliśmy się na taki krok teraz, póki serwis jest w miarę prostą aplikacją.
[/quote]
Podkreślam: "ponieważ piszemy w czystym PHP". W testach wydajnościowych różnych frameworków (w tym django, rails i symfony) można poczytać na stronie
http://www.alrond.com/en/2007/jan/25/perfo...ing-frameworks/. No więc Panowie, czemu nie programujecie w Pythonie, skoro ma tak dobrą wydajność?
Poza tym, odkąd wykop jest na dedyku to nie zauważyłem by chodził wolno. To taka moja dygresja tylko.
[quote]
[kontra-ciekawostka]sa instalacje rails wyciagajace 4000 requestow na sekunde[/kontra-ciekawostka]
[wniosek]widocznie kiepskie te instalacje skoro wykop z nich nie skorzysta i woli jednak PHP[/wniosek]
[wniosek]Wykop ma cienki serwer [/wniosek]
[/quote]
Jeden serwer nie wyciągnie 4000req/s. To już są aplikacje wieloserwerowe, skalowalność i takie tam. Równie dobrze może to być php, ruby, python. Nie zachowujmy się jak dzieci, dyskutujmy na poziomie :-).
[quote]
Zrozumcie, że w obecnej sytuacji nie ma szans na rewolucję i masową migrację z PHP do Ruby. Jest stanowczo za późno. Ruby, może, owszem zgromadzić grono zwolenników, ale czy nie ograniczy się do tego, co się dzieje z Pythonem?
Osobiście jestem wdzięczny za Ruby on Rails jego developerom, ale nie jest to powód, przez który rzucę PHP(www) i Javę(www + desktopy), ponieważ to, co mogłem dostać od RoR dostaję już w Symfony czy w Grails-ach. Smutna, dla niektórych, prawda jest taka, że gdyby Ruby wchodziło wraz z RoR 5-7 lat temu proporcje mogły by być zupełnie inne i to PHP mogło by być w opozycji.
[/quote]
Ciagle podkreślacie, że php jest taki popularny, że używa go tyle, a tyle osób (ilość rezultatów w zapytaniach google itp). To ja zadam Wam proste pytanie. Czy wyznacznikiem jakości jest dla Was to ile osób coś używa? (tak mi się przypomniało: skoro muchy jedzą g*** to musi to być dobre i dla mnie, prawda?) W Rubim nie musi programować 50% programistów na świecie, wystarczy 1%, ale tych dobrych. Nie każdy hosting musi oferować railsy, wystarczy mi 1 (ten na którym umieszczę aplikację). Nie musi być masa ofert pracy w railsach, wystarczy 1 (ta, dzięki której zdobędę pracę). I tak dalej. Nie mierzmy jakoś ilością.
[quote]
Popularność Ruby zaczęła odczuwalnie rosnąć dopiero po ukazaniu się Ruby on Rails w lipcu 2004, i nie okłamujmy się, głównie (w 95% przypadków) dzięki temu frameworkowi Ruby zawdzięcza wciąż rosnącą popularność.
[/quote]
Oczywiście, że tak. Railsy stały się killer application dla Rubiego. Ale czy coś w tym złego? Jednak trzeba sobie powiedzieć jedno: Railsy są tak dobre bo Ruby jest tak dobry. I nie są to tylko moje słowa.
[quote]
Ponadato, powiedzmy szczerze (zresztą ~splatch już to zaznaczył) Ruby bez RoR byłby niczym.
PHP go kładzie nawet gdyby nie miało zadnego frameworka.
[/quote]
Turlam się ze śmiechu. Przepraszam, ale nie mogę się powstrzymać. Jak już wcześniej powiedziałem RoR dał kopa Rubiemu. I to jest fakt. Ale, że goły PHP kładzie Rubiego to przesadziłeś

. Mike, rozumiem, że przeczytałeś conajmniej 1 dobrą książkę o Rubim i napisałeś kilka programów? Bo inaczej takie opinie to o kant d** rozbić.
[quote]
Pozwolę sobie jednak mieć odmienne zdanie co do samego pisania aplikacji z użyciem RoR (tylko widziałem przykłady). Ze smutkiem stwierdzam, że nadaje sie to tylko do prostych aplikacji www, które nie wyjdą poza prostego CMS'a. Osiągniesz zatem dokładnie tyle, ile w php z użyciem... powiedzmy cakePHP + propel (nie wchodźmy w szczegóły).
Może to jest tak, że nagła "eksplozja" zamówień na aplikacje pisane w Rubym jest związana z niewiedzą? Kiedy analityk usłyszy opinie na temat języka, że jest lepszy, bardziej obiektowy, najlepiej rozwijany, ma super framework, który napisze bloga używając 50 linijek kodu itp., to poleci do szefa i zarekomenduje go. Powie mu: "Szefie, wygląda na to, że nasz serwis najlepiej napisać w Rubym, bo to lepsza technologia niż PHP, która jest dla dzieciaków i wszyscy się z niej wycofują."
[/quote]
Następny urwał się z choinki. Nadaje się tylko do prostych aplikacji? No bez jaj :-). Dobrze, że przyznałeś "tylko widziałem przykłady". Jesteś prawie usprawiedliwiony...
Ok, czas na małe podsumowanie. Przede wszystkim moja odpowiedź nie ma wywołać żadnego flame wara. Jestem zły na Was za to, że nie wysililiście się zbytnio by dać szansę Rubiemu i Railsom a macie już o nim opinię! Z tym, że danie szansy to wg mnie 1 książka + kilka prostych programów (np w trakcie czytania książki) i 1 malutki projekcik (np prosta aplikacja w stylu TODO application). Pokazałem już 2 zatwardziałych phpowcom (mieli postawę dokładnie taką jak Wy, prawie wszystkie było na "nie") railsy i po napisaniu prostej aplikacji (zrobili to praktycznie z biegu, nie uczyli się języka) przyznali jednak, że coś w tym jest...
I na koniec jeszcze chciałem powiedzieć, że nigdy nie powiem, że Ruby jest prostym językiem dla mas (php jest prostym językiem dla mas, dzięki temu nawet dzieciak z gimnazjum może o sobie mówić "programista php" - zaprzeczycie?). Ruby wymaga trochę od programisty, ale odpłaca mu się z nawiązką.