Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Frameworki PHP vs Ruby On Rails, Skąd ten agresywny marketing w community RoR ?
Wiktor P.
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 9
Dołączył: 14.09.2009

Ostrzeżenie: (0%)
-----


Witam.

Będąc na etapie programisty znającego php trochę lepiej niż średnio rozgarnięty szympans,
poszukuję frameworka, który nauczy mnie dobrych praktyk programistycznych i projektowych (projektowych tzn. odnośnie
całego projektu, włączając w to projekt w UML, coś jak rysunek techniczny dla architekta, tu projekt dla aplikacji).
W grę wchodzi Symfony i Zend - bo znam ludzi, którzy mnie pokierują, doradzą etc.
Wiem, że znajome mi osoby od ww FM zrobią wszystko w swoich narzędziach, bardzo je chwalą, nie chcieli by ich zmieniać.
I tu pojawia się na horyzoncie jeszcze jeden konkurent Symfony i Zend - mianowicie Ruby on Rails.

Przedstawię argumenty pehapowców i rorowców i prosiłbym o rozsądne rozstrzygnięcie, czy argumenty obydwu grup
są cokolwiek warte (pokrywają się z prawdą).
W nawiasach przedstawię własną opinię dot. danego punktu.
Chciałbym podkreślić, że argumenty za lub przeciw dot. wyboru któregoś z frameworków
mają na celu odpowiedzieć na pytania:
- czy nauka danego frameworka wniesie coś dla programisty odnośnie programowania ogólnie (nie zależnie od języka),
- czy nauka danego frameworka przyda się w praktyce (szybkie wdrożenie, hosting).

Proszę również o swoje argumenty odnośnie Symfony, Zend i Ruby on Rails.

1. Argumenty pehapowców za PHP:
- PHP jest prosty do wdrożenia na serwer produkcyjny.
- Miliony użytkowników, wielka społeczność.
- W PHP można zrobić wszytsko - od strony www dla cioci co ma stoisko na bazarze (proceduralnie)
do najbardziej zaawansowanych projektów jakie można znaleźć w sieci.
- Jest ogromna ilość podręczników do PHP po polsku.
- PHP jest kompatybilne wstecz (w rozsądnych granicach).
- Nowoczesne frameworki do PHP oferują wszystko to co konkurencja (Python Django, RoR, Merb i inne).
- Programista nie musi być jednocześnie administratorem serwerów, żeby wdrożyć projekt na hosting.

1a. Argumenty pehapowców przeciw Ruby on Rails.
- Brak polskich książek (te obydwie na rynku są do wersji przestarzałych).
- Hostowanie to dodatkowa praca, dodatkowy czas, dodatkowe problemy.
- Hostowanie to koszmar i drożyzna.
- Bez sensu używać do małych projektów (czyli przez conajmniej 50% programistów).
- Kłótnie w samym sercu założycieli frameworka (odszedł twórca serwera mongrel).
- Zdarza się przepiswyanie gotowych już projektów w RoR na PHP np.
a. http://www.wykop.pl
b. http://www.oreillynet.com/ruby/blog/2007/0...ack_to_p_1.html

- Jeśli coś już pójdzie nie tak, to będziesz szukał powodu conajmniej tygodniami w źródłach RoR.
- Brak kompatybilności jakiejkolwiek wstecz. Pojawienie się nowej wersji RoR grozi powrotem do korzeni (może nie trzeba uczyć się od nowa wyświetlania "Hello World", ale trzeba
douczyć się ogromnej ilości nowych rzeczy i zapomnieć o tych starych rozwiązaniach).
- Bardzo agresywny marketing, rodem z telezakupów "Mango", tu zacytuję dla przykładu:
książka "Rails Space" M. Hartl, A.Prochazka - Helion 2008,
str. 31
"Witryna Rails Space (wykonana w RoR) będzie miała wiele elementów kojarzonych z popularnymi sieciami społecznościowymi jak Facebook".
- ZARAZ ZARAZ - Facebook jest w PHP !
str. 26
" (...)stwierdził, że gdy porządnie przyjrzał się PHP, uznał, że jest do niczego(...)".
- brak argumentów.
- Programista RoR MUSI być jednocześnie administratorem serwerów, żeby wdrożyć projekt na hosting.


