Successivo

News

Twitter mette in produzione Scala

Michele Costabile | 14 Aprile 2009

Scala è un linguaggio che guadagna popolarità  di giorno in giorno fra gli sviluppatori. Twitter lo ha messo all’opera nel […]

Scala è un linguaggio che guadagna popolarità  di giorno in giorno fra gli sviluppatori. Twitter lo ha messo all’opera nel backend del sito di social networking più popolare fra gli addetti ai lavori.

Scala è una soluzione molto interessante perché integra concetti tipici dei linguaggi orientati agli oggetti con strutture tipiche dei linguaggi funzionali. I compilatori a disposizione possono produrre codice compatibile con la macchina virtuale Java e .net. Il modello di compilazione esalta l’interoperabilità  con l’ambiente operativo delle due macchine virtuali più diffuse.
Scala promette una riduzione del numero di linee di codice rispetto a un’applicazione Java equivalente ed è considerato un linguaggio di livello più alto, come Ruby o Python, ma con l’efficienza di un linguaggio compilato e la tipizzazione statica.
Adesso Scala ha un early adopter importante: dato che il sito Web2.0 più popolare lo ha messo in produzione. Non resta che sentire cosa ne dicono gli sviluppatori in questa intervista.
L’esperienza degli sviluppatori di Twitter è interessante. Sono partiti con Ruby, anzi con Ruby on Rails, quindi con un linguaggio interpretato, dinamico e un ambiente molto dinamico e leggero.
Tutto questo, secondo i programmatori di Twitter è di grande aiuto nella creazione delle interfacce web, ma non nela creazione di processi server destinati a restare in esecuzione per un tempo indefinito, con alte prestazioni e un threading ottimale per le Cpu dei server. L’architettura che stanno sviluppando in questo momento prevede Ruby e Rails per le interfacce utente e Scala per tutte le funzioni non interattive, come le interfacce applicative di Twitter, i processi amministrativi e di gestione del sistema.
Scala è stato scelto perché è un linguaggio con tipizzazione statica che però non fa pesare troppo la staticità , secondo gli sviluppatori di Twitter. La tipizzazione dinamica di Ruby è stata un impaccio in determinate applicazioni, perhé causa il proliferare di codice che controlla il tipo delle variabili, tanto da far pensare che se si usa un linguaggio senza tipizzazione forte si finisce per disegnare comunque un sistema di tipizzazione, più pesante e meno pratico.
Un altro aspetto interessante di Scala è che è un linguaggio funzionale. L’enfasi sulle funzioni piuttosto che sugli oggetti si presta a ottimizzazioni interessanti, come prova JavaScript.