giovedì 16 settembre 2010

Da Java a Ruby

Sono assai tentato di comprare questo libro: From Java to Ruby. Non tanto per leggerlo (sono già tifoso di Ruby da secoli), quanto per regalarlo ai miei amici fan di Java.

Il libro, che si annuncia molto descrittivo e poco tecnico, spiega come e perché passare da quella ciofeca di Java a quel gioiello che è Ruby.

Nota: dicesi «ciofeca» ogni linguaggio di programmazione in cui si perde più tempo a soddisfare il compilatore che l'utente finale.

Java ha dei vantaggi tecnici non indifferenti (una caterva di librerie, portabile, conosciutissimo, eccetera) ma viene usato male. Nel senso che per ammazzare un elefante hai bisogno di un fucile da caccia grossa: però molti progetti non sono elefanti ma coniglietti e scoiattoli. Uno può sempre ammazzare lo scoiattolo con un fucile da caccia grossa a distanza ravvicinata, ma il risultato non sembrerà particolarmente soddisfacente. Ruby non è un fucile da caccia grossa (è per di più un linguaggio interpretato!) ma garantisce, di fronte ad una vasta varietà di problemi, una produttività che con i linguaggi "famosi" (incluso Java) ve la potete solo sognare.

Il libro cerca anche di eliminare gli equivoci sul problema Java. Per esempio descrive il caso di un'azienda in cui i programmatori Java producevano poco e male... ma che ad una più attenta analisi si vedeva che il problema principale non era la programmazione, ma la perenne indecisione del cliente nel fissare definitivamente le specifiche.

Gli sviluppatori Java di solito soffocano sotto la complessità di Java, specialmente quando il progetto su cui lavorano è talmente semplice che si potrebbe fare con molto meno sforzo in altri linguaggi (ricordo con orrore certi chilometrici listatoni di trattamento file di testo, roba che poteva essere fatta banalmente con awk, che avrebbe richiesto pochi minuti di esecuzione e invece in Java passavano intere ore!), per esempio quando si tratta di applicazioni web non gigantesche.

Ma il problema principale è convincere il management. Per un prototipo stimato in una settimana di sviluppo non basta mostrare al management che in un'ora si sviluppa un equivalente più veloce e più manutenibile in Ruby (eventualmente col framework web Ruby on Rails). Il problema principale dei programmatori è infatti il management idiota arroccato sui propri pregiudizi: "tutti usano Java, voi dunque userete Java!"

Il libro promette di attaccare (con linguaggio amichevole) le tipiche obiezioni di sviluppatori e manager sui presunti "rischi" di passare a Ruby. A giudicare dalle poche pagine di sample, è un libro "all'americana", per manager che se non sono intelligenti sono almeno sinceramente attenti ai risultati: cosa che non sempre si verifica nell'ambiente IT italiano... :D

2 commenti:

  1. in effetti tra java e c# non è che ci sia un abisso, questo ruby è parecchio interessante (anche se più lento)

    RispondiElimina
  2. Il paradosso è che oggi nel mondo del lavoro molto spesso conta più la velocità di sviluppo che la velocità di esecuzione.

    Infatti non tutti devono trattare archivi di decine di milioni di record...

    E Ruby è l'unico linguaggio di programmazione che dei quarantenni possono riuscire ad imparare senza ammattire.

    RispondiElimina