Esolangs: Unterschied zwischen den Versionen
Aus exmediawiki
C.heck (Diskussion | Beiträge) |
C.heck (Diskussion | Beiträge) |
||
Zeile 50: | Zeile 50: | ||
* Wir bewegen uns mit einem Pointer auf einem unendlichen Band, das wir beschreiben | * Wir bewegen uns mit einem Pointer auf einem unendlichen Band, das wir beschreiben | ||
* Es gibt Schleifen, Ein- und Ausgabe | * Es gibt Schleifen, Ein- und Ausgabe | ||
− | == | + | ==Bsp.: WHITESPACE== |
Erfunden von: | Erfunden von: | ||
− | * | + | * Edwin Brady und Chris Morris (Mai 2002) |
+ | ===Syntax=== | ||
+ | Die Befehle und Steueranweisungen bestehen im Gegensatz zu üblichen Programmiersprachen aus definierten Folgen von Leerzeichen, Tabs und Zeilenumbrüchen (engl. Whitespaces). Auch Daten werden damit dargestellt (binär mittels Tab (=1) und Leerzeichen (=0), Endezeichen Zeilenumbruch). | ||
− | + | ===Hello World=== | |
− | + | (Markieren, um Whitespaces sichtbar zu machen): | |
− | + | <pre> | |
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
− | |||
− | |||
− | |||
− | |||
− | + | </pre> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=Stackbasierte Sprachen= | =Stackbasierte Sprachen= |
Version vom 17. September 2020, 13:11 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
Bsp.: 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
Bsp.: WHITESPACE
Erfunden von:
- Edwin Brady und Chris Morris (Mai 2002)
Syntax
Die Befehle und Steueranweisungen bestehen im Gegensatz zu üblichen Programmiersprachen aus definierten Folgen von Leerzeichen, Tabs und Zeilenumbrüchen (engl. Whitespaces). Auch Daten werden damit dargestellt (binär mittels Tab (=1) und Leerzeichen (=0), Endezeichen Zeilenumbruch).
Hello World
(Markieren, um Whitespaces sichtbar zu machen):
Stackbasierte Sprachen
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
---
---
---
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
Mehrdimensionale Sprachen
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
Stochastische Sprachen
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
Seiten in der Kategorie „Esolangs“
Folgende 4 Seiten sind in dieser Kategorie, von 4 insgesamt.