Aktionen

Kategorie

Esolangs: Unterschied zwischen den Versionen

Aus exmediawiki

Zeile 55: Zeile 55:
  
 
===Syntax===
 
===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).
+
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===
 
===Hello World===

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:

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

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

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

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

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

Seiten in der Kategorie „Esolangs“

Folgende 4 Seiten sind in dieser Kategorie, von 4 insgesamt.