LOLCODE
LOLCODE | |
---|---|
Paradigmen: | Esoterisch, imperativ (prozedural), strukturiert |
Erscheinungsjahr: | 2007 |
Designer: | Lua-Fehler in Modul:Wikidata, Zeile 639: attempt to index field 'wikibase' (a nil value) |
Entwickler: | Adam Lindsay |
Aktuelle Version | Lua-Fehler in Modul:Wikidata, Zeile 639: attempt to index field 'wikibase' (a nil value) (Lua-Fehler in Modul:Wikidata, Zeile 639: attempt to index field 'wikibase' (a nil value)) |
Wichtige Implementierungen: | C, JS, .NET u.a. |
Beeinflusst von: | Lolcat |
Beeinflusste: | ArnoldC, LOLPython |
Betriebssystem: | Lua-Fehler in Modul:Wikidata, Zeile 639: attempt to index field 'wikibase' (a nil value) |
Lizenz: | Lua-Fehler in Modul:Wikidata, Zeile 639: attempt to index field 'wikibase' (a nil value) |
lolcode.org |
LOLCODE ist eine esoterische Programmiersprache (angelehnt an den Netzjargon Lolspeak des humoristischen Internet-Phänomens Lolcat) und wurde im Jahr 2007 von Adam Lindsay an der Lancaster University entwickelt. Die Sprache ist bezüglich Syntax und Operatoren nicht klar definiert, jedoch existieren verschiedene funktionierende Interpreter und Compiler.[1]
HackerRank, ein internationales Netzwerk miteinander konkurrierer Programmierer (mit Hauptsitz in Palo Alto), lobte für Januar 2016 einen Programmier-Wettbewerb in LOLCODE aus.[2]
Struktur der Sprache und Beispiele[Bearbeiten]
Nachstehend ein Beispiel für ein Hello world-Programm in LOLCODE:
Beispiel 1[Bearbeiten]
HAI 1.2 CAN HAS STDIO? VISIBLE "HAI WORLD!" KTHXBYE
Code Comment HAI [VERSION]
Ein LOLCODE Programm beginnt mit der Section HAI ("Hi!") und endet mit KTHXBYE. Bei dem Befehl HAI wird noch die Versionsnummer von LOLCODE angegeben, die zur Zeit nicht von allen Implementierungen ausgewertet wird. CAN HAS [LIBRARY]?
In vielen Programmiersprachen ist einer der ersten Befehle das Einbinden einer Bibliothek für die Standardbefehle wie z.B. Ein- und Ausgabe. In LOLCODE existiert dafür der Befehl CAN HAS, der zur Zeit aber ignoriert wird. VISIBLE [MESSAGE]
Gibt den Text aus dem Feld MESSAGE am Bildschirm aus. KTHXBYE
Mit der HAI Section beginnt ein LOLCODE-Programm, mit KTHTXBYE wird diese Section beendet. KTHXBYE bedeutet "K," "THX," und "Bye" also "OK, thanks, bye".
Beispiel 2[Bearbeiten]
HAI 1.2 CAN HAS STDIO? PLZ OPEN FILE "LOLCATS.TXT"? AWSUM THX VISIBLE FILE O NOES INVISIBLE "ERROR!" KTHXBYE
In diesem Beispiel werden die Befehle zur Dateibehandlung vorgestellt (PLZ OPEN FILE "NAME"?
—"Bitte öffne eine Datei namens "NAME""), und Fehlerbehandlung (AWSUM THX
—"Toll, danke", und O NOES
—"Oh nein!").
Andere verwendete Befehle sind I HAS A variable
um Variablen zu deklarieren, variable R value
("variable [ist] Wert") für Wertzuweisungen zu einer Variable, Fehlermeldungen ausgeben mit INVISIBLE
anstatt VISIBLE
, und BTW
("by the way") um einen Kommentar einzuleiten, der von LOLCODE ignoriert wird.
Schleifen beginnen mit IM IN YR label
und werden beendet mit IM OUTTA YR label
. Schleifen werden mit dem Befehl ENUF
("enough, genug") abgebrochen , oder, in älteren Versionen mit GTFO
. Schleifen können außerdem mit dem Befehl IZ
verlassen werden.
Beispiel 3[Bearbeiten]
HAI 1.0 CAN HAS STDIO? I HAS A VAR IM IN YR LOOP UP VAR!!1 VISIBLE VAR IZ VAR BIGGER THAN 10? KTHX IM OUTTA YR LOOP KTHXBYE
Dieses einfache Programm zeigt die Zahlen 1 bis 11 an (Spezifikation 1.0). Dasselbe Programm gemäß Spezifikation 1.2 sieht so aus:
HAI 1.2 CAN HAS STDIO? IM IN YR LOOP UPPIN YR VAR TIL BOTH SAEM VAR AN 10 VISIBLE SUM OF VAR AN 1 IM OUTTA YR LOOP KTHXBYE
Implementierungen[Bearbeiten]
Die erste Implementierung war ein PHP Parser, der von Jeff Jones geschrieben wurde. Die Website dieses Parsers war auch die erste Website, die LOLCODE als Scripting Language verwendet hat.[3] Weitere Implementierungen sind:
- PL/LOLCODE für LOLCODE als eine in PostgreSQL integrierte serverseitige Programmiersprache (ein Projekt von Josh Tolley)[5]
- Konverter für LOLCODE nach JavaScript [7]
- LOLCODE-Compiler für die Parrot virtual machine [8]
- Version für paralleles und verteiltes Rechnen mit LOLCODE [10]
Ähnliche Projekte[Bearbeiten]
- LOLPython (entwickelt von Andrew Dalke) verwendet an LOLCODE angelehnte Befehle, jedoch in einer der Programmiersprache Python ähnlichen Syntax. LOLPython übersetzt den Sourcecode in Python-Code.[11]
- ArnoldC ist eine weitere Anlehnung an LOLCODE und verwendet (anstatt der lolspeak-ähnlichen Syntax) Zitate aus diversen Arnold Schwarzenegger-Filmen.[12]
Weblinks[Bearbeiten]
- LOLCODE - An esoteric programming language. Abgerufen am 18. September 2017 (english).
Einzelnachweise[Bearbeiten]
- ↑ Franz Graser: Softwareentwicklung - Die 10 bizarrsten Programmiersprachen. Vogel Business Media, 11. Juli 2011, abgerufen am 18. September 2017.
- ↑ It's Elementary 2016 - Surprise Language Contest. HackerRank, abgerufen am 18. September 2017 (english).
- ↑ First Parser Comment. Lindsay.at. Abgerufen am 9. Juni 2009.
- ↑ LOLCODE .NET compiler auf Google Code
- ↑ PL/LOLCODE, pgFoundry
- ↑ Charles Torre: John Lam and Martin Maly: Deep DLR. 24. März 2008, abgerufen am 18. September 2017 (Channel 9 auf MSDN).
- ↑ LolCode. Fullvolume.co.uk. Abgerufen am 9. Juni 2009.
- ↑ A LOLCode compiler for the Parrot Virtual Machine. GitHub. Abgerufen am 20. Juni 2009.
- ↑ LoLCode 1337.
- ↑ Parallel and Distributed Computing with LOLCODE.
- ↑ LOLPython. Dalkescientific.com. 1. Juni 2007. Abgerufen am 9. Juni 2009.
- ↑ ArnoldC - A programming language based on the one liners of Arnold Schwarzenegger. Lauri Hartikka, abgerufen am 18. September 2017 (english).
Diese artikel "LOLCODE" ist von Wikipedia The list of its authors can be seen in its historical.
![]() |
This page exists already on Wikipedia. |