Dezember 8, 2024
7 ungewöhnliche Programmiersprachen
Neben den gängigen Programmiersprachen gibt es viele kuriose Exoten. Einige davon sind mehr Spielerei, andere durchaus ernst gemeint. Wir stellen sieben der ungewöhnlichsten Sprachen vor.
- Chef – Kochrezepte als Code
Chef ist eine skurrile Sprache, bei der Programme wie Kochrezepte geschrieben werden. Anweisungen wie „Eier verquirlen“, „Mehl langsam unterrühren“ oder „Im Ofen backen bis braun“ werden vom Interpreter ausgeführt. Obwohl ungewöhnlich, ist Chef Turing-vollständig und kann auf spielerische Weise für echte Programme verwendet werden. Es zeigt, dass Code kreativ sein kann.
Chef ist eine esoterische Programmiersprache, die 2002 von David Morgan-Mar entwickelt wurde. Die Idee ist, dass Programme wie Kochrezepte geschrieben werden.
Die Befehle in Chef heißen „mix“, „stir“, „liquefy“ etc. Variablen werden nach Zutaten wie „eggs“, „flour“ oder „oil“ benannt.
Den Variablen werden Zahlenwerte zugewiesen, die beim Ausführen in Zeichen umgewandelt werden.
Ein „Hello World“ Programm in Chef sieht zum Beispiel so aus:
Put potatoes into the mixing bowl.
Put dijon mustard into the mixing bowl.
Put eggs into the mixing bowl.
Liquefy contents of the mixing bowl.
Pour contents of the mixing bowl into the baking dish.
Die Zahlenwerte der Zutaten „potatoes“, „mustard“ und „eggs“ ergeben nacheinander die Zeichen für „Hello World“.
Obwohl eher ungewöhnlich, ist Chef voll funktionsfähig. Die Sprache wird zu Lehrzwecken an einigen Universitäten eingesetzt, um Programmierkonzepte auf kreative Art zu vermitteln. Chef zeigt, dass Code und Programmiersprachen auch künstlerisch gestaltet werden können.
- Piet – Kunstwerke programmieren
Piet ist eine esoterische Sprache, bei der Programme wie abstrakte Gemälde aussehen. Farbblöcke und grafische Formen stellen Code-Anweisungen dar. Obwohl nicht sehr praktikabel, erforscht Piet die Grenzen zwischen Kunst, Design und Programmierung. Es lässt Menschen Software als kreatives Medium sehen.
Bei der esoterischen Sprache Piet werden Programme als Bilder gemalt. Farben und Grafikformen stehen für Anweisungen. So könnte ein Programm aussehen:
„Hallo-Welt“-Programm in Piet
Technisch wird der Code als Bilddatei im GIF-Format gespeichert. Die kleinste Einheit ist ein „Codel“, ein Quadrat aus gleichfarbigen Pixeln.
Die Programmlogik basiert auf einem Zeiger, der sich auf verschlungenen Pfaden durch die Codelelemente bewegt. Die Farben, Anzahl der Codele und Übergänge codieren Befehle wie:
- push / pop für den Stack
- arithmetische Operationen
- Ein- und Ausgabe
Somit ist Piet trotz der ungewöhnlichen visuellen Form voll funktionsfähig und Turing-vollständig.
Die Sprache wurde nach Piet Mondrian benannt und soll an abstrakte Kunst erinnern. Sie zeigt, dass Code auch künstlerisch dargestellt werden kann. Piet wird in der Informatiklehre eingesetzt, um zu veranschaulichen, dass Programmiersprachen viele verschiedene Formen annehmen können.
3. ArnoldC – Programmieren mit Arnold Schwarzenegger Zitaten
ArnoldC verwendet Zitate aus Arnold Schwarzenegger-Filmen als Befehle. Zeilen wie „IT’S SHOWTIME“ oder „YOU HAVE BEEN TERMINATED“ bilden den Code. Diese schrullige Sprache hat wenig echten Nutzen, aber einen hohen Unterhaltungswert für Popkultur-Fans.
Jeder Befehl in dieser Sprache ist ein Zitat aus einem Schwarzenegger-Film wie True Lies oder Predator:
IT’S SHOWTIME
TALK TO THE HAND „Hello World!“
YOU HAVE BEEN TERMINATED
Ungewöhnlich, aber mit Kultfaktor!
- Shakespeare – Dramen als Code
Die Shakespeare Programming Language (SPL) ist eine esoterische Sprache, bei der der Code wie ein Theaterstück im Stil von William Shakespeare aussieht.
SPL-Programme folgen dem Aufbau eines Shakespeare-Dramas mit Akten, Szenen und Rollen. Anweisungen sind dabei:
- „Enter [Rollenname]“ für Deklaration von Variablen
- „Exeunt [Rollenname]“ zum Beenden
- „If [Bedingung]“ für Verzweigungen
Shakespeare-Programme bestehen aus Shakespeare-Stücken, bei denen Einsatzzeilen wie „Enter Romeo“ oder Abgangsbefehle wie „Exeunt“ als Code dienen. Theatralisch aber funktionstüchtig zeigt Shakespeare, wie Programmiersprachen kreativen Themen angepasst werden können.
Hier wird Programmcode in Form von Shakespeare-Stücken geschrieben.
Dies ist die Hauptschleife:
Act I: Hamlet’s insults and flattery.
Scene I: The insulting of Romeo.[Enter Hamlet and Romeo]
Hamlet: You are as stupid as the sum of yourself and a donkey! Speak your mind!
Romeo: You are as cowardly as the sum of yourself and a maggot!
You are as ignorant as the sum of yourself and a monkey![Exeunt Romeo]
Act I: Romeo declares his love
Scene I: Juliet’s bedroom[Enter Juliet and Romeo]
Romeo: You are as beautiful as the sum of yourself and a rabbit!
Juliet: Let us be married!
Klingt theatralisch gut!
Obwohl sehr ungewöhnlich, ist SPL voll funktionsfähig. Die Sprache zeigt, wie Code durch kreative Gestaltung völlig anders aussehen kann als typische Syntax. SPL wird in der Lehre genutzt, um Programmiersprachen-Design zu veranschaulichen.
- Brainfuck – pure Kryptik
Brainfuck verwendet nur 8 kryptische Satzzeichen wie >, <, + und – für seine Befehle. Programme sehen völlig obfusziert aus. Brainfuck ist extrem schwierig für echte Anwendungen zu verwenden. Es richtet sich an masochistische Hacker, die es genießen, anspruchsvollen Code zu entschlüsseln.
Die esoterische Sprache Brainfuck beinhaltet nur 8 kryptische Befehle, bestehend aus Sonderzeichen:
> +++++ ++ Erhöhe Zelle auf 10
> +++++ +++++ Erhöhe Zelle auf 20
<<<<< – Setze Zelle 1 auf 0 > > + -. Addiere Zelle 2 zu Zelle 1
>> ++ . Gib Zelle 2 aus (32)
<<< -. ++ . Gib Zelle 1 aus (10)
Dennoch ist Brainfuck Turing-vollständig und kann alles berechnen, was prinzipiell berechenbar ist. Allerdings ist die Sprache sehr umständlich und ineffizient.
Brainfuck demonstriert, wie sich mit einem extrem einfachen und kompakten Sprachkonzept dennoch Universalität erreichen lässt. Der Compiler ist oft nur wenige 100 Bytes groß.
Die Sprache eignet sich daher vor allem, um Programmiermethodik und Compilerbau zu lehren. Für praktische Softwareprojekte ist Brainfuck ungeeignet. Aber Brainfuck zeigt eindrucksvoll, dass Syntax nicht komplex sein muss, um ausdrucksstark zu sein.
Der Name Brainfuck ist Programm. Eher etwas für Masochisten.
- LOLCODE – Spaß statt Syntax
LOLCODE ist in einem slanghaften Internet-Sprech designed. Befehle wie „HAI“ (hallo), „CAN HAS“ (deklariere Variable), „VISIBLE“ (gib aus) oder „KTHXBYE“ (verlasse Programm) sollen für Einsteiger intuitiver sein. LOLCODE zeigt neben dem spielerischen Erlernen von Programmierbasics, wie Sprachdesign selbst kreativ sein kann.
Kennzeichnend für LOLCODE ist eine lockere Netzsprache:
- „HAI“ startet ein Programm
- „VISIBLE“ gibt Text aus
- „KTHXBYE“ beendet das Programm
LOLCODE ist eine Sprache im Slang-Artigen Netz-Speak:
HAI
CAN HAS STDIO?
VISIBLE „HAI WELT!“
KTHXBYE
Die lustigen Schlüsselwörter erleichtern Einsteigern den Syntax. LOLCODE macht Programmieren verständlich und Spaß.
Obwohl die Syntax sehr ungewöhnlich ist, funktioniert LOLCODE. Es gibt Interpreter und Compiler.
Die Sprache soll Programmieren intuitiver und humorvoller machen. Mit den witzigen Schlüsselwörtern sollen auch Einsteiger leichter Zugang finden.
LOLCODE demonstriert, dass Programmiersprachen nicht einem starren Muster folgen müssen. Mit Kreativität lässt sich Code auf vielfältige Weise gestalten.
- Malbolge – unmöglich oder doch nicht?
Malbolge galt jahrelang als unnutzbar, da jede Anweisung in einen sinnlosen Kauderwelsch verschlüsselt ist. Aber 1998 bewies das erste Malbolge „Hallo Welt“-Programm, dass es doch Turing-vollständig ist. Malbolge ist wahnsinnig schwierig, aber mit genug Aufwand knackbar – die ultimative Herausforderung für Coder.
Kennzeichnend für Malbolge ist:
- Befehle werden nach Ausführung durch andere ersetzt
- Nur Rechtsshifts und ein kryptischer Operator sind erlaubt
- Codierung der Befehle ist positionsabhängig
Es dauerte 2 Jahre, bis überhaupt das erste Malbolge-Programm geschrieben wurde – und zwar von einem Computer. Die Schwierigkeiten machen Malbolge fast unbrauchbar.
Trotzdem ist die Sprache Turing-vollständig und erlaubt jede berechenbare Funktion. Allerdings extrem umständlich und nur mit Einschränkungen.
Malbolge demonstriert, wie eine Programmiersprache gezielt so gestaltet werden kann, dass sie kaum beherrschbar ist. Eine ultimative Challenge für ambitionierte Programmierer!
Malbolge ist also Turing-vollständig, extrem schwierig, aber nicht unknackbar. Eine echte Herausforderung für alle Code-Cracker!
Ungewöhnliche Programmiersprachen sind oft Kunstwerke
Diese Beispiele zeigen: Programmiersprachen sind auch kreative Kunstwerke mit sehr eigenem Charakter. Jenseits des Mainstreams gibt es faszinierende Nischen und Experimente.
Hinter jeder Sprache steckt ein visionärer Designer, der Neues wagt. Die Grenzen zwischen Kunst, Kreativität und Funktionalität verschwimmen. Programmieren kann mehr sein als nur „0en und 1en“.
Wer sich auf die Expedition begibt, entdeckt oft Erstaunliches. Lassen Sie sich inspirieren – vielleicht ja sogar zu Ihrer eigenen Programmiersprache? Der Kreativität sind (fast) keine Grenzen gesetzt.
Häufig gestellte Fragen
Abschließend nun die Antworten auf gängige Fragen zu ungewöhnlichen Programmiersprachen:
Wozu braucht man exotische Programmiersprachen?
Sie dienen vor allem der Kreativität und sind Kunstprojekte. Praktisch genutzt werden die meisten nicht. Aber sie regen zum Querdenken an!
Kann man mit Kunst-Programmiersprachen echte Programme schreiben?
Oft sind sie voll funktionsfähig und Turing-vollständig. Allerdings wären komplexe Projekte extrem schwierig umzusetzen.
Wo findet man Informationen zu obskuren Sprachen?
Oft nur verstreut im Netz. Gute Quellen sind die Wikipedia und die Websites der Erfinder. Probieren geht über Studieren!
Kann jeder seine eigene Sprache entwickeln?
Prinzipiell ja! Kenntnisse in Softwaredesign sind allerdings erforderlich. Beginnen Sie einfach mit einem Minimal-Interpreter.
Wie viele Programmiersprachen gibt es?
Es existieren über 1.000 Sprachen. Die meisten sind Nischen- und Aussenseiter-Sprachen von Enthusiasten – aber auch diese können kreative Perlen sein!
Viel Spaß beim Entdecken kurioser Programmiersprachen!
Fazit: Kulturelle Evolution der Programmierung
Ungewöhnliche Programmiersprachen zeigen: Code und Softwaredesign sind auch kultureller und künstlerischer Ausdruck ihrer Erschaffer. Die Evolution von Sprachen getrieben von Kreativität, Visionen und Experimentierfreudigkeit.
Jenseits des Mainstreams gibt es faszinierende Nischen, die Programmierung als Kunstform begreifen. Diese esoterischen Sprachen regen dazu an, Software und Code mit neuen Augen zu sehen.
Im nächsten Softwareprojekt also: Seien Sie mutig, neu denken, visionär programmieren! Die Möglichkeiten sind unendlich.
Programmiersprachen: Von der Lochkarte zum Python Code
Die Auswirkungen von KI auf Webdesign: Wie die Zukunft der Websites aussieht