ruby, java, blogosfera June 13, 2007 2:44 pm (Save post)
Su TRM c’è un articoletto che ha l’intento di spiegare rails al programmatore J2EE, e da lì c’è un articoletto di risposta di uno sviluppatore J2EE, appunto.
Le mie dure lire: usate quello che è più adatto al progetto corrente, che conoscete meglio e che preferite. È il modo giusto per vivere felici
Ad ogni modo, nel post e nei commenti ci sono dei punti validi: la m17n in ruby è ancora debole (ma per il web cambia poco, visto che utf8 è gestito), il deploy non è ancora un’operazione banale, ruby non ha i thread nativi ed è un interprete lento, non esiste accesso a tutta la pletora di MOM che c’è in java e altro. Ricordo che io, fondamentalmente odio rails
Però, siccome l’autore dice di cercare l’oggettività, per quanto ovviamente possibile, mi permetto di rettificare alcune cose sbagliate ( credo siano dovute alla mancanza di conoscenza dell’ambiente, non a un FUD intenzionale
Su ruby:
- ruby non ha le variabili dì’istanza pubbliche di default, anzi non è proprio possibile avere variabili pubbliche, si accede solo attraverso metodi.
Le variabili d’istanza pubbliche sono una rottura dell’incapsulazione (eccezione: property alla python/C#/TP) e infatti in Smalltak, che la OO l’ha inventata, non esistono. - non so cosa significhi che la struttura delle classi è neogotica, perché non so qual’è l’equivalente degli archi a sesto acuto in ambito programmatorio, ma la gerarchia delle classi mi sembra abbastanza ragionevole. Non c’è neanche l’ereditarietà multipla che dovrebbe far storcere il naso ai javisti (io, essendo anche pythonista non ci vedo niente di male
- sinceramente non mi pare sia possibile assegnare una variabile da sinistra a destra in ruby, a meno che non ci sia un operatore “->” che non ho mai trovato negli ultimi 6 anni
- le variabili d’istanza vengono istanziate al volo, vero, ma puoi comunque farlo solo tramite i metodi (o la reflection) quindi non c’è problema
- “La tipizzazione degli oggetti base è da barzelletta non esiste”. De gustibus, a me i tipi dinamici piacciono. D’altronde neanche java è type safe, e HAppS è ancora un po’ ostico per me.
- gli errori sono più comprensibili in ruby imho. Almeno l’equivalente di NullPointerException ti dice che metodo è stato richiamato, perché nil è un oggetto
- mai fallita l’installazione di una gemma, ma capisco possa accadere. Però il confronto con maven mi pare inappropriato, non è un package manager.
Su Rails:
- il sistema di template (che imo pone pochi problemi) si cambia in una riga. script/plugin install liquid | haml | erubis | ya2yaml | amrita | markaby o quel che volete
- credo che il plurale di persona (as in dramatis persona) sarebbe personae, ma si sa che gli inglese col latino fanno porcate
. Aldilà di questo, è possibile definire le proprie inflection se si vuole un db sgrammaticato (o uno legacy) - non ho capito che significa che la gestione degli url viene fatta in punti diversi, io la faccio solo in routes.rb
- non so perché non si possa usare un qualsiasi approccio allo sviluppo. In teoria si può sviluppare un’applicazione RoR anche senza modelli e controller ma grazie al cielo lo fanno in pochi
- si può usare uno schema legacy, si può fare. Ci sono pure plugin per farlo. Certo, manca JCA.
- manca il supporto all’internazionalizzazione builtin, ma esistono plugin come globalize apposta. Rimane sempre meglio averla builtin, come in django (lo dicevo di là) e comunque il supporto a unicode è scadente, come dicevo prima, ma c’è sempre UTF-8.
- non ho capito il problema con gli scaffolding. Quelli servono a evitare di scrivere un po’ di codice, mica sono un’interfaccia di amministrazione (django++ ma per rails ci sono, ancora, dei plugin)
Sui punti generali non posso commentare.. non uso capistrano, ViM è il mio IDE e Rails forse non scala ma non per colpa di FastCGI (che è concettualmente molto diverso da CGI). Yahoo, Google, Digg, reddit, Flickr, livejournal etc scalano infinitamente senza servlet. <flamebait>e poi vorrei vederla questa mega applicazione in java che scala come slashdot, che è fatto con mod_perl </flamebait>
Ancora, right tool for the job, KISS, long life & prosperity, io domani parto per l’heineken jammin festival dove non mi preoccuperò di queste cose


“Ancora, right tool for the job, KISS, long life & prosperity, io domani parto per l’heineken jammin festival dove non mi preoccuperò di queste cose”
Mentre al javista medio, in ritardo con la consegna del progetto, tocca restare in ufficio. Una merdosa realtà della vita.
Comment by Mango — June 13, 2007 @ 4:30 pm
avendo passato larga parte dell’agosto scorso a sviluppare con nitro per google non me la sento di confermare la trollata ;P
Comment by gabriele — June 13, 2007 @ 5:00 pm
Basta!!!!

Non ce la faccio più a leggere flame su Java VS Ruby.
C’è qualche motivo storico che non conosco dietro questa diatriba (della serie Gosling che ha rotto il culo a Matsumoto a FIFA) ??!!!
Il linguaggio di programmazione/ambiente di sviluppo/ambiente di deploy/framework per il web perfetto ancora non l’hanno inventato e pure quando lo inventeranno non piacerà a nessuno
Quindi relax
Ebay
Comment by Federico — June 13, 2007 @ 8:47 pm
questo non è un flame, ancora
Comment by gabriele — June 14, 2007 @ 6:38 am
Per la cronaca Winning Eleven è meglio di FIFA!
Comment by Giovanni — June 14, 2007 @ 7:24 am
“…io domani parto per l’heineken jammin festival dove non mi preoccuperò di queste cose”
Gabriele stai bene? Ho appena saputo che è crollato il palco dell’HJF causa maltempo! ;(
Comment by deelan — June 15, 2007 @ 6:23 pm
grazie si va tutto bene, però porco diavolo non ho visto i pearl jam, anche se alla fine mi son divertito ugualmente
Ora speriamo di riuscire a riavere glie €€ del biglietto..
Comment by gabriele — June 16, 2007 @ 10:17 am