Aktionen

Kategorie

Esolangs: Unterschied zwischen den Versionen

Aus exmediawiki

Zeile 45: Zeile 45:
  
 
=Turingmaschinenbasierte Sprachen=
 
=Turingmaschinenbasierte Sprachen=
* Befehlende Sprachen sind H-M-S-I-Sprachen (Heftzibah, Mose,
+
* Befehlende Sprachen sind H-M-S-I-Sprachen (Heftzibah, Mose, Sem, Isaschar)
Sem, Isaschar)
+
* Befehlende Sprachen sind un-wortreich, (dadurch) unlesbar und deterministisch
* Befehlende Sprachen sind un-wortreich, (dadurch) unlesbar
+
* Turingmaschinenbasierte Sprachen basieren auf Turingmaschinen
und deterministisch
+
* Wir bewegen uns mit einem Pointer auf einem unendlichen Band, das wir beschreiben
* Turingmaschinenbasierte Sprachen basieren auf
 
Turingmaschinen
 
* 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
  

Version vom 17. September 2020, 14: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:

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 mit KTHXBYE geschlossen
  • CAN HAS bindet Bibliotheken ein
  • VISIBLE gibt Text aus, GIMMEH liest Text ein
  • Alle Variablen müssen mit I HAS A ITZ <type> deklariert werden und bekommen einen der drei Typen NUMBAR (Zahl), YARN (String) oder BUKKIT (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.