Dovrei scegliere ruby on rails?

Dopo aver ormai esplorato ogni minima parte di php ho deciso che era ora
di imparare qualcosa di nuovo.

Non tanto per necessità pure, ma sopratutto per curiosità e per voglia
di imparare cose nuove.

Sono 10 giorni che mi documento e leggo su django e ror per capire quale
dei due framework (e ovviamente linguaggi relativi) si adatta meglio
alle mie esigenze.

So già che questa è una domanda già posta altre volte, e prima di
scrivere o cercato ed anche trovato alcune cose in questa mailing list,
ma la mia vuole essere una domanda un po’ più specifica.

Ho provato a smanettare con entrambi ed ho notato due cose:

-l’organizzazione del framework di ror mi piace di più
-il python però come linguaggio mi piace di più, lo trovo più intuitivo

Ora, partendo dal presupposto che conosco tanto (poco) di ruby quanto di
python cosa dovrei fare?

Sono arrivato alla conclusione che i due framework sono equivalenti, e
che dovrei scegliere in base a quello che mi piace di più.

Ma come dicevo sopra mi piace di più ror come framework ma come
linguaggio python

Avete qualche consiglio?

Grazie mille :slight_smile:

Il 05 dicembre 2011 22:52, Mauro M. [email protected] ha
scritto:

conosco tanto (poco) di ruby quanto di python cosa dovrei fare?

Ma come dicevo sopra mi piace di pi ror come framework ma come
linguaggio python

Ciao,

io ho cominciato con python e sono passato a ruby dopo tanti anni.

La mia ipotesi che ti piace di pi python perch non conosci
abbastanza ruby! :slight_smile:

Non (del tutto) uno scherzo: per molti, python pu essere pi
intuitivo; per me lo stato, in effetti. Ci ho messo un po’ ad
afferrare alcune cose di ruby, come le closure e le varie magie e, dal
momento che ho approcciato RoR pi o meno in contemporanea a ruby,
all’inizio restavo spesso spaesato davanti alle varie magie, specie,
ovviamente, quando non mi funzionavano e non capivo perch.

Il mio consiglio datti un po’ di tempo per esplorare entrambi i
linguaggi. Quanto ai framework, confesso: non ho approfondito pi di
tanto django, perch non piace molto.

pietro

2011/12/6 Pietro G. [email protected]

abbastanza ruby! :slight_smile:

Vero! Anche io sono un ex pythonista :slight_smile:

2011/12/6 Stefano P. [email protected]:

La mia ipotesi che ti piace di pi python perch non conosci
abbastanza ruby! :slight_smile:

Vero! Anche io sono un ex pythonista :slight_smile:
Io parto da lontano… sempre scritto codice C e continuo a scrivere
codice C.
Ho scritto anche codice in Java ma non lo cambierei con Ruby per la
parte web per niente al mondo.

Per la parte pi hackish C+Ruby un’accoppiata devastante

Paolo


“… static analysis is fun, again!”

life from an application security guy ~> http://thesp0nge.com

2011/12/5 Mauro M. [email protected]:

Sono arrivato alla conclusione che i due framework sono equivalenti, e
che dovrei scegliere in base a quello che mi piace di pi.

Ma come dicevo sopra mi piace di pi ror come framework ma come
linguaggio python

c’ un’opzione che non hai considerato: guardati un altro framework
python :slight_smile:

flask/bottle/pyramid/pylons/web.py/cherrypy o quel che va di moda di
recente.
Hanno tutti una comunit pi piccola di django ma magari hanno un
riscontro migliore con il tuo modello mentale.

Per secondo me dovresti fare un analisi veloce di cosa preferisci
in RoR rispetto a django. Per esempio, se tra le cose che preferisci
ci sono:

  • i load automatici dei file
  • i load automatici dei template e layout
  • la generazione magica dei vari helper, i *path e *url,
  • convention over configuration in generale

Allora forse qualsiasi cosa provassi in python potrebbe sempre
essere un filo frustrante perch andresti contro la mentalit che
“explicit is better than implicit”.

