Pochodzę ze Scala (i Akka), ostatnio zacząłem szukać innych języków, które zostały zaprojektowane z myślą o przetwarzaniu rozproszonym, a mianowicie Erlang (i trochę Oz i Bloom). Zarówno Erlang, jak i Oz są napisane dynamicznie, a jeśli dobrze pamiętam (spróbuję znaleźć link), ludzie próbowali dodać typy do Erlanga i udało im się wpisać dużą jego część, ale nie mogli skutecznie zmusić systemu do dopasowania go do ostatni kawałek?Dynamiczne pisanie i programowanie systemów rozproszonych
Oz, podczas gdy język badawczy, jest z pewnością interesujący dla mnie, ale to jest również wpisane dynamicznie.
Obecna implementacja Blooma jest w języku Ruby i konsekwentnie jest wpisywana dynamicznie.
Według mojej wiedzy, Scala (i przypuszczam, że Haskell, choć uważam, że została zbudowana początkowo bardziej jako eksploracja czystych leniwych języków funkcjonalnych w przeciwieństwie do systemów rozproszonych) to jedyny język, który jest statycznie napisany i oferuje poziom języka abstrakcje (z braku lepszego terminu) w przetwarzaniu rozproszonym.
Zastanawiam się, czy istnieją nieodłączne zalety pisania dynamicznego nad typowaniem statycznym, specjalnie w kontekście zapewniania abstrakcji poziomów językowych do programowania systemów rozproszonych.
Obecna implementacja Akka jest obecnie nietknięta (wykorzystuje Dowolne dla wiadomości). Pojawienie się makr w Scali 2.10 ułatwia implementację wersji pisanej. Zobacz ten film z Nescali 2013: http://nescala.org/#t-14537068 –