Any fool can make things bigger, more complex, and more violent. It takes a touch of genius and a lot of courage to move in the opposite direction. Albert Einstein

o Ruby

Nowy stary wykop.pl - zmiany nie zawsze są dobre...

21 komentarzy | Kategorie: Ruby, Ruby on Rails, Web | trackback
Tagi:

W poniedziałek zawita kolejna odsłona serwisu wykop.pl. Po raz kolejny zagości nowa szata graficzna . Nie mógłbym jednak, zwłaszcza na tym blogu, nie zwrócić uwagi na to, że wykop jest przepisywany (a właściwie już został) na PHP.

Pozwolę sobie przytoczyć wypowiedź Pana Tomasza Drożdżyńskiego, właściciela wykopu:

Dyskusja na temat przejścia z RoR na PHP zupełnie niepotrzebnie nabrała emocji, więc jako osoba odpowiedzialna za tą decyzję, chciałbym ustosunkować się do Waszych uwag. 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ą.

Zanim zaczniecie przedstawiać kontrargumenty, chciałbym abyście pamiętali, ze dla użytkowników, czyli dla Was, nie powinno to mieć zbytnio znaczenia w czym piszemy. Bardzo wiele świetnych aplikacji webowych jest w PHP, są też świetne rzeczy napisane w RoR (Twitter.com jest największym serwisem napisanym w RoR w sieci i niestety ma duże problemy z wydajnością).

“Czasem o zakupie auta, decyduje dostępność części oraz punktów serwisowych”

źródło

"Wydajność"

Jak pewnie wiecie wykop miał ogromne problemy z wydajnością. Był na tyle popularny, że dzielony hosting na dreamhost po prostu nie wyrabiał. Potem serwis został przeniesiony na serwer dedykowany i do tego czasu moim zdaniem chodzi bardzo dobrze. Pominę tu dosyć znany błąd "Ups... Chyba znowu coś nawaliło. Przepraszamy za problemy.", który był błędem programistycznym i nie miał nic wspólnego z serwerem. Zatem czy argument, że czysty PHP (czyli bez frameworka, swoją drogą to będzie masakra, daleko na tym nie zajadą:)) jest szybszy od RoR ma sens? Równie dobrze można przepisać na assembler, będzie jeszcze szybszy :). A nawet jeśli nadejdzie taki moment, że serwer okaże się zbyt wolny niekoniecznie trzeba myśleć o szybszym bądź kolejnym serwerze. Jest jeszcze cache, który w znaczący sposób może przyspieszyć serwowanie stron. Jak można przeczytać wykop nie używa keszowania danych (choć jest to dosyć stara wypowiedź p_ch to jestem pewien, że do dzisiaj w tej kwestii nic się nie zmieniło) bo "Na wykopie nie ma zbytnio co keszować - za dużo szybko zmieniającej się treści, różnej dla każdego usera." No cóż, bzdura. To co każdy (zalogowany) użytkownik ma innego na stronie to tekst "witaj Radarek", reszta jest taka sama. W takim wypadku żaden serwis nie mógłby korzystać z zalet keszowania bo przecież każdemu użytkownikowi pokazuje inną treść... Z tym, że keszować można nie tylko cały kod html, ale prawie każde dane (część kodu html, zapytania sql itp).

"Aktualnie dysponujemy 3 osobowym zespołem programistów PHP"

To, że na świecie, w Polsce jest masa programistów PHP jest oczywiste. Inaczej jest z Rubym, programistów jest zdecydowanie mało, ale są. Ba, jestem prawie pewien, że jest więcej programistów Rubiego niż ofert pracy! Bo przecież zanim pojawiają się oferty prac, Ci najbardziej zatwardziali, ciekawscy programiści na własną rękę uczą się Rubiego i Railsów. I jeszcze taka uwaga, czy do wykopu trzeba milionów programistów Rubiego? Setki tysięcy? Setki? No właśnie, wystarczy 2-3 (2 wcale nie najlepszych programistów Rubiego spokojnie by wystarczyło). A czy tak źle się pracuje programistom wykopu, że już trzeba kolejnych na wymianę? No właśnie, skoro przy tym jesteśmy. Otóż koszt wdrożenia nowej osoby do projektu w PHP (a już na pewno takiego, który nie używa żadnego frameworka) jest nieporównywalnie większy niż do projektu w Railsach (railsowcy mówią tym samym językiem i to ma w tym wypadku podwójne znaczenie).

