Provenendo da Scala (e da Akka), di recente ho iniziato a studiare altri linguaggi progettati pensando al calcolo distribuito, vale a dire Erlang (e un pezzettino di Oz e Bloom). Sia Erlang che Oz sono digitati dinamicamente e, se ricordo male (cercherò di trovare il link), le persone hanno provato ad aggiungere tipi a Erlang e sono riusciti a digitare una buona porzione di esso, ma non sono riusciti a forzare il sistema per adattarlo ultimo bit?Sistemi di dattilografia e programmazione dinamici
Oz, sebbene sia un linguaggio di ricerca, è sicuramente interessante per me, ma è anche digitato dinamicamente.
L'implementazione corrente di Bloom è in Ruby ed è pertanto digitata in modo dinamico.
Per quanto ne so, Scala (e suppongo che Haskell, anche se credo che sia stato inizialmente costruito più come un'esplorazione in puri linguaggi funzionali pigri rispetto ai sistemi distribuiti) è l'unico linguaggio che è tipizzato staticamente e offre un livello di linguaggio astrazioni (per mancanza di un termine migliore) nel calcolo distribuito.
Mi chiedo se ci siano vantaggi intrinseci della digitazione dinamica rispetto alla tipizzazione statica, , in particolare nel contesto della fornitura di astrazioni a livello di linguaggio per la programmazione di sistemi distribuiti.
L'attuale implementazione di Akka è attualmente non tipizzata (utilizza Any per i messaggi). L'avvento delle macro in Scala 2.10 semplifica l'implementazione di una versione tipizzata. Vedi questo video da nescala 2013: http://nescala.org/#t-14537068 –