Aktionen

Kategorie

Esolangs: Unterschied zwischen den Versionen

Aus exmediawiki

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, 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.