Haxe ist eine modern typisierte Programmiersprache mit einem Compiler, der aus einem Quellcode viele Zielplattformen erzeugt. Nicolas Cannasse entwickelte sie ab 2005 (damals bei Motion Twin); das Ökosystem rund um Spieleentwicklung und Web wuchs stetig. Haxe kompiliert nach JavaScript, C++, C#, Java/JVM, Python, Lua, PHP und Flash und besitzt mit HashLink und NekoVM eigene Laufzeitumgebungen.

Compiler-Aufrufe (haxe)

haxe --main Main --interp        "im Interpreter testen"
haxe -cp src --main Main -js bin/main.js   "nach JavaScript"
haxe -cp src --main Main -cpp bin/cpp      "nach C++"
haxe -cp src --main Main -python bin/main.py

Wichtige Optionen: --run (ausführen), --debug, -D define (Bedingte Kompilierung), --dce full (totes Code-Eliminierung), --macro (Compiler-Makros), --help.

Paketmanager haxelib

  • haxelib setup — Bibliotheksverzeichnis festlegen
  • haxelib install <lib> / haxelib update / haxelib remove
  • haxelib run <lib> — Werkzeuge aus einer Bibliothek starten
  • haxelib list / haxelib search

Sprachbesonderheiten

  • Strikte Typisierung mit Inferenz: Typen werden geprüft, müssen aber selten hingeschrieben werden
  • Enums & Pattern Matching: algebraische Datentypen mit switch-Zerlegung
  • Externs: native APIs jeder Zielplattform werden typisiert eingebunden (@:externs)
  • Strukturelle Subtypisierung: Typen passen zusammen, wenn ihre Struktur passt — kein Namens-Vererbungszwang

Praxis-Tipps

  • Für Spiele werden OpenFL/Lime (Flash-API-Stil) und Heaps (Cannasses Engine) genutzt; HashLink erlaubt schnelle native Ausführung.
  • Haxe eignet sich als Brückensprache: derselbe Geschäftslogik-Code läuft im Browser (JS) und auf dem Server (Node, HashLink, C++).
  • Editor-Support gibt es für VS Code und IntelliJ; haxe --interp ist ideal für schnelle Tests ohne Build.

Verwandte Grundlagen: JavaScript-Befehle, TypeScript-Befehle, C#-Befehle, Tcl-Befehle, Smalltalk-Befehle.