Dies ist ein Sonderfall dieser Frage , der meiner Meinung nach besonders relevant ist.
Ich arbeite an einem Spiel für Android und plane, Scala mit libgdx zu verwenden. Ich habe vor, ein performantes Spiel zu machen, aber nicht unbedingt ein hyper-performantes Spiel. Ich habe die Dokumentation von libgdx zur Garbage Collection gesehen , und das lässt mich denken:
- Funktionale Programmierung impliziert viele unveränderliche Objekte.
- Um ein Objekt zu mutieren, muss daher ein neues Objekt erstellt werden.
- Auf diese Weise wird bei vielen Objekten Müll gesammelt, was die Leistung beeinträchtigt.
Ist das ein unüberwindbares Problem? Gibt es andere wichtige Probleme mit dem Funktionsstil unter Android?
For gaming? Avoid functional languages. Their entire paradigm fails to mesh well with games.
Eigentlich habe ich einige Artikel von hochkarätigen Spieleentwicklern gelesen, die ein Interesse an funktionaler Programmierung zum Ausdruck bringen. Es gab eine von Tim Sweeney scribd.com/doc/5687/… und John Carmack scheint ein aktives Interesse an der Bewertung funktionaler Sprachen zu haben und macht derzeit eine Portierung von Wolfenstein 3d in 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)