"Moment. Zdecydowaliśmy się na taki krok teraz, póki serwis jest w miarę prostą aplikacją"

Tak, jest dość prostą aplikacją (wszystko zamyka się praktycznie w trójce: użytkownicy, linki, komentarze). Rozumiem, że wykop zostanie wzbogacony o nową funkcjonalność. Tym bardziej zrezygnowanie z RoR jest w tym wypadku średnim posunięciem. Skoro aplikacja będzie się rozrastać dobrze by było żeby z programistycznego punktu widzenia trzymała się kupy. A jak wyglądają aplikacje pisane w czystym PHP to chyba wszyscy zainteresowani wiedzą. Jednym słowem - burdel. Na prawdę nie korzystacie z żadnego frameworka?

"Twitter.com jest największym serwisem napisanym w RoR w sieci i niestety ma duże problemy z wydajnością"

Po pierwsze miał, bo już się z tym uporał. Po drugie porównywanie wykopu do twittera jest śmieszne. To nie ta liga... Twitterowi nie pomógłby nawet czysty PHP. Nie przy tylu użytkownika i tylu requestach na sekundę. O MySQL też pisano, że to wolna baza danych (przy komercyjnych się chowa itp), ale Google jakoś jest w stanie używać tego na dużą skalę.

Czekamy na efekty

Pozostaje nam zatem czekać na efekty pracy. Zapewne użytkownicy dogłębnie sprawdzą i ocenią czy przesiadka na PHP wyszła na dobre czy nie wykopowi. Aha, takie wcale niemałe serwisy jak Slideshare, Scribd, Revolution Health chodzą na Railsach i nie narzekają :-). Oby tylko wykop nie przemawiał do nas zbyt często "Ups... Chyba znowu coś nawaliło.".

Jeśli spodobał Ci się wpis to może umieścisz ten blog w swoim czytniku RSS?

Komentarze

1. avatar icon Cthulhu napisał(a) 20 Lip 2007 o godz. 02:51:

Fakt, bardzo dziwna decyzja z przejściem na czyste PHP. No chyba, że pójdą za modą i będą pisać własny „Frejmwork”. No i jeszcze to łatwe zastąpienie jednego programisty jakimś nowym… brr..
Swoją drogą jeśli miałbym się przenosić z Railsów to chyba tylko na Django.
Z resztą postu też się zgadzam więc w sumie nie ma sensu dalej komentować

2. avatar icon ajgon napisał(a) 20 Lip 2007 o godz. 09:01:

Ich serwis – ich problem ;) Jak beda pisac taki kod w PHP jak w Railsach, to juz nie bedzie „Oooops… cos nawalilo” tylko „Fatal error – shackuj mnie na /home/p_ch/wykop.pl/include/admin.class.php” ;]

3. avatar icon maszyna napisał(a) 20 Lip 2007 o godz. 11:15:

Ten tekst jest kompletnie nie obiektywny. Zgodze sie z niektorymi argumentami obu stron. Ja pisze w PHP i RoR. Skalowalnosc oprogramowania zarowno napisanego w R0R jak i w PhP zalezy bardziej od jakosci programisty niz od mozliwosci obu jezykow.
Zgodze się z tym, że programista z 2 miesięcznym doświadczeniem w RoR i podobnym w PHP napisze 1000 bardziej skalowalna i wydajna aplikacje w RoR. Ale rzecz zmienia się wraz z doświadczeniem twórcy.

Ja mam doświadczenie w obu językach. Rubiego jednak bardziej używam do aplikacji Intranetowych niż serwisów w jakimś tam standardzie web 2.0.

Prawdę mówiąc ja myślałem podobnie jak ty zanim problem jednostki nie zaczął mnie dotykać osobiście. Bowiem w pewnym momencie przedsięwzięcie internetowe może przestać być zabawą albo projektem przynoszącym małe dochody i stać się poważnym biznesem.

Zadaj sobie teraz pytanie dlaczego w biznesie używa się Windowsa, Offica, itd skoro wiadomo, że Linux, Mac są stabilniejsze, wydajniejsze i bezpieczniejsze.

