Это особый случай этого вопроса, который я считаю особенно уместным.
Я работаю над игрой для Android и планирую использовать Scala с libgdx. Я планирую сделать эффективную игру, но не обязательно гипер-производительную игру. Я видел документацию libgdx по сборке мусора , и это заставляет меня задуматься:
- Функциональное программирование подразумевает множество неизменных объектов.
- Следовательно, изменение объекта требует создания нового объекта.
- Таким образом, многие объекты собирают мусор, что снижает производительность.
Это непреодолимая проблема? Есть ли другие существенные проблемы с функциональным стилем на Android?
For gaming? Avoid functional languages. Their entire paradigm fails to mesh well with games.
На самом деле я прочитал несколько статей от известных разработчиков игр, выражающих интерес к функциональному программированию. Один из них был написан Тимом Суини scribd.com/doc/5687/… и Джон Кармак, похоже, активно интересуется оценкой функциональных языков и в настоящее время делает порт Wolfenstein 3d в Haskell, tinyurl.com/cnzx57uPractically all of the run-time code (approximately half a million lines of source code) was written in GOAL (Game Object Assembly Lisp)