Что в Scala, что в Java есть возможность одним изящным движением превратить однопоточный код типа coll.filter(...).map(...).count(...) в многопоточный. Эта возможность на мой взгляд очень сильно усложняет реализацию своей коллекции. Собственно интересует - а кто-то вообще пользуется таким счастьем в реальной жизни?
Я вот всегда, когда мне нужна многопоточность, продумываю всякие синхронизации, потом всякими ExecutorService-ами и Future-ами делаю реализацию. Ни о каком изящном движении речь, конечно, не идёт, код заранее продумывается и пишется исходя из многопоточности.
Делать из однопоточного кода многопоточный автоматически я может быть стал бы разве что в маленькой демонстрационной программе.
В общем есть подозрение, что эта фича, которая достаточно сильно усложняет интерфейсы и реализацию стандартных коллекций, особо никому и не нужна, кроме академиков и менеджеров.