Suche
Ein Quäntchen Glück

Luck – Die perfekte Programmiersprache für Freitag, den 13.

Dominik Mohilo

©  Shutterstock.com / Africa Studio

Freitag, der 13. – ein Tag, an dem alles schief läuft. So jedenfalls will es der Volks- und Aberglaube. Viele bleiben daher heute lieber gleich daheim und interpretieren in jedes kleine Missgeschick eine datumsbezogene Ursache. Für Entwickler, die ein kleines bisschen Glück brauchen, haben wir daher eine klare Empfehlung: Die Programmiersprache Luck.

Haben Sie sich heute auch schon den Fuß angeschlagen? Irgendeine wichtige Projekt-Deadline verpasst? Ein unangenehmes Gespräch führen müssen? Oder mit anderen Worten: Hat Fortuna für Sie heute auch nur ein müdes Lächeln übrig? Dann wird es dringend Zeit, sich ein wenig abzulenken und selbst für das Glück zu sorgen. Vielleicht hilft es ja, ein neues Projekt zu starten, zum Beispiel mit der Programmiersprache Luck, die gerade am heutigen Tage allein ihres Namens wegen eine gute Wahl sein dürfte.

Das klassische Programmieren

Luck ist objektorientiert sowie funktional und setzt auf der C-Variante C99 auf. Diese bildet die Basis für kommende C-Standards und dank C99 sind einige Features von C++ auch in C verfügbar, ein bekanntes Beispiel sind die Inline-Funktionen und die Möglichkeit, Variablen innerhalb der for-Anweisung zu deklarieren. Die Macher von Luck haben sich dazu entschieden, die Plattform, auf der sie basieren, nicht zu ignorieren – C und Luck sind kompatibel. Das bedeutet, dass es auch möglich ist, Bibliotheken von C her zu importieren.

Hello World

ekko("hello")
let tigress : animal = tiger where sex=female

Quelle: Subarctic

Wie bereits geschrieben ist Luck funktional, bzw. beinhaltet funktionale Features wie etwa Lambdas, Closures und rekursive let-Bindings. Die Syntax und die Semantik von Luck sind stark von Haskell und Machine Learning beeinflusst. Man sieht an folgendem Beispiel, dass Luck zwar eine prägnante Programmiersprache, der Code aber erstaunlich lesbar ist:

let primes: list<int> = [];;

for x in range(2,500)
if not primes.any(fn p = x % p == 0)
do primes.append(x);;

print(primes)

Quelle: Subarctic

Mit Luck, so die Macher, sind mächtige einzeilige Befehle kein Problem, außerdem werden Typ- und Memory-Sicherheit bei Luck groß geschrieben. Die Kombination aus allgemeinen lexikalischen Begriffen und generativer Grammatik öffnet fast schon die Möglichkeit einer philosophischen Herangehensweise ans Programmieren.

Ein ziemlich einzigartiges Plug-in-System für Spracherweiterungen rundet das Gesamtpaket ab: Bibliotheken können die Syntax und die Semantik von Luck so anpassen, dass sie den eigenen Bedürfnissen entsprechen. Auch wenn die Sprache dadurch nicht dynamisch wird, werden damit einige der wichtigen Use Cases dynamischer Entwicklung abgedeckt, obwohl die Sprache selbst statisch typisiert bleibt.

Lesen Sie auch: Ballerina – die Programmiersprache für Integrationsszenarien aller Art

Vocal Programming

Derzeit wird die Programmiersprache Luck einer strukturellen Überarbeitung unterzogen. Der Grund hierfür ist, dass die Entwickler die Sprache für das sprachliche Programmieren (Vocal Programming, Spoken Programming) fit machen möchten. Es gibt bereits ein Wörterbuch, in dem einige der Begriffe aufgeführt werden. So entspricht das Wort bi der Zahl 2 und der Satz le x y bi z entspricht der Definition let x y = z, womit eine Eingabe (Phrase) an einen Identifier gebunden wird.

Die Semantik von Luck ist zweigeteilt und besteht aus einem lingualen, also sprachlichen Teil und einem sublingualen Teil. Der sublinguale Teil entspricht dabei, einfach gesagt, einer herkömmlichen Programmiersprache, während der sprachliche Teil bidirektional auf sogenannten Colour Types besteht. Diese Colour Types sollen die Vermittlung komplexer Sachverhalte (bspw. die Erklärung, was ein Apfel ist), ermöglichen.

Wer sich gerne mit der Programmiersprache Luck auseinandersetzen möchte, findet sämtliche Informationen dazu auf der Homepage des Sprachprojekts. Das umfangreiche Tutorial führt Interessierte in die Sprache selbst und in das Konzept des sprachlichen Programmierens ein.

PS: Beim Einstellen des Artikels ist der Browser des Autors abgestürzt, glücklicherweise gab es eine Sicherungskopie des Textes… Typisch Freitag, der 13.
 
© Shutterstock.com / Anywhite

Verwandte Themen:

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.