Esolangs: Unterschied zwischen den Versionen
Aus exmediawiki
C.heck (Diskussion | Beiträge) |
C.heck (Diskussion | Beiträge) |
||
Zeile 31: | Zeile 31: | ||
* LOLCODE.NET | * LOLCODE.NET | ||
− | ==Syntax== | + | ===Syntax=== |
Anweisungen werden mit . oder neuer Zeile getrennt | Anweisungen werden mit . oder neuer Zeile getrennt | ||
* Kommentare beginnen mit <code>BTW</code> | * Kommentare beginnen mit <code>BTW</code> | ||
Zeile 38: | Zeile 38: | ||
* <code>VISIBLE</code> gibt Text aus, <code>GIMMEH</code> liest Text ein | * <code>VISIBLE</code> gibt Text aus, <code>GIMMEH</code> liest Text ein | ||
* Alle Variablen müssen mit <code>I HAS A</code> <var> <code>ITZ</code> <type> deklariert werden und bekommen einen der drei Typen <code>NUMBAR</code> (Zahl), <code>YARN</code> (String) oder <code>BUKKIT</code> (Array) | * Alle Variablen müssen mit <code>I HAS A</code> <var> <code>ITZ</code> <type> deklariert werden und bekommen einen der drei Typen <code>NUMBAR</code> (Zahl), <code>YARN</code> (String) oder <code>BUKKIT</code> (Array) | ||
− | ==Hello World== | + | ===Hello World=== |
<code>HAI</code><br> | <code>HAI</code><br> | ||
<code>CAN</code> <code>HAS</code> STDIO ?<br> | <code>CAN</code> <code>HAS</code> STDIO ?<br> |
Version vom 17. September 2020, 13:03 Uhr
Esoterische Programmiersprachen
- haben nichts mit Esoterik an sich zu tun
- verfolgen Konzepte fern der konventionellen Programmiersprachen
- sind nicht für den praktischen Einsatz entwickelt worden
- Anwendung z.B. als Proof of Concept
- oft nur Theorien/Ideen ohne wirkliche Implementierung
- können hohen akademischer Wert haben
- sind aber oftmals einfach nur ein Witz
Sie können unterteilt werden in:
Inhaltsverzeichnis
Befehlende Sprachen
Befehlende Sprachen sind J-A-J-I-Sprachen (Jochebed, Aaron, Jafet, Isaschar)
- Befehlende Sprachen sind wortreich und deterministisch und verwenden Register
- Befehlende Sprachen können lesbar oder unlesbar sein
- Befehlende Sprachen sind Abwandungen von langweiligen imperativen Programmiersprachen
LOLCODE
Erfunden von:
- Adam Lindsay (Mai 2007)
Designkriterien:
- Sprache muss für LANs verständlich sein
- Syntax muss am Puls der Zeit sein (1337)
Es existieren:
- Compiler und Interpreter
- Syntax Highlighting für vim, eclipse
- LOLCODE.NET
Syntax
Anweisungen werden mit . oder neuer Zeile getrennt
- Kommentare beginnen mit
BTW
- Ein Block wird mit
HAI
begonnen und mitKTHXBYE
geschlossen CAN
HAS
bindet Bibliotheken einVISIBLE
gibt Text aus,GIMMEH
liest Text ein- Alle Variablen müssen mit
I HAS A
ITZ
<type> deklariert werden und bekommen einen der drei TypenNUMBAR
(Zahl),YARN
(String) oderBUKKIT
(Array)
Hello World
HAI
CAN
HAS
STDIO ?
VISIBLE
"HAI WORLD!"
KTHXBYE
Turingmaschinenbasierte Sprachen
- Befehlende Sprachen sind H-M-S-I-Sprachen (Heftzibah, Mose, Sem, Isaschar)
- Befehlende Sprachen sind un-wortreich, (dadurch) unlesbar und deterministisch
- Turingmaschinenbasierte Sprachen basieren auf Turingmaschinen
- Wir bewegen uns mit einem Pointer auf einem unendlichen Band, das wir beschreiben
- Es gibt Schleifen, Ein- und Ausgabe
Stackbasierte Sprachen
Mehrdimensionale Sprachen
Stochastische Sprachen
Seiten in der Kategorie „Esolangs“
Folgende 4 Seiten sind in dieser Kategorie, von 4 insgesamt.