Nie wiem, czy to nadaje się do działu FAQ, ale jak dla mnie to jest dość często zadawane pytanie, a przynajmniej powinno być. W czym Ruby on Rails jest lepsze od perlowego frameworka Catalyst (i ewentualnie innych frameworków)? Nie jestem w żaden sposób uprzedzony co do żadnego z nich, chciałbym po prostu wybrać właściwą platformę dla swoich projektów i nie musieć jej zmieniać przez jakiś (dość długi) czas.
Jeśli chodzi o Ruby on Rails, najbardziej martwi mnie:
mniejsza niż w Perlu ilość modułów. Na perlowym CPAN.org są moduły dosłownie do wszystkiego (no, w granicach rozsądku). Np., czy w Rubym jest moduł do tworzenia PDFów? (serio, pytam, bo nie wiem)
mniejsza ilość dokumentacji. Ruby jest młode. I ma japoński rodowód. Co jak co, ale nie zamierzam w najbliższym czasie uczyć się tego języka. Przykład z brzegu: ostatnio walczyłem z modułem SOAP4R, implementującym komunikację w SOAP. Niestety, poległem. Brak dokumentacji i zabugowanie kodu (i nie był to tylko mój problem, bynajmniej) uniemożliwiły mi pracę. To trochę ostudziło mój początkowy zapał i zachwyt nad Rails.
A Catalyst na Perlu? Tutaj z kolei martwi mnie, że developing w tym frameworku może nie być tak łatwy i przyjemny, jak w Rails. Kod Perla może też niektórym wydawać się mniej przejrzysty.
http://www.google.pl/search?hl=pl&q=ruby+vs+perl
Sam w Perlu popelnilem jedynie kilka prostych skryptow w celach poznawczych przez co nie podejme sie porownywania.
Ruby ma wspaniale zaimplementowana obiektowosc (SmallTalkowa zasada - wszystko jest obiektem). Co dosc wazne Ruby byl projektowany jako jezyk w pelni obiektowy. Jest bardzo dynamiczny i zostawia duza doze dowolnosci. Osobiscie uwazam, ze kod Ruby’ego czyta sie duzo lepiej niz Perla. Co do tego, ze Ruby’ego stworzyl Japonczyk nic (juz dzis) nie znaczy szczegolnie przy takie mozna zaobserwowac ostatnio.
Rails to jeszcze inna sprawa - fakt, ze nie interesowalem sie Catalystem ale przegladalem wiele frameworkow w PHP, J2EE czy ostatnio Pythonie i zasada convention over configuration jest genialna, rozdzial MVC nie jest zrobiony na sile, ActiveRecord to akurat tyle ORM ile potrzebuje:)… ActiveSupport, helpery, integracja z wywolaniami AJAXowymi, scaffoldy, generatory, WEBrick, zalety moglbym wymieniac dlugo - wszystko to sprawia, ze RoR jest poki co moim srodowiskiem pracy z wyboru.
Co do repozytorium gotowych rozwiazan to masz np: http://rubyforge.org/ http://www.bigbold.com/snippets/tag/ruby http://pleac.sourceforge.net/pleac_ruby/
Hmm, usiadłem trochę nad Ruby, pobawiłem się Try Ruby (http://tryruby.hobix.com/) i doszedłem do wniosku, że programowanie w Ruby rzeczywiście jest łatwiejsze i… jakby przyjemniejsze. Przełożenie pomysłów na kod jest o wiele prostsze, po prostu intuicyjne. Podoba mi się też, że w Ruby wszystko jest obiektem (np. takie rzeczy jak “String”.reverse , nie do pomyślenia w Perlu) i że ta obiektowość nie jest nieco wymuszona (vide Perl).
Rzeczywiście, to prawda, że Ruby (noo, podstaw Ruby) można nauczyć się w jeden dzień, a nawet krócej.
No i adresy repozytoriów modułów, które podałeś. Rzeczywiście, nie jest ich aż tak mało. Odnośnie PDFów jest np. Ruby PDF Tools i Rails PDF Plugin.
Ostatnia rzecz, co do której mam wątpliwości - które firmy hostingowe w Polsce oferują Ruby, preferowanie z preinstalowanymi najbardziej potrzebnymi modułami?
Konkludując, chyba zdecyduję się na Rails. Dzięki za pomoc
sorry, znam dość dobrze perla, chociaz od dłuższego czasu nic nie pisałem. i tak sobie na to catalyst spojrzałem. i zobaczyłem te wszystkie ->, { } znaczki itd… pomyślałem, nie… nie ma mowy