Boo ist eine objektorientierte, statisch typisierte Programmiersprache für die .NET-Plattform (Common Language Infrastructure). Der Brasilianer Rodrigo Barreto de Oliveira entwickelte Boo ab 2003 aus Frustration über bestehende Sprachsysteme und veröffentlichte die erste Version 2004. Die Besonderheit: Python-artige Syntax mit Einrückung, kombiniert mit der Leistungsfähigkeit des .NET-Frameworks.
Compiler und erste Schritte
Der Boo-Compiler heißt booc und erzeugt .NET-Assemblys (CIL-Code). Ein einfaches Programm:
print("Hallo, Boo!")
# Ausgabe: Hallo, Boo!
Wie in Python ist die Einrückung bedeutungssemantisch — Blöcke werden über Einrückung statt geschweifte Klammern gebildet.
Kernkonzepte
- Duck Typing: Boo ist statisch typisiert wie C# oder Java, erlaubt aber bei Bedarf dynamisches Verhalten. Variablen, die als
duckdeklariert sind, werden zur Laufzeit aufgelöst. - Closures und Lambda-Ausdrücke: Funktionen sind Bürger erster Klasse, anonyme Funktionen werden mit
defoderdodefiniert. - Comprehensions: Listen- und Generator-Ausdrücke wie in Python, z.B.
evens = [x for x in range(10) if x % 2 == 0]. - Slices: Sequenzen lassen sich mit
liste[1:3]schneiden. - Compiler-Erweiterbarkeit: Die Compiler-Pipeline und der AST sind öffentlich, sodass Boo um eigene Sprachfeatures erweitert werden kann.
Praxis-Tipps
- Boo lief lange als Skriptsprache in der Spiel-Engine Unity (frühe Versionen), bevor C# die alleinige Skriptsprache wurde.
- Interop mit .NET-Assemblys funktioniert direkt — Boo kann vorhandene C#-Bibliotheken nutzen.
- Das Projekt ist weitgehend inaktiv; für neue .NET-Projekte ist C# oder F# die übliche Wahl.
Verwandte Grundlagen: Python-Befehle, C#-Befehle, Compiler sowie die .NET-Alternativsprachen Nemerle-Befehle und Cobra-Befehle.