Il s'agit d'un cas particulier de cette question qui me semble particulièrement pertinent.
Je travaille sur un jeu pour Android et je prévois d'utiliser Scala avec libgdx. Je prévois de faire un jeu performant, mais pas nécessairement un jeu hyper-performant. J'ai vu la documentation de libgdx sur Garbage Collection , et cela me fait penser:
- La programmation fonctionnelle implique beaucoup d'objets immuables.
- Par conséquent, la mutation d'un objet nécessite de créer un nouvel objet.
- Ainsi, de nombreux objets sont récupérés, ce qui dégrade les performances.
Est-ce un problème insurmontable? Y a-t-il d'autres problèmes importants avec le style fonctionnel sur Android?
For gaming? Avoid functional languages. Their entire paradigm fails to mesh well with games.
En fait, j'ai lu des articles de développeurs de jeux de haut niveau exprimant un intérêt pour la programmation fonctionnelle. Il y en avait un par Tim Sweeney scribd.com/doc/5687/… et John Carmack semble avoir un intérêt actif dans l'évaluation des langages fonctionnels et fait actuellement un portage de 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)