metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-12-02 04:50 pm

Критика Scala

http://overwatering.org/blog/2013/12/scala-1-star-would-not-program-again/
Язык с нормальным балансом статических проверок типов и динамической типизации вида "нахрен объекты, используем мапы" наверно, еще не скоро появится.

[identity profile] zerthurd.livejournal.com 2013-12-03 08:15 am (UTC)(link)
А диалайзер на практике используется очень хорошо. Определяешь функцию, и если захотел её усилить типами, пишешь тайпспеку. Диалайзер может сам вывести тип для локальных функций, а можно ему подсказать, если функция внешняя и диалайзер не знает, как её будут использовать. Сначала диалайзер делает plt-файл, куда включаются все зависимости, которые не будут меняться в коде, это занимает достаточно много времени, несколько минут. Потом его можно быстро запускать после каждой компиляции или перед коммитом и он показывает несоответствия типов.