Может только многопоточности, но тогда почему не Java?
Если вкратце, то есть чему и в гошечке поучиться. Там реализован весьма интересный подход к многопоточности - communicating sequential processes. Это не новая концепция, она родом из 70х, но она сильно упрощает программирование конкурентных задач, является формальной системой (алгеброй) исчисления процессов/описания конкурентных систем, и она ни где никогда больше не была реализована ранее, кроме эрланга. И эрланг (его Бим машина), и го, это на сегодняшний момент также единственные среды, которые реализуют m:n мультитрединг и предоставляют очень дешёвые потоки. В го всего 3 инструкции процессора юзается для запуска потока + гдет 3кб памяти, т.е. потоков могут быть сотни тысяч. Не нужно заботиться о синхронизации (месаадж пассинг, каналы). Поддержка всего этого ну уровне языка. Можно думать в терминах задачи, а не бороться с операционной системой или дизайнить собственный тредпул. Собственно, вот почему не Java. Учитывая, что эрланг/эликсир весьма мало распространены, можно сказать, что гошечка на сегодняшний день - единственный мейнстримный язык, который имеет эффективные и простые для освоения средства для программирования конкурентных задач и лёгкого скейлинга на сотни ядер. Добавить сюда отличную стандартную библиотеку, заточенную на бэкэнд, молниеносную компиляцию, крос компиляцию на разные платформы, и можно, в принципе, понять, почему он так выстрелил.