Fantom (ursprünglich „Fan“) ist eine allgemeine objektorientierte Programmiersprache von Brian Frank und Andy Frank, die auf mehreren Laufzeitumgebungen läuft: der JVM, dem .NET-Common-Language-Runtime und JavaScript. Ihr erklärtes Ziel ist eine einheitliche Standard-API — derselbe Quellcode soll auf allen Zielplattformen funktionieren.
Besonderheiten
- Statische und dynamische Typprüfung kombiniert; 64-Bit-Integer als Standard.
- Pods als Modul-Format: bündeln Code, Ressourcen und Dokumentation.
- Eingebautes Actor-Framework für nebenläufige Anwendungen.
- Eigene GUI-Toolkits: FWT (Desktop) und WebFWT (Browser) nutzen dieselbe API auf allen Backends.
Wichtige Befehle
fan Hello.fan # Skript oder Pod starten
fansh # interaktive Fantom-Shell
fant # Test-Runner ausfuehren
fan -pod build.fan # Pod bauen (build-Skript)
Die fan-CLI startet Programme und Skripte, fansh ist die interaktive REPL-ähnliche Shell, fant führt Tests aus. Build-Skripte (typisch build.fan) erzeugen aus einem Quellbaum fertige Pods.
Einordnung
Fantom ist eine der wenigen Sprachen, die denselben Code auf JVM und .NET ausführen — ein Gegenentwurf zur reinen JVM-Welt von Java, Kotlin, Ceylon und Frege. Auf der .NET-Seite konkurriert es mit C#.