
Originariamente Scritto da
Valeriano Manassero
Ruby
Linguaggio completamente OOP che ha una particolarità, accomuna una potenza enorme dovuta, appunto, alla struttura ad oggetti con tanto di ereditarietà e polimorfismo (tanto per citare alcune possibilità) ad un linguaggio estremamente semplice ed intuitivo che ti da la possibilità di sviluppare dal piccolo script per un cron con quattro righe di codice fino ad arrivare a strutture molto complesse per le quali puoi sfruttare un sacco di librerie che puoi includere.
Cosa non da poco è, vista la struttura dell'ecosistema, la facilità nel riutilizzo del codice.
Inoltre, proprio data la forte leggibilità del linguaggio stesso, la curva di apprendimento è davvero irrisoria.
Ruby on Rails
Il Rails, di fatto, è un framework Web che vive di vita sua e si basa sul Ruby (ovviamente) per il linguaggio con cui sviluppi.
Naturalmente eredità tutti i vantaggi di Ruby con in più una gestione completamente MVC degli applicativi, un ORM integrato (che, tra l'altro ti rende molto più libero nella scelta del DB), la possibilità di gestire il routing dei metodi HTTP come più ti aggrada e molte altre belle feature secondarie che sono sempre utili.
La gestione delle Gems ti permette di sfruttare un sacco di plugin dalle più disparate funzionalità con un sistema molto semplice della gestione delle dipendenze.
Anche qui, curve di apprendimento davvero irrisorie e la gamma di potenziali sviluppatori è molto ampia perchè sia il newbie, sia l'advanced trovano ciò che serve, infatti vi sono davvero tonnellate di "magics", ovvero funzionalità già fatte dove, il solo richiamare un metodo in una tal maniera fa capire al framework come comportarsi (ad esempio nella gestione dei nomi plurali delle classi), ma ciò non è limitante per chi ha bisogno di maggior potenza visto che *tutto* è overridable. In parole povere, se devi tirar giù quattro paginette vai di scaffolding e poi rifinisci (qualche ora di lavoro totale), se invece devi andare fino, il tempo ovviamente sale, ma il framework non è mai di impedimento dandoti libertà assoluta.
Un ultima cosa che dai newbie non viene apprezzata, è la struttura di unit testing integrata che ti permete di rilasciare nuove versioni con vari upgrade avendo estrema velocità nel debugging per verificare di non aver reso qualche funzionalità antecedente "broken", tutto ciò, ovviamente, a patto di aver lavorato anche sulle classi di test in precedenza.
Se hai altre domande, se sono in grado di rispondere, fai pure

Segnalibri