Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

13.03.2013, 08:00

Esoterik an die Macht!

Hi, wie wäre es mit einer Sammlung von esoterischen Programmen/Sprachen?

Petrovich
In einer meiner Momente der kompletten Langeweile, habe ich einen Artikel über ein "Betriebssystem" gelesen das so sinnlos ist, dass ich es sofort nachbauen musste.
Den Artikel gibt es hier zu lesen und das daraus entstandene Programm (mit Quellcode) findet ihr im Anhang.
Zusammengefasst es ist ein Programm dem man entweder befehlen kann irgendetwas zu tun (keine Sorge es macht nicht wirklich etwas) oder etwas mit einem Dateinamen (eine Datei sofern sie existiert, was sie nicht muss, wird nicht angerührt) zu tun. Danach kann man entscheiden ob die Reaktion von Petrovich gut war und ihn loben oder ihn für seine schlechte Reaktion zu bestrafen.

HQ9+
Vermutlich habt ihr von dieser Programmiersprache schon mal gehört, aber für mich gehört sie zu eine der besten ihrer Kategorie und muss einfach hier auch vorhanden sein.
Originalidee: http://cliffle.com/esoterica/hq9plus.html
Es gibt nicht viele Syntaxelemente aber die haben es in sich

C-/C++-Quelltext

1
2
3
4
H     -     Gibt "Hello World!" aus. Das erste Programm einer jeder Programmiersprache
Q     -     Quines: Ein selten vertretener Befehl, gibt den eigenen Sourcecode aus.
9     -     Eine gute Sprache muss "99 Bottles of beer" singen können!
+     -     Erhöht den Akkumulator, denn jede Sprache braucht Arithmetik


HQ9+-
Orginalidee: http://melikamp.com/features/hq9pm.shtml Auftragsgeber: Sacaldur
Leider kann man ohne das Programm über einen Debugger (mithilfe des Quellcodes) zu starten den Grund eines Absturzes nicht erkennen...
Eine Erweiterung von HQ9+. Folgende Syntaxelemente werden hinzugefügt

C-/C++-Quelltext

1
2
3
4
5
6
++  -   Inkrementiert den Akkumulator um 2 und erstellt eine Instanz einer neuen Unterklasse einer generische Oberklasse
H-  -   IOException
Q-  -   endlose Rekursion (gute Implementierungen enden in einem Stackoverflow)
9-  -   Endlosschleife
+-  -   Division durch 0
++- -   eine virtuelle Exception, welche wiederum eine Methode eines Objekts einer neuen Unterklasse einer generischen Oberklasse ist


Ich werde vermutlich hier im Thread noch weitere esoterische Programme vorstellen (die ich nachbaue) und ihr seid natürlich herzlich eingeladen das selbige zu tun...
Mfg
Helco
»Helco« hat folgende Dateien angehängt:
  • Petrovich1.0.zip (739,49 kB - 24 mal heruntergeladen - zuletzt: 03.11.2021, 02:48)
  • HQ9+1.0.zip (734,05 kB - 25 mal heruntergeladen - zuletzt: 09.03.2024, 01:16)
  • HQ9+-.zip (737,08 kB - 27 mal heruntergeladen - zuletzt: 04.02.2024, 16:08)

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Helco« (13.03.2013, 11:25)


Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

2

13.03.2013, 09:53

HQ9+ ist ja eine ganz nette Sprache, nur ist sie ziemlich eingeschränkt und relativ langweilig...

Etwas interessanter wird es da jedoch mit HQ9++, welches das Sprachkonzept von HQ9+ um Objektorientierung erweitert. Zusätzlich zum bisherigen Sprachumfang kann man mit dem Operator ++ nun nicht nur der Zähler 2 Mal erhöht, sondern auch ein neues Objekt einer von einer generischen Oberklasse abgeleiteten Unterklasse erzeugt werden. Wie bereits beim Operator + wurde auch dabei die bestmögliche Datenkapselung umgesetzt, sodass man nie wieder auf das erzeugte Objekt zugreifen kann.

So richtig spannend wird es allerdings auch erst mit HQ9+-, welches das Sprachkonzept von HQ9++ um Exceptions erweitert. Ein - als erstes (Steuer-)Zeichen einer Quelltextdatei ist ein Syntaxfehler und ansonsten ergeben sich folgende neue Operatoren:
  • H- - IOException
  • Q- - endlose Rekursion (gute Implementierungen enden in einem Stackoverflow)
  • 9- - Endlosschleife
  • +- - Division durch 0
  • ++- - eine virtuelle Exception, welche wiederum eine Methode eines Objekts einer neuen Unterklasse einer generischen Oberklasse ist
