Владимир Парфиненко
Компания: Huawei
Преобразование хвостовой рекурсии в цикл является популярной оптимизацией в функциональных языках программирования, но в Java-мире это преобразование окутано загадками.
Разберемся, можно ли в Java заменить хвостовой рекурсивный вызов на цикл, зачем вообще это делать, какие виртуальные машины этим занимаются (и легально ли?). Также попробуем сторонние инструменты, которые могут помочь оптимизировать программы в функциональном стиле. И, конечно же, посмотрим на дружественные JVM-языки, имеющие более выраженные функциональные наклонности (Scala, Kotlin и т. д.).
Компания: Huawei
Компания: Qameta Software