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#.