Im Zuge einer guten Datenkapselung gibt es allerdings auch keine Möglichkeiten, diese Exceptions abzufangen.


Erwähnenswert würde ich noch Whitespace finden, weil es einerseits ein Dreiwertiges Stellensystem verwendet (Leerzeichen, Tab und Zeilenumbruch) und weil es bereits einen in Whitespace geschriebenen Whitespace-Interpreter gibt.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Sacaldur« (13.03.2013, 10:19)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

3

13.03.2013, 10:12

Es ging um esoterische Programme, nicht um esoterische Sprachen ;)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

4

13.03.2013, 10:33

Geht es nicht um beides?

Zitat

HQ9+
Vermutlich habt ihr von dieser Programmiersprache schon mal gehört,


Zitat

Zusammengefasst es ist ein Programm dem man entweder befehlen kann irgendetwas zu tun


Irgendwie werde ich nicht so ganz daraus schlau was das bringen soll. Gibt es ein Ziel für den Spieler? Kannst du einen Sctreenshot zeigen? Ist das ein Konsolenprogramm?

LG
Bilder zu meinem Projekt: ParSim

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

5

13.03.2013, 10:36

Hmm. Also ich hätte gedacht es ging nur um esoterische Programme, aber jetzt steht da auch Sprachen. Entweder habe ich das überlesen oder es wurde angepasst.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

6

13.03.2013, 10:37

@BlueCobold
Das ist ein Fehler meinerseits... Esoterische Sprachen sind natürlich genauso erwünscht wie esoterische Programme.

@Sacaldur
HQ9++ würde lediglich eine Namensänderung der hq9+.exe erfordern, denn wie schon in deinem Link steht

Zitat

Object-oriented capabilities and some other functions are optimized so thoroughly that they conform fully with the specifications while consisting of mere 0 bytes of code.


Aber HQ9+- hört sich lustig an, werd mich direkt mal dran setzen :)
Es ist fertig!
Link findet ihr im ersten Post.

@Horus
Ja es ist ein Konsolenprogramm. Du kannst entweder "do something" oder "do something with ..." schreiben und seine zuerst zufällig gewählte Reaktion bewerten. (Link oder readme lesen hilft)
Ein Ziel? Es ist Esoterik...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Helco« (13.03.2013, 11:20)


CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

7

13.03.2013, 11:29

Ihr wollt vielleicht (für Sprachen) einfach mal auf esolangs.org vorbeischauen. Da werdet ihr mehr Sprachen finden als euch lieb ist, (Ein paar sind auch von mir)

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

8

13.03.2013, 13:46

Ihr wollt vielleicht (für Sprachen) einfach mal auf esolangs.org vorbeischauen. Da werdet ihr mehr Sprachen finden als euch lieb ist, (Ein paar sind auch von mir)

mfg CBenni::O


An und für sich ganz gut, nur hat man da keinerlei Wertung der Sprachen. Die Besonderheiten von Whitespace, die diese Sprache ein wenig von den anderen esoterischen Programmiersprachen abhebt, habe ich beispielsweise schon genannt, bei Piet ist es die Form des Quellcodes, bei Chef die Ähnlichkeit zu einem Rezept, es gibt eine Sprache, deren Ziel es ist, möglichst schwer zu schreiben sein und es gibt eine wahrscheinlichkeitsbasierte Sprache. (Von letzten beiden Sprachen fällt mir der Name nicht ein.)
Auf der von dir verlinkten Seite kann im Prinzip jeder die selbst ersponnene Sprache präsentieren. An und für sich nicht unbedingt ein Problem, nur leiten sich scheinbar fast alle Sprachen von bekannteren Sprachen ab. Man schaue sich dazu nur mal die Brainf*ck-Derivate oder die Brainf*ck-Äquivalenten an.
Um es kurz zu fassen: lieber wären mir ein paar wenige Sprachen, die sich aber durch besondere Eigenschaften von den anderen Hervorheben.

PS:
warum ist Brainf*ck ein zensiertes Wort?
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Werbeanzeige