Несколько месяцев назад я использовал Clojure, чтобы сделать какой -то последовательный тест для нашего NoSQL Elasticell. Я вижу очень мощную силу функциональной прарадигмы для процесса потока данных, в то время как так много скобок сводя меня с ума. Существует так, что может синтаксис сахара, что и IF-ELSE, так и для петлей являются функциями. Теперь я нахожу Scala, идеальный язык смеси с объектно -ориентированным, императивным и функциональным включенным.
Вы можете легко написать любой алгоритм, который, по сути, рекурсивным функциональным образом. Более того, рекурсивная функция с хвостовой рекурсией будет выполняться эффективно в Scala.
Может быть, вы знакомы с C/C ++ или Java. Сначала не так удобно не иметь традиционного для петли. Тем не менее, вы также можете использовать оператор, если в Scala, в Scala.
Наконец, когда вы должны писать чистый рекурсивный код без стилей NO для петли в C ++ или Java, вы обнаружите, что более важно выразить алгоритм, а не некоторый пространство или вычислительный показатель. В конце концов, вы никогда не будете беспокоиться о том, что «I» индекс задуманности в для петли может переполняться, потому что вся граница будет выражена в операторе IF-ELSE с использованием рекурсивного стиля.