(Che a me succede, ma visto che mi da ai nervi anche la “magia tanto
per” in certe librerie ruby potrei essere un caso particolare)


twitter: @riffraff
blog (en, it): www.riffraff.info riffraff.blogsome.com
work: cascaad.com circleme.com

Io credo che si impari a parlare (io mai imparato) al di la’ di imparare
uno specifico linguaggio (come il tedesco o l’italiano).

La lingua che scegli influenzera’ di molto la tua forma mentis ed il tuo
modo di ragionare. Ma nulla ti vieta di imparare un nuova lingua in
futuro.

Ecco, siccome la lingua che scegli influenza la tua forma mentis io
scelgo:

Stupendo.

Ma anche brainfuck The Brainfuck Programming Language

Ciao

Ti consiglierei di provare un progettino (qualcosa che fai in un
giorno, massimo due) con i due framework per “saggiarli”… poi
decidi.

Riguardo Ruby, prova anche Sinatra (o Padrino) :wink:

Mi permetto un +1 a questa ultima frase.

Rails molto spesso “astrae” un po’ troppo ruby. Invece Sinatra (ma come
lui anche altri) lo ‘estende’ (creando un vero DSL che piu’
ruby-friendly
di cosi’ si muore). L’ho adorato appena l’ho visto. E Padrino e’ una sua
ulteriore astrazione, quindi dopo che hai digerito Sinatra quardati un
framework full-stack costruito sopra sinatra (Padrino appunto).

Ti consiglierei di provare un progettino (qualcosa che fai in un
giorno, massimo due) con i due framework per “saggiarli”… poi
decidi.

Riguardo Ruby, prova anche Sinatra (o Padrino) :wink:

Il 05 dicembre 2011 22:52, Mauro M. [email protected] ha
scritto:

Ciao

2011/12/6 Paolo P. [email protected]:

[cut]

Ho scritto anche codice in Java ma non lo cambierei con Ruby per la
parte web per niente al mondo.