2. Argumenty zwolenników Ruby on Rails:
- PHP to nakładka na język C.
- RoR jest w Ruby, a ten jest całkowicie obiektowy (moja uwaga: rozumiem, że programista RoR na co dzień wykorzystuje tą obiektowość
i tworzy sobie nowe klasy na bazie znaków "+", "-", "=", ";" itp. ).
- Sam język Ruby daje o wiele większe możliwości niż sam PHP ( moja uwaga: a mimo to, nikt nie używa samego rubiego bez frameworka do webaplikacji ).
- PHP ma koszmarną składnię.
- RoR daje duże możliwości w zakresie ORM, testów jednostkowych, MVC (moja uwaga: podobną funkcjonalność oferował już pięc lat temu CodeIgniter napisany w PHP4).
- Kto raz spróbował RoR nigdy nie wróci do PHP (moja uwaga: to zdanie można znaleźć wszędzie co ma związek z RoR, ale brak argumentacji).
- PHP to bajzel, PHP to zło.
- PHP jest dla dzieci i wieśniaków.
- Rorowiec zarabia więcej niż pehapowiec ( moja uwaga: jeśli zna tak dobrze RoR, że może porównac się z kimś kto np. 5 lat programuje w Zend
i na dodatek w swoim województwie uda mu się znaleźć pracę przy RoR to może rzeczywiście ).

Dziekuję za opnie, wskazówki, swoje uwagi i wszelkie komentarze.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




A czy ja wspomniałem, że chodzi o implementację obiektówki w Ruby'm? Chodzi mi o niekompatybilności pomiędzy kolejnymi wersjami. Zawsze będą występować. A czytając w necie o Rubym developerzy w części byli źli, że wprowadzane zmiany są robione tak, że o tę kompatybilność trudno. O ile w zasadzie kod napisany w PHP4 pozwalał się odpalić na wersjach php do 5.3 (wyłączając ją), choć z ostrzeżeniami, to rzekomo podobnie odległe czasowo i rozwojowo wersje Ruby'ego już tak przyjazne nie są dla starszego kodu.

Fakt, 5.3 wprowadził wiele zmian, ale gdyby nie zmiana pewnych dyrektyw to w zasadzie dla normalnego deva w PHP nie zaszło aż tak dużo poza częścią obiektową, którą bardziej dopieszczono. Gdyby przywrócić "stare ustawienia" dyrektyw poprzez ini_set, to kod z php4 nadal rusza i działa. To co nazwałem "obudzeniem się z ręką w nocniku" w php zaszło od bardzo długiego czasu własnie po raz pierwszy dla 5.3 a z opisów netowych devów Ruby'ego zachodzi to częściej. Dlatego moim zdaniem choć wymusza coś co uważam za pozytywne, czyli ciągła naukę, to sprawia jeden problem - niemal nieustanną kontrolę kodu i jego konserwację oraz aktualizację by dopasowywać do zmian w języku. Może tyczyło to nie samego Rudy'ego ale RoR, nie kojarzę. Jeśli tylko RoR to i tak byłoby to dziwne z racji "olewnictwa" częściowego i podchodzenia do zmian w sposób "robimy zmiany od razu a potem, zobaczymy co to da i kto się będzie burzył". Trochę całość rozwoju PHP przypomina Linuxa. Są pakiety stable, które dopiero po długim czasie wchodzą, gdy już są przetrzepane na wiele sposobów. Daleko im numeracją do aktualnych, ale są pewne, kompatybilne z większością rzeczy i nie burzą się ludzie na zmiany w nich. Poza tym co tak naprawdę w składni obiektówki było najpoważniejszą zmianą, która tak uwaliła kod? Zmiana nazewnictwa metody będącej konstruktorem? (IMG:style_emoticons/default/smile.gif) Bo poza tym reszta zmian aż tak dramatycznego wpływu na kod nie zauważyłem. Ten kto pisał w 5.X zgodnie ze standardami jedyne co odczuł bardzo poważnie po przejściu na 5.3 to faktyczny wzrost wydajności.