W biznesie już nie liczy się pasja a logistyczna skalowalność przedsięwzięcia. Skoro twórcy wykopu postanowili zrobić, ze swojego przedsięwzięcia biznes ich posunięcie jest całkowicie zrozumiałe w innym wypadku nie bauuuudzo rozumiem.

Otóż drodzy programiści, jako inny programista muszę wam powiedzieć, że podczas rozwijania własnego projektu w necie przychodzi okres kiedy trzeba puścić swoje dziecko i zając się czymś innym niż przerabianiem non stop kodu.

Uwierzcie lub nie ale rotacja ludzi w tym biznesie może być ogromna a wybór programistów PHP jest znacznie większy niż RoR.

A tak pozatym jeżeli twierdzisz, że każdy programista RoR jest doskonały to się mylisz. Dokładnie tak samo jak w PHP. Są programiści i „programisci”.

Aplikacje w Rubym można skaszanić równie dobrze jak w php ;]

4. avatar icon Livio napisał(a) 20 Lip 2007 o godz. 11:54:

Mnie się bardzo podoba nowy design – jest profesjonalny.

5. avatar icon Maruder napisał(a) 20 Lip 2007 o godz. 13:13:

Wytrzyj pianę z ust koleś i zaufaj ludziom, którzy w przeciwieństwie do Ciebie zainwestowali w wykop.pl kasę. Ty liznąłeś RoR i cholera Cię bierze, że coraz więcej osób/firm nie chce być „cool” i „trendy” i wybiera starego, poczciwego PHP. Są powody.

6. avatar icon Livio napisał(a) 20 Lip 2007 o godz. 13:13:

PHP jest popularne, bo jest proste i wydajne ;) . To jest moje zdanie.

7. avatar icon Radarek napisał(a) 20 Lip 2007 o godz. 13:16:

@Maruder, gdzie Ty widzisz pianę? To już nie można mieć swojego, odmiennego od kogoś zdania? Czy inne zdanie zawsze równa się piana na ustach? W przeciwieństwie do pewnych osób ja podaję rzeczywiste argumenty niż RoR jest „cool” i „trendy”. Wyluzuj.

8. avatar icon Anonim napisał(a) 20 Lip 2007 o godz. 17:06:

A dlaczego nie w JEE? ;-)

9. avatar icon Riddle napisał(a) 20 Lip 2007 o godz. 21:11:

Ja już pisałem, że decyzja o przejściu na PHP to strzał w nogę, ale oczywiście mnie prawie zjedzono.

Nie dość, że serwis kopiuje wszystko co jest na Diggu, to jeszcze teraz straci ogromny plus w postaci RoR.

Polska scena Web2.0 to w ogromnej większości copy-cats i ludzie nastawieni tylko i wyłącznie na zysk. Wymieniam na palcach jedej ręki wyjątki (tworzone przez parę znanych mi osób).

10. avatar icon blah napisał(a) 20 Lip 2007 o godz. 21:34:

„Polska scena Web2.0 to w ogromnej większości copy-cats i ludzie nastawieni tylko i wyłącznie na zysk.”

Ohh straszne, sami krwiożerczy wyzyskiwacze kapitaliści co za swoją pracę (o zgrozo!) każą sobie płacić. Katastrofa, upadek moralny, koniec, nie ma już nic :) Ostatni gasi światło :)

I jakiż to niby plus dają Railsy na Wykopie? He? Że RoR jest bardziej „trendi”? No lol…

Ah ale zapomniałbym – przecież Web2.0 w Polsce już umarło ;)

11. avatar icon Riddle napisał(a) 20 Lip 2007 o godz. 21:38:

Gdzie ja miałem poradnik „jak gadać z trollami”…

Otóz drogi kolego, znam ja ambitne projekty wykonywane przez Polaków i jakoś żaden z nich (również, z wyjątkami które tak naprawdę potwierdzają regułę) nie jest skierowany na rynek polski. Bo ten jest uważany przez osoby mające pojęcie o Web2.0 za denny i śmierdzący.

Możesz się nie zgadzać, możesz się ośmieszać, możesz produkować kilobajty śmieciowych komentarzy bez jakiejkolwiek konstruktywnej krytyki – ale przeciwko Tobie jest setka serwisów klonów i zaledwie parę pozytywnych inicjatyw.