Perch non passeresti da java a Ruby per la parte web?
Sono solo curioso (visto che sto passando da c# a ruby :-))

2011/12/6 Emanuele DelBono [email protected]:

Sono solo curioso (visto che sto passando da c# a ruby :-))
Perch non avevo bevuto ancora il caff ed ho scritto la frase al
contrario.
Son passato da Java a Ruby e non tornerei + indietro.

(la scrivo + semplice perch nn ho ancora preso il caff :-))

Scusate per l’entropia


“… static analysis is fun, again!”

life from an application security guy ~> http://thesp0nge.com

ahaha…ok!
Caffe per tutti! :smiley:

2011/12/6 Sergio B. [email protected]:

Il giorno 06 dicembre 2011 10:31, Emanuele DelBono <
[email protected]> ha scritto:

2011/12/6 Paolo P. [email protected]:

Ho scritto anche codice in Java ma non lo cambierei con Ruby per la
parte web per niente al mondo.

Perch non passeresti da java a Ruby per la parte web?
Sono solo curioso (visto che sto passando da c# a ruby :-))

Mi sa che Paolo ha scritto in fretta :slight_smile:
Penso intendesse che non ritornerebbe a Java web app per niente al
mondo.

S.

gabriele renzi wrote in post #1035304:

2011/12/5 Mauro M. [email protected]:

Sono arrivato alla conclusione che i due framework sono equivalenti, e
che dovrei scegliere in base a quello che mi piace di pi.

Ma come dicevo sopra mi piace di pi ror come framework ma come
linguaggio python

c’ un’opzione che non hai considerato: guardati un altro framework
python :slight_smile:

flask/bottle/pyramid/pylons/web.py/cherrypy o quel che va di moda di
recente.
Hanno tutti una comunit pi piccola di django ma magari hanno un
riscontro migliore con il tuo modello mentale.

Per secondo me dovresti fare un analisi veloce di cosa preferisci
in RoR rispetto a django. Per esempio, se tra le cose che preferisci
ci sono:

  • i load automatici dei file
  • i load automatici dei template e layout
  • la generazione magica dei vari helper, i *path e *url,
  • convention over configuration in generale

Allora forse qualsiasi cosa provassi in python potrebbe sempre
essere un filo frustrante perch andresti contro la mentalit che
“explicit is better than implicit”.

(Che a me succede, ma visto che mi da ai nervi anche la “magia tanto
per” in certe librerie ruby potrei essere un caso particolare)


twitter: @riffraff
blog (en, it): www.riffraff.info riffraff.blogsome.com
work: cascaad.com circleme.com

Ho già provato a creare qualcosa con i due framework, in particolare un
semplice blog (senza scaffold automatico) con commenti e post.

Le cose che ho notato, nello specifico sono:

Cose a favore di ruby:

  • La struttura del progetto è molto più bella e intuitiva. Per struttura
    intendo l’organizzazione delle cartelle.
  • Generazione di modelli e controller/viste direttamente da linea di
    comando. Questa è una cosa utile ma alla fine non indispensabile.
  • Quando si passano variabili da un controller alla vista non bisogna in
    pratica fare nulla. BAsta dichiarare una variabile di instance e stop.
    IN django bisogna specificare quale vista(template) caricaricare con il
    comando render_to_response e passargli le variabili.
    -in ruby non bisogna importare nulla, in django devi importare mille
    cose

Cose a favore di django:
-Il linguaggio, che come dicevo prima mi piace di più.

  • Non so esattamente per quale motivo ma in django ho sempre in testa
    quello che sto facendo. In ror invece spesso le cose funzionano bene, ma
    non so perchè funzionano! Nel senso che in django sono più consapevole
    di quello che faccio
  • Velocità: dicono che sia più veloce l’interprete di django, ma su
    questo non posso confermare perchè avendo fatto solo due piccoli blog
    non posso confrontare la velocità…

Come vedete ci sono cose che mi piacciono di ror e altre di django!

Sono veramente indeciso su quale imparare ad usare :frowning:

Sinceramente non vorrei sembrare troppo di parte, ma Ruby ha tutto
quello
che Python, ma con alcune cose in pi, quando scrivi il codice e lo leggi
fa semplicemente quello che ti aspetti, senza strane convenzioni, tipo
il
self che sinceramente mi sempre sembrata una di quelle piccole cose
incomprensibili.

Poi ROR fantastico, una volta capite le convenzioni trovi viaggi come
un
treno senza perdere tempo in cose banali che inutile stare a tutte le
volte a specificare, se poi per alcuni casi troppo c’ sempre Sinatra

Saluti
Riccardo

ciao!

Non credo di poter contribuire troppo alla tua scelta in quanto sono
nuovo
in RoR e conosco ben poco del python.

Esprimo solo le mie sensazioni! Non mi mai piaciuto il python per
l’assenza delle parentesi graffe/keyword di chiusura blocco.

Lo trovo piuttosto confusionario…

Purtroppo la mia un opinione poco documentata che va a toccare uno dei
tuoi principali punti che tu apprezzi di Django, ovvio che sono gusti!

Il giorno 06 dicembre 2011 11:10, Mauro M. [email protected]
ha
scritto:

Il 06/12/2011 11:10, Mauro M. ha scritto:

Ho gi provato a creare qualcosa con i due framework, in particolare un
semplice blog (senza scaffold automatico) con commenti e post.

Cose a favore di ruby:

Cose a favore di django:

Come vedete ci sono cose che mi piacciono di ror e altre di django!

Sono veramente indeciso su quale imparare ad usare :frowning:

ciao e benvenuto, aggiungo qualche considerazione:

  • trovandoti nella lista italiana di Ruby, anche se pieno di persone
    esperte/agnostiche/non-estremiste difficilmente troverai qualcuno che ti
    parli
    male di ruby/rails andando in favore di python/django :stuck_out_tongue:

  • ho scoperto Python nel 2001 e l’ho usato per diversi anni, devo
    ammettere che
    la mia scelta fu influenzata dal confronto con Perl, che non ho mai
    amato :wink: ho
    anche provato ad usare django, ottenendo risultati disastrosi (almeno
    nel mio
    caso). poi sono approdato su Ruby, e non credo che torner indietro, pur
    ritenendo Python un ottimo linguaggio/tecnologia :slight_smile:

  • fossi in te, spenderei un po’ pi tempo su entrambi. fare un blog di
    prova,
    un buon esercizio, ma rimane un task di pochi minuti. approfittane per
    aggiungere features pi avanzate. per esempio, ecco alcuni tasks molto
    frequenti
    nello sviluppo web:

    • upload di files
    • autenticazione utenti
    • processing di immagini

questo approccio, da un lato ti forzer a documentarti maggiormente,
avrai modo
di valutare l’ecosistema (disponbilit libri, blogs, librerie, etc…) di
Ruby e
Python. dall’altro lato, potrai comunque confrontare approcci e
paradigmi
differenti per risolvere lo stesso problema :wink:

ciao a presto,
A.

Il 05 dicembre 2011 22:52, Mauro M. [email protected] ha
scritto:

Sono 10 giorni che mi documento e leggo su django e ror per capire quale
dei due framework (e ovviamente linguaggi relativi) si adatta meglio
alle mie esigenze.

[ … ]

-l’organizzazione del framework di ror mi piace di pi
-il python per come linguaggio mi piace di pi, lo trovo pi intuitivo

[ … ]

Ma come dicevo sopra mi piace di pi ror come framework ma come
linguaggio python

Avete qualche consiglio?

Ciao Mauro,
io sono nuovo di Ruby e ROR, vengo da anni di C, C++ e sopratutto C#
… secondo me una questione di gusti, c’era un intervista di Matz
se non ricordo male in cui esprimeva bene questa sensazione proprio
paragonandola a ruby e python, dipende da uno come ci si sente quando
scrive in un linguaggio piuttosto che in un altro. Io ho studiato
python ma poi sono passato a ruby e ad oggi sinceramente non tornerei
indietro. Per cui un +1000 per ruby.
Il mio consiglio : scegli il linguaggio che ti piace.

Per ROR, sicuramente un gran framework, anche se come tutti i
framework ti aiutano fino a un certo punto … io non sono un amante
dei framework lo ammetto, per cu il mio consiglio : non scegliere per
il framework che ti piace di pi.

Una cosa da non sottovalutare in ruby rispetto a python tutto
l’ecosistema, le persone, rvm, bundler e le gemme. Ad oggi per quanto
ne so io python non ha un sistema cos sofisticato e semplice di
gestione delle librerie e delle loro dipendenze, e neanche qualcosa di
simile a rvm, ha virtualenv ma ho conosciuto alcuni pythonisti che non
ne erano soddisfatti (anche alcuni rubysti non sono soddisfatti di rvm
:-)).
Per quanto riguarda le persone, beh, gente che fa tool i cui nomi
sono: capistrano,sinatra, padrino, vlad the deployer, unicorn,
mongrel, ecc … hanno tutta la mia stima e il mio appoggi!!! Per cui,
la comunit conta!!!

i miei 2 cents

Saluti
Gianluca

Andrea P. wrote in post #1035334:

Il 06/12/2011 11:10, Mauro M. ha scritto:

Ho gi provato a creare qualcosa con i due framework, in particolare un
semplice blog (senza scaffold automatico) con commenti e post.

Cose a favore di ruby:

Cose a favore di django:

Come vedete ci sono cose che mi piacciono di ror e altre di django!

Sono veramente indeciso su quale imparare ad usare :frowning:

ciao e benvenuto, aggiungo qualche considerazione:

  • trovandoti nella lista italiana di Ruby, anche se pieno di persone
    esperte/agnostiche/non-estremiste difficilmente troverai qualcuno che ti
    parli
    male di ruby/rails andando in favore di python/django :stuck_out_tongue:

  • ho scoperto Python nel 2001 e l’ho usato per diversi anni, devo
    ammettere che
    la mia scelta fu influenzata dal confronto con Perl, che non ho mai
    amato :wink: ho
    anche provato ad usare django, ottenendo risultati disastrosi (almeno
    nel mio
    caso). poi sono approdato su Ruby, e non credo che torner indietro, pur
    ritenendo Python un ottimo linguaggio/tecnologia :slight_smile:

  • fossi in te, spenderei un po’ pi tempo su entrambi. fare un blog di
    prova,
    un buon esercizio, ma rimane un task di pochi minuti. approfittane per
    aggiungere features pi avanzate. per esempio, ecco alcuni tasks molto
    frequenti
    nello sviluppo web:

    • upload di files
    • autenticazione utenti
    • processing di immagini

questo approccio, da un lato ti forzer a documentarti maggiormente,
avrai modo
di valutare l’ecosistema (disponbilit libri, blogs, librerie, etc…) di
Ruby e
Python. dall’altro lato, potrai comunque confrontare approcci e
paradigmi
differenti per risolvere lo stesso problema :wink:

ciao a presto,
A.

Ciao, grazie per il tuo contributo :slight_smile:

Guarda ho deciso di porre la domanda qua perchè nonostante sia una lista
di ruby ho visto che è frequentato da persone intelligenti e con una
certa onestà intellettuale|

Ho già fatto un piccolo blog con entrambi ma senza andare a coprire
quei tre punti che hai detto tu.

Riguardo la documentazione tra i due framework devo fare una
distinzione.
Su ror si trovano molte più guide e/o video tutorial. Sia testuali che
video. però nella maggiorparte delle guide si finisce sempre per
utilizzare lo scaffold automatico. Che si mi insegna lo scaffold ma non
mi spiega come si arriva a creare controller, modelli ecc. Solo
spulciando per bene il codice generato automaticamente ho capito come
farlo anche manualmente. Infatti il blog che ho creato con ror l’ho
fatto da autodidatta partendo dal codice generato con lo scaffold
automatico.

Per quanto riguarda django ci sono molte meno guide e quasi nessun video
tutorial. D’altro canto il django book (disponibile sul sito di django)
è veramente un gioello. Seguendolo sono riuscito a fare tutto quello che
volevo e sopratutto mi ha spiegato punto per punto ogni passaggio. Forse
per questo su django ho sempre l’impressione di sapere cosa sto facendo.

Sono sicuro che ci siano ottimi tutorial e libri su ror, ma per ora non
ne ho trovato uno bello e completo come il django book.

@gianluca
Si, il supporto delle gemme è veramente ben fatto in rails. Decisamente
meglio di quello di django (pyeggs o una cosa del genere).

Ma la comunità di ror è decisamente più grande di quella di django,
giusto? Oppure è solo una mia impressione?

PS
Grazie mille per tutte le risposte e spiegazioni che mi state dando :slight_smile:

2011/12/6 Gianluca P. [email protected]:
[…]

Una cosa da non sottovalutare in ruby rispetto a python tutto
l’ecosistema, le persone, rvm, bundler e le gemme.

  • 1 su questo. + 1000 sulle persone!

Il 06/12/2011 15:30, Mauro M. ha scritto:

Ho gi fatto un piccolo blog con entrambi ma senza andare a coprire
quei tre punti che hai detto tu.

ti consiglio di fare qualche in passo in pi, proprio perch appena esci
dal
tutorial del “blog in X minuti”, non ci sono pi scaffolds e devi
scrivere
codice a mano :stuck_out_tongue:

sempre a proposito dello scaffold, in realt viene usato relativamente
poco
durante lo sviluppo quotidiano con rails. tuttavia attenzione a non
confondere i
generatori con lo scaffold. I primi hanno una loro utilit oggettiva, il
secondo
solo una scorciatoia utile per pochi casi :stuck_out_tongue:

Sono sicuro che ci siano ottimi tutorial e libri su ror, ma per ora non
ne ho trovato uno bello e completo come il django book.

prova ad iniziare da qui per un po’ di guide introduttive:

altrimenti guarda i railscasts:

un ottimo libro per cominciare con un approccio stile “tutorial”:

se preferisci uno stile “reference”, prova questo:
http://www.amazon.com/Rails-Way-Addison-Wesley-Professional-Ruby/dp/0321601661

ciao a presto,
A.