I wcale nie twierdzę, że PHP jest najlepsze, lepsze od Ruby'ego czy tego typu zdań. Ale w odróżnieniu od choćby Twoich postów pisze nie tylko o samych zaletach, gdyż mam świadomość wad tego języka i nie kryję ich przed nikim. Przyjrzyj się swoim postom i znajdź w nich jakąś krytyczną uwagę pod kątem Ruby'ego. Przykro mi, ale ja widzę same jechanie po PHP. Gdybym tak podchodził jak Ty, to bym tutaj pod niebiosa piał o C++, który moim zdaniem mimo bycia staruchem i małej wygody pozwala na tak wiele, że niewiele języków jest w stanie stanąć oko w oko z nim. Może nawet posunąłbym się do wychwalania assemblera, bo to dopiero zajebiście wydajny język (IMG:style_emoticons/default/winksmiley.jpg) Co z tego, że programowanie w nim to męczarnia. A jaką ma bogatą dokumentację. Rozumiesz do czego piję? Choćby o odrobinie przyzwoitości w tym, że żaden język nie ma możliwości nieograniczonych i ktoś kierując się opiniami fanboyów poświęci czas na naukę, by się po jakimś czasie dowiedzieć, że język posiada ograniczenia, o których nie dowiedział od nikogo wcześniej. Mógłbym porównać postawę devów Ruby'ego i PHP-owców tak:
Ruby: "W Ruby da się w sumie zrobić absolutnie wszystko." - po czasie okazuje, że jednak nie jest to do prawda.
PHP: "PHP jest głównie do łatwiejszego tworzenia stron. Aczkolwiek da się czasem z niego coś wycisnąć" - to czasem okazuje się być co jakiś czas rzeczą której chcieliśmy, ale nie wiedzieliśmy, że da się ją w PHP zrobić, choć najczęściej trzeba przy tym się trochę nagimnastykować (IMG:style_emoticons/default/winksmiley.jpg) Lub prościej: "Ruby'owcy zbyt często uważają, że mogą wszystko. PHPowcy zbyt często uważają, że są tylko od robienia stron. Obie grupy się mylą".

A co do środowiska miałem na myśli nie środowisko uruchomieniowe czy oprogramowanie a społeczność. Źle dobrałem słowo. Teraz chyba rozumiesz mój ciąg myślowy. Mniejsza społeczność to mniejsza liczba zaimplementowanych rozwiązań/projektów przydatnych społeczności. Nie miałem na myśli tego jak moje słowa odebrał wookieb, czyli udziwnianie projektów, byle zrobić coś innowacyjnego. Nie chodziło mi bynajmniej o wymyślanie koła na nowo, bo uważam to za głupotę.

Wookieb. To co pisałem o opieraniu się na innych to taka konkluzja wynikająca z postów hipertrackera samoczynnie się nasuwająca. Jakoby Rudy nie był na tyle dobry by normalna implementacja była dobra i trzeba się posiłkować innymi językami i innymi rozwiązaniami (JVM). Rozumiem co chciałeś mi powiedzieć o możliwości przeskoczenia między Ruby i JRuby by móc wykorzystywać coś z drugiego, czego nie ma pierwszy. To fajna rzecz, a zważywszy na możliwości bibliotek Java, to otwierają się po prostu ogromne wrota. Ale to jest właśnie to o czym wspomniałem jako opieraniu się na innych. Gdyby nie możliwości Java to i Ruby by ich nie posiadał. Taka łata zanim w bazowym języku tego nie wprowadzą.

Do spaghetti code nie będę się mieszał. Każdy pisze jak mu się podoba. Mi się to nie podoba, nie pisze tak i pisać nie mam zamiaru. Inna sprawa, że takowy choć trudny do ogarnięcia, jest wydajniejszy często.
Go to the top of the page
+Quote Post

Posty w temacie
- Wiktor P.   Frameworki PHP vs Ruby On Rails   10.06.2010, 09:26:10
- - jan3sobi3ski   Większość z tych argumentów to jakieś totalne bzdu...   10.06.2010, 14:19:32
- - Zbłąkany   Argumenty odnośnie serwerów są całkowicie nietrafi...   10.06.2010, 16:00:29
|- - jan3sobi3ski   Cytat(Zbłąkany @ 10.06.2010, 17:00:29...   10.06.2010, 16:17:47
- - Wiktor P.   Cytat(jan3sobi3ski @ 10.06.2010, 17:17...   10.06.2010, 18:42:33
|- - jan3sobi3ski   Cytat(Wiktor P. @ 10.06.2010, 19:42:3...   10.06.2010, 19:24:36
- - Zyx   Cytat- Sam język Ruby daje o wiele większe możliwo...   11.06.2010, 09:32:40
- - Wiktor P.   Dzięki Zyx za opinię. Zawsze napiszesz coś konkret...   11.06.2010, 10:07:05
- - Cysiaczek   @Zyx - Są trzy warstwy. Model (uproszczony do mixu...   11.06.2010, 11:08:21
- - Zbłąkany   @Wiktor P.: nie tylko, ogólnie wszystkie uwagi do ...   11.06.2010, 18:13:42
- - marcio   http://www.goldenline.pl/forum/891204/php-...ch-pr...   11.06.2010, 18:44:52
- - Zyx   Cysiaczek -> 1. Jeśli model upraszczasz do ORM...   11.06.2010, 19:57:20
- - destroyerr   @Zyx im dłużej o tym piszesz tym bardziej jestem s...   11.06.2010, 20:33:30
- - Cysiaczek   Rozumiem to co piszesz, ale jeśli masz chwilę, pok...   11.06.2010, 20:55:48
- - Zyx   Na szybko taką realizację MVC można zobaczyć w Joo...   11.06.2010, 21:13:02
- - dr_bonzo   Co do marketingu RORa - powstał jako nowa technolo...   1.09.2010, 20:35:14
- - cojack   Cytat- PHP jest dla dzieci i wieśniaków.   1.09.2010, 21:00:03
- - kwiateusz   az sprawdziłem czy mi słoma z butów nie wystaje......   1.09.2010, 22:06:33
- - mike   Cytat(Wiktor P. @ 10.06.2010, 10:26:1...   1.09.2010, 22:10:06
- - Crozin   Ale jedzie na HipHopie więc w sumie ciężko powiedz...   1.09.2010, 22:41:09
- - marcio   A jednak kazdy na tym forum robi/robil cos w php w...   1.09.2010, 22:54:01
- - Crozin   Czekaj, czekaj... ja pierwszą styczność miałem z P...   2.09.2010, 01:23:30
- - hipertracker   Co wy tu za pierdoły wypisujecie? Hosting RoR może...   2.09.2010, 04:06:44
|- - Wujashek   Przewrotnie PHP ma najszybszy GC ;-) Po tym jak sk...   2.09.2010, 12:31:34
- - Pilsener   CytatW Ruby można pisać dowolne aplikacje - a znac...   2.09.2010, 08:24:48
|- - hipertracker   Cytat(Pilsener @ 2.09.2010, 08:24:48 ...   2.09.2010, 09:11:58
- - marcio   CytatAkurat to, że Ruby jest językiem ogólnego zas...   2.09.2010, 09:34:38
|- - hipertracker   Cytat(marcio @ 2.09.2010, 09:34:38 ) ...   2.09.2010, 10:08:04
- - dr_bonzo   CytatPrzewrotnie PHP ma najszybszy GC ;-) Po tym j...   2.09.2010, 12:43:58
|- - Wujashek   Cytat(dr_bonzo @ 2.09.2010, 13:43:58 ...   2.09.2010, 13:14:45
- - yevaud   troszke gorzej jesli ruby(konkretnie 1.8) jest tyl...   2.09.2010, 19:12:28
- - Zyx   hipertrackerze, odpowiem Ci w sposób następujący: ...   2.09.2010, 21:27:16
- - cojack   Wiecie co, chciałbym podziękować chłopakom od r...   2.09.2010, 23:22:33
- - thek   Nie znam Ruby'ego, nie uczyłem się go jeszcze,...   3.09.2010, 00:13:43
- - yevaud   CytatRuby w jakiejkolwiek wersji miałby zagrozić j...   3.09.2010, 02:21:20
- - hipertracker   Kwestia obiektowości Obiekty w PHP3? Dodaj że rów...   3.09.2010, 04:22:11
|- - mike   Cytat(hipertracker @ 3.09.2010, 05:22...   3.09.2010, 10:14:11
|- - hipertracker   Cytat(mike @ 3.09.2010, 10:14:11 ) Bz...   3.09.2010, 10:34:25
- - SHiP   1. A ja piszę serwer gry w php i uruchamiam go jak...   3.09.2010, 07:52:31
|- - hipertracker   Cytat(SHiP @ 3.09.2010, 07:52:31 ) 4....   3.09.2010, 10:17:36
|- - mike   Cytat(hipertracker @ 3.09.2010, 11:17...   3.09.2010, 10:23:22
|- - hipertracker   Cytat(mike @ 3.09.2010, 10:23:22 ) Oj...   3.09.2010, 10:44:36
|- - mike   Cytat(hipertracker @ 3.09.2010, 11:44...   3.09.2010, 10:55:00
|- - SHiP   Cytat(mike @ 3.09.2010, 09:55:00 ) ~S...   3.09.2010, 12:16:02
- - wookieb   CytatRuby on Rails 3.0 pójdzie przecież zarówno po...   3.09.2010, 08:24:41
- - Cysiaczek   CytatOgólnie model oparty na interfejsach i klasac...   3.09.2010, 08:47:20
- - cojack   Cysiaczek ja się z Tobą zgadzam i nie. Dlaczego t...   3.09.2010, 09:03:39
- - hipertracker   Cytat(yevaud @ 2.09.2010, 19:12:28 ) ...   3.09.2010, 09:59:10
- - SHiP   Ok, powiedzmy, że mnie przekonałeś ale ja jestem t...   3.09.2010, 10:25:19
|- - mike   Cytat(SHiP @ 3.09.2010, 11:25:19 ) W ...   3.09.2010, 10:32:15
|- - hipertracker   Cytat(SHiP @ 3.09.2010, 10:25:19 ) W ...   3.09.2010, 10:51:50
- - wookieb   Cytat(SHiP @ 3.09.2010, 11:25:19 ) W ...   3.09.2010, 10:29:04
- - SHiP   Ale po co takie nerwy? Ciekawy jestem. Kolega post...   3.09.2010, 10:37:23
- - wookieb   To, że nie ma wielokrotnego dziedziczenia w PHP da...   3.09.2010, 10:39:19
- - marcio   Cytat(wookieb @ 3.09.2010, 11:39:19 )...   3.09.2010, 10:49:19
- - SHiP   @hipertracker: ale wzorzec spagetti(o ile można to...   3.09.2010, 10:52:04
|- - hipertracker   Cytat(SHiP @ 3.09.2010, 10:52:04 ) Ni...   3.09.2010, 11:19:15
|- - Radarek   Cytat(SHiP @ 3.09.2010, 10:52:04 ) Ni...   3.09.2010, 11:46:22
|- - hipertracker   Cytat(Radarek @ 3.09.2010, 11:46:22 )...   3.09.2010, 12:17:32
- - thek   A czy ja wspomniałem, że chodzi o implementację ob...   3.09.2010, 13:37:45
- - hipertracker   @thek: pewnie ci chodzi o to zamieszanie między w...   4.09.2010, 01:38:24
- - wiewiorek   W starciu z ASP.NET MVC - Ruby on Rails jest pod k...   4.09.2010, 20:24:48
- - Pr0100   CytatW starciu z ASP.NET MVC - Ruby on Rails jest ...   4.09.2010, 21:03:53
- - thek   Jak wspomniałem nie znam Ruby'ego i mówię o ni...   5.09.2010, 00:57:40
- - wiewiorek   A jakie duże strony powstały w RoR ? Nie za bardzo...   5.09.2010, 09:23:55
- - SHiP   Thek tutaj dobrze zauważył, że w php bardzo ogromn...   5.09.2010, 09:32:16
- - dr_bonzo   CytatThek tutaj dobrze zauważył, że w php bardzo o...   5.09.2010, 09:47:25
- - SHiP   @dr_bonzo: podoba mi się to rozwiązanie z Ruby. Mą...   5.09.2010, 09:55:15
- - hipertracker   Cytat(thek @ 5.09.2010, 00:57:40 ) Pr...   5.09.2010, 11:47:15
- - vokiel   Temat wątku to "Frameworki PHP vs Ruby On Rai...   5.09.2010, 12:32:02
|- - hipertracker   Cytat(vokiel @ 5.09.2010, 12:32:02 ) ...   6.09.2010, 01:50:07
|- - uupah5   Cytat(vokiel @ 5.09.2010, 13:32:02 ) ...   6.09.2010, 02:00:50
- - thek   Sam C jeszcze nie obsługiwał klas, ale miał już ic...   5.09.2010, 21:08:46
- - wiewiorek   to ja też dam linka do google trends jak kolega wy...   6.09.2010, 05:44:13
|- - hipertracker   Cytat(wiewiorek @ 6.09.2010, 05:44:13...   6.09.2010, 07:20:19
- - dr_bonzo   Google trends? A co to zlicza? Ilosc newsow o dany...   6.09.2010, 07:08:49
- - wookieb   Masakra. Dzieci dorwały statystyki i będą się kłóc...   6.09.2010, 07:32:05
- - Daiquiri   @hipertracker - prowadzisz iście akademickie wywod...   6.09.2010, 08:45:43
- - Radarek   @wookieb: +1 @Daiquiri: dlaczego oceniasz przez p...   6.09.2010, 09:55:38
- - Daiquiri   Cytat(Radarek @ 6.09.2010, 10:55:38 )...   6.09.2010, 10:31:04
|- - Radarek   Cytat(Daiquiri @ 6.09.2010, 09:31:04 ...   6.09.2010, 10:52:11
- - Daiquiri   @Radarek Prosiłam o realne korzyści dla klienta....   6.09.2010, 11:20:03
|- - hipertracker   Cytat(Daiquiri @ 6.09.2010, 11:20:03 ...   6.09.2010, 20:20:09
|- - SHiP   Ogólnie się zgadzam ale nie ze wszystkim Cytat(hip...   6.09.2010, 20:21:49
|- - hipertracker   Cytat(SHiP @ 6.09.2010, 20:21:49 ) Tu...   6.09.2010, 20:29:41
- - dr_bonzo   CytatPytam o to jakie realne korzyści przyniesie k...   6.09.2010, 11:32:15
- - SHiP   Teoretycznie wyższe koszty utrzymania. Bo o ile fi...   6.09.2010, 11:38:30
- - Daiquiri   Cytat(dr_bonzo @ 6.09.2010, 12:32:15 ...   6.09.2010, 11:45:03
- - thek   W ogólnym zarysie z tym co pisze Radarek lub hiper...   6.09.2010, 12:08:36
- - Theqos   Pomijając zadowolenie programisty i jego umiejętno...   6.09.2010, 13:48:18
- - marcio   CytatPomijając zadowolenie programisty i jego umie...   6.09.2010, 13:59:28
- - dr_bonzo   Cytat.NET lubie ale i tak poki co wydajnosciowo w ...   6.09.2010, 14:16:50
- - marcio   CHodzi o to ze JIT na pewno dziala szybciej niz je...   6.09.2010, 14:59:26
- - thek   Theqos. Musiałbyś naprawdę bardzo nieoptymalnie pi...   6.09.2010, 15:18:56
- - SHiP   Czemu od razu miszczu? [PHP] pobierz, plaintext ...   6.09.2010, 21:17:25
|- - hipertracker   Cytat(SHiP @ 6.09.2010, 21:17:25 ) re...   7.09.2010, 02:05:59
- - Cysiaczek   @hipertracker - to, co opisałeś jako zalety używan...   6.09.2010, 22:09:42
- - thek   Hipertracker to mam zasadnicze pytanie dla przykła...   6.09.2010, 23:57:16
- - everth   Dyskusja typu: moje jest fajne bo a),,c) - wcale n...   7.09.2010, 02:27:34
- - Cysiaczek   CytatJaki marketing, jaka erystyka? Pleciesz coś b...   7.09.2010, 07:17:09
2 Stron V   1 2 >


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 17:30