12. avatar icon blah napisał(a) 20 Lip 2007 o godz. 21:55:

Ah no tak bo wszystko co Polskie to gorsze, w ogóle powinniśmy mówić w ingliszu, toć przecież polski język taki barbarzyński i prostacki, niegodny zachodniej cywilizacji ;)

Ale wracając do meritum – nadal nie odpowiedziałeś na moje pytanie co Wykop traci porzucając RoR?

A czy w US and A tworzą się same nowe i innowacyjne projekty? Nie. Tam jest jeszcze więcej klonów niż w Wolsce. A sam Wykop to klon Digga, czy byłby napisany w Railsach czy w Django, czy Javie – klon to klon.

Z resztą co może interesować użytkownika końcowego w jakim języku napisany jest serwis? Wystarczy żeby działał szybko, stabilnie i był rozwijany.

13. avatar icon Riddle napisał(a) 20 Lip 2007 o godz. 22:01:

Nie, nie wszystko co polskie gorsze, ale musisz zrozumieć że istnieją jeszcze ludzie z poglądami innym niż Twoje. Czemu RoR -> PHP to błąd napisał w poście Radek.

Wiem, że w USA powstaje więcej klonów. Ale to jest rynek-matka, wielokrotnie przekraczający chociażby marzenia o rynku w Polsce.

14. avatar icon blah napisał(a) 20 Lip 2007 o godz. 22:16:

A Ty Ridle bezkrytycznie wierzysz w słowa Radarka? No tak możesz wierzyć skoro sam nie programujesz ani w jednym ani w drugim. Co stawia nas raczej w totalnej opozycji…

RoR dla programisty jest wygodniejsze, ale hosting, drodzy i rzadko występujący w przyrodzie >doświadczeni< koderzy są zbyt dużą zaporą na polskim rynku…

Powtórzę się – dla użytkownika końcowego i tak nie będzie miało to znaczenia, widać nie znaleziono chętnych programistów Railsowych lub byli za drodzy i przepisano na php (sam wykop to mała aplikacja, więc pewnie im to długo nie zajęło).

15. avatar icon Riddle napisał(a) 20 Lip 2007 o godz. 22:23:

Nie rozumiesz, że doświadczony programista RoR dla Wykopu nie jest koniecznością? Tak samo z koderami JavaScript i wedesignerami znającymi się maksymalnie dobrze na CSS nie musisz uderzać na zwykłe serwisy. Tych najlepszych bierze się do najlepszych projektów.

Co do składni to wiem jaki to wyznacznik – jeśli pisze się bezboleśnie i jeszcze jest do ten fun, to efekt końcowy będzie o wiele lepszy niż pisanie dla pisania. Dla mnie jest to jQuery vs Prototype ew. inne ogromniaste frameworki klasujące wszystko od 0 do 100.

Dlatego nie zbywaj mnie jako uczestnika dyskusji który od czasu do czasu poklepie HTML i myśli, że zjadł wszelkie rozumy. Ponadto wystarczy pogadać z ludźmi i już coś wiadomo – dlatego nie będę brał Twoich słów za wypowiedzi wyroczni, „bo ja tępy się nie znam”.

16. avatar icon blah napisał(a) 20 Lip 2007 o godz. 22:41:

Nie jestem wyrocznią , jestem koderem pracującym i w RoR i w PHP. Niedoświadczony programista RoR = niedoświadczony programista PHP, właściciel serwisu chyba to załapał i wolał już zatrudnić doświadczonych koderów PHP (chyba że ktoś woli oglądać już kultowe „Upss..” niż same linki). O efektach ich pracy przekonamy się w poniedziałek. Jak dotąd to rozpisywanie się dlaczego porzucono RoR jest „bez sęsu” jak to pisuje pewien inny troll.

17. avatar icon blah napisał(a) 20 Lip 2007 o godz. 22:48:

Do tego ocenianie języka po samej jego składni jest hmmm niepoważne. Weźmy taką Javę – sa0 język super ale już reszta niefajno…

A dla 90% ludu PHP jest łatwiejsze do nauki bo ma składnie C-like którą zna każdy student informatyki…

18. avatar icon Staszek napisał(a) 20 Lip 2007 o godz. 22:55:

„chodź jest to dosyć stara wypowiedź” – przydałoby się sprawdzanie pisowni :)

Nie wiem po co komentować przejście z jednego języka programowania na drugi. Tak zdecydowali i tak będzie. Koniec.
... Ale nie, przeciez trzeba napisać jak to jeden język jest lepszy od drugiego.
Chore.

19. avatar icon aevin napisał(a) 21 Lip 2007 o godz. 14:08:

A mi sie przypomina ksiazka Paula Grahama: „Hakerzy i malarze”.

„Jesli kiedykolwiek bedziesz pracowal w startupie, oto przydatna wskazowka do oceny konkurentow. Czytaj zamieszczane przez nich ogloszenia o poszukiwanych pracownikach. (...) Podczas kilku lat pracy w Viaweb przeczytalem mnostwo ogloszen o pracy. Nowy konkuretn zdawal sie wyrastac nam mniej wiecej co miesiac. Pierwsza rzecza, ktora robilem po sprawdzenie czy maja na swoje stronie interaktywna wersje demo produktu, bylo zajrzenie do dzialu ogloszen.(...) Im wiecej w opise bylo zargonu „brazy IT” tym mniej niebezpieczna byla firma. Najbezpieczniejsze byly te, ktore chcialy doswiadczenia w Oracle. Takimi nie ma sie co martwic. Jesli poszukiwali programistow piszacych w C++ lub Javie, tez nie statnowili zagrozenia.. Gdy chcieli zatrudnic programistow Perla lub Pythona, robilo sie goraco – znaczylo to, ze firma, przynajmniej od strony technicznej, jest prowadzona przez hakerow. Gdybym wtedy kiedykolwiek zobaczyl ogloszenie o poszukiwaniu hakerow LISPa bylbym naprawde zmartwiony…”

„Gdy wybierasz technologie, musisz zignorowac to co robia inni i brac pod uwage tylko najlepsze rozwiazania.”

http://en.wikipedia.org/wiki/Viaweb

Takze panowie – czekam na efekty tego przejscia na php…

20. avatar icon Radarek napisał(a) 23 Lip 2007 o godz. 10:48:

Wróciłem po weekendzie a tu takie kłótnie ;).

„chodź jest to dosyć stara wypowiedź” – przydałoby się sprawdzanie pisowni :)

Ajć jaki wstyd, już poprawię :). Aczkolwiek pisownię sprawdzałem i błędu jako tako nie ma (przecież jest słowo „chodź”), stąd ta pomyłka.

@blah, przeczytaj wpis jeszcze raz i pokaż mi w którym miejscu jako argumenty podaję, że RoR jest „trendi”? Co do składni (a przy okazji pewnej filozofii) języka, jeśli uważasz że jest ona bez znaczenia… to ok. Ja myślę inaczej (aczkolwiek nie użyłem tutaj tego argumentu).

@Staszek Czy ten tekst jest o wyższości jednego języka nad drugim? Nie wydaje mi się. Tekst jest o tym, dlaczego (moim i tylko moim zdaniem) nie warto przechodzić w przypadku wykopu z RoR na PHP.

@aevin, dobre! :) Gdzieś już coś takiego czytałem.

21. avatar icon kkempin napisał(a) 12 Sie 2007 o godz. 23:11:

@aevin: hehe, Ruby czerpie bardzo mocno z LISPa :)

o decyzji wykop.pl zadecydowały bardziej względy pragmatyczne, niż wyższość którejś z technologii. Świadczy to bardziej o popularności RoR w Polsce i o rodzimym rynku programistów.

Piszę w PHP i RoR i z całą pewnością mogę stwierdzić iż tworzenie aplikacji w RoR daje dużo przyjemności, jest bardziej intuicyjne i ma w sobie to coś czego nie posiada żaden framework PHP.

Dodaj coś od siebie

Możesz korzystać ze składni Textile.

Pola oznaczone * są wymagane.

Proszę o dodawanie komentarzy związanych z tematem postu, sprawy osobiste proszę załatwiać przez maila bądź gg.

Zastrzegam sobie prawo do moderacji komentarzy (edycja, usuwanie).