Занятный доклад от Одерски про усилия команды разработчиков языка, чтобы Scala стала проще.

Хотя я и до этого смотрел несколько докладов Одерски, в этом меня немного удивила практичность подходов: у меня было стереотипное представление об ученом в слоновой башне с жесткими принципами функциональной чистоты. Например, он рассказывает, как энтузиаст заменил императивную реализацию расстояния Левенштейна в компиляторе на чисто функциональную с иммутабельными структурами. Оказалось, что реализация неверная, да еще и хуже читается, поэтому оставили старую. Другой пример: большинство присутствующих в зале скалистов признало, что тупой матчер на Option лучше, чем .fold или .map(...).getOrElse(...).

В конце доклада есть еще блок о Caprese и эффектах. На примере функций высшего порядка Одерски объясняет, чем capabilities лучше проверяемых исключений.