2011-10-13 17 views
36

Quali vantaggi e limitazioni ha il linguaggio Scala rispetto a Ruby, in particolare dal punto di vista degli sviluppatori di applicazioni Web? Grafici di confronto e bozze di prova sono benvenuti.Ruby vs Scala - pro e contro di ciascuno

PS Questa non è una domanda guerra santa (-:

+1

@Downvoter - cura di commentare? –

+5

Quali benefici e limitazioni hanno le mele rispetto alle arance? – Raphael

+59

@ Le arance di Rafael contengono più vitamina C, ma le mele contengono più ferro. Se hai lo scorbuto, le arance ti sono molto più utili. –

risposta

52

ho lavorato con Ruby e Rails per oltre 2 anni e io sono solo circa un mese in apprendimento Scala e ascensore, quindi il mio parere è Probabilmente prevenuto, ma eccolo.

Ruby ti fa sentire fantastico, ogni cosa nuova che ho scoperto sulla lingua mi ha fatto ridere come una piccola scolaretta. Lavorare con le gemme è davvero semplice e con Bundler and Gemfiles è probabilmente la migliore gestione della libreria sistema che ho incontrato

Ci sono un sacco di gemme per tutto, da API wra ppers, al complesso authentication/authorization.

Ruby ha anche una comunità straordinaria che renderà l'apprendimento della lingua davvero facile. Prendi il numero RailsCasts by Ryan Bates per esempio. Se li guardi, imparerai come fare lo sviluppo web con Ruby and Rails.

Per me, Ruby è probabilmente la cosa migliore che ho scoperto nella mia intera vita di programmazione, perché il modo in cui la community funziona mi ha fatto cambiare il mio approccio alla programmazione.

D'altra parte, non lo vedo nel mondo di Scala. Non voglio scatenare una guerra di fuoco, ma questa è solo la mia impressione dopo aver appena iniziato a imparare la lingua. Nella comunità di Ruby, tutto sembrava così coinvolgente e mi ha fatto venir voglia di imparare sempre di più. Ma con Scala, tendo ad incontrare molti ostacoli e non tanta documentazione e tutorial, che mi aiuterebbe a superarli.

Ci sono tonnellate di libri dedicati al damalischi molto specifiche su Ruby, sia esso scripting, deployment, testing, e mucchio di altre cose (sì Pragmatic Programmers regola). La cosa migliore è che l'intera comunità si sente come una famiglia, non è la stessa del mondo Java, dove tutto è distribuito e nessuno parla a vicenda, almeno questa è la mia impressione.

Quindi, per quanto mi riguarda, è quanto sia facile e coinvolgente entrare nel mondo della lingua e iniziare a fare qualcosa, e Ruby è sicuramente un vincitore qui, almeno per me.

Per quanto riguarda le prestazioni, Scala è più veloce, senza dubbio. Questa è una delle ragioni per cui sto entrando in Scala, in quanto ha un modello di concorrenza davvero eccezionale e ti consente di fare cose che Ruby non può fare. Ma per la maggior parte delle applicazioni Web, non è necessario farlo.

Il rubino è lento, questo è l'unico lato negativo che c'è. Sta diventando sempre più veloce e per il 98% dei casi non lo vedrai come un problema. Ma Scala è più veloce.

La comunità di Ruby comprende anche test e codice bello, che naturalmente porta a migliori app.

+3

E che dire della stabilità, delle prestazioni e così via? –

+1

La stabilità è in genere più importante del modo in cui si scrive l'app, si legge la risposta modificata per il commento sul rendimento. –

+0

Grazie. Per quanto ho capito, Scala offre prestazioni e vantaggi di concorrenza a costo di un supporto della comunità peggiore. –