Erlang è un linguaggio di programmazione funzionale adatto agli ambienti che richiedono altissima affidabilità e scalabilità. Nato inizialmente nei laboratori di Ericsson, da anni ormai il suo codice sorgente è codice libero ed è stato passato a una fondazione, nominata, appunto, La Fondazione di Erlang, per controllo e sviluppo.
Il suo modello di concorrenza è ineguagliabile e porta a una scalabilità e affidabilità mai viste prima. Invece di usare i processi del sistema operativo, usa processi “leggeri” che la macchina virtuale di Erlang (chiamata BEAM) può creare e distruggere quasi istantaneamene. Non vengono inoltre usati i thread del kernel ma la gestione dei processi è affidata alla macchina virtuale di Erlang.
I dati tra i processi leggeri non vengono condivisi, ciò rende difficile da maneggiare gli stati nei linguaggi più tradizionali, ma la comunicazione tra i processi avviene con passaggio di messaggi. Questa caratteristica del linguaggio rende possibile il parallelismo senza uso di semafori, mutex, lock o meccanismi simili per gestire stati mutevoli nei programmi.
Grazie a tutte queste caratteristiche del linguaggio, non c’è pericolo che si formino dei “colli di bottiglia”, e la scalabilità raggiunge livelli che non erano neanche immaginabili in precedenza.
Un’ altra cosa rende Erlang un linguaggio eccezionale per ambienti ad alta criticità: durante la manutenzione dei programmi non è necessario spegnere i processi, e far ripartire i programmi con le loro versioni nuove. Si può eseguire l’aggiornamento dei programmi “a caldo”, mentre i programmi sono in esecuzione. Semplicemnte si aggiungono i moduli nuovi, e le nuove operazioni avvengono passando per questi. I vecchi moduli continuano a funzionare finché non finiscono di eseguire i loro compiti e poi si estinguono. In questo modo i programmi scritti in Erlang possono vantare tempi in esecuzione che in percentuale sono 99 e diversi altri 9 dopo il separatore decimale. Il riavvio avviene solo in quei rarissimi casi in cui è necessario fare delle modifiche strutturali, per esempio del compilatore o di alcune librerie di sistema.
Questa caratteristica ha reso Erlang perfetto per il settore delle telecomunicazioni, dove è nato, ma lo ha reso un linguaggio perfetto anche per altri settori dove si è successivamente diffuso.
Se la vostra azienda ha bisogno delle caratteristiche elencate, siete sulla pagina giusta. Il nostro corso di Erlang può fornirvi le competenze necessarie.