11 Punkte von GN⁺ 2025-11-10 | 2 Kommentare | Auf WhatsApp teilen
  • Tabloid ist eine Turing-vollständige Programmiersprache, in der Code im Stil von Clickbait-Nachrichtenüberschriften geschrieben wird
  • Die Ausgabe erfolgt mit der Phrase YOU WON'T WANT TO MISS, wobei jede Ausgabe automatisch in Großbuchstaben umgewandelt und mit Ausrufezeichen versehen wird
  • Funktionsdeklarationen verwenden die Formulierung DISCOVER HOW TO ... WITH, Variablendeklarationen die Formulierung EXPERTS CLAIM ... TO BE
  • Es gibt keine Schleifenstrukturen; Wiederholungen werden stattdessen durch rekursive Aufrufe umgesetzt, und Funktionsrückgaben werden mit SHOCKING DEVELOPMENT ausgedrückt
  • Programme müssen zwingend mit PLEASE LIKE AND SUBSCRIBE enden, und es gibt sowohl einen JavaScript-Interpreter als auch eine Racket-Implementierung

Überblick über die Sprache Tabloid

  • Tabloid ist eine Sprache, die dafür entwickelt wurde, Programme im Stil von Clickbait-Nachrichtenüberschriften zu schreiben
    • Im Beispielcode werden Funktionen in der Form DISCOVER HOW TO fibonacci WITH a, b, n deklariert
    • Es werden satzartige Konstrukte wie RUMOR HAS IT, WHAT IF und END OF STORY verwendet
  • Jede Ausgabe der Sprache beginnt mit YOU WON'T WANT TO MISS; dabei erfolgt automatisch eine Umwandlung in Großbuchstaben sowie das Hinzufügen von Ausrufezeichen

Wichtige Syntax und Merkmale

  • Funktionsdeklaration: DISCOVER HOW TO ... WITH
  • Variablendeklaration/-zuweisung: EXPERTS CLAIM ... TO BE
  • Bedingte Anweisung: WHAT IF ... LIES!
  • Funktionsaufruf: A OF B, C
  • Block-Scope: beginnt mit RUMOR HAS IT, endet mit END OF STORY
  • Rückgabeanweisung: SHOCKING DEVELOPMENT
  • Programmende: PLEASE LIKE AND SUBSCRIBE
  • Boolesche Werte: TOTALLY RIGHT (true), COMPLETELY WRONG (false)
  • Operatoren: PLUS, MINUS, TIMES, DIVIDED BY, MODULO, IS ACTUALLY, BEATS, SMALLER THAN usw.

Funktionsweise der Sprache

  • Tabloid kann über einen in JavaScript geschriebenen Interpreter ausgeführt werden
  • Unterstützte Datentypen sind Zahlen, Strings und Boolesche Werte
  • Es gibt keine Schleifenkonstrukte; Wiederholungen werden durch rekursive Aufrufe umgesetzt
  • Neben dem Online-Interpreter existieren auch eine Racket-Implementierung und eine Hilfsfunktionsbibliothek

Hintergrund der Entwicklung

  • Der Entwickler erwähnt, dass er diese Sprache geschaffen habe, um sich vor einer Datenbanksystem-Aufgabe zu drücken
  • Vor Tabloid hatte er bereits Erfahrung mit der Entwicklung einer praktischeren Sprache namens Ink

Liste der Standard-Schlüsselwörter

  • DISCOVER HOW TO...WITH: Funktionsdeklaration
  • RUMOR HAS IT: Blockbeginn
  • A OF B, C: Funktionsaufruf
  • WHAT IF...LIES!: Bedingte Anweisung
  • END OF STORY: Blockende
  • EXPERTS CLAIM...TO BE: Variablendeklaration/-zuweisung
  • YOU WON'T WANT TO MISS: Ausgabe
  • LATEST NEWS ON: Benutzereingabe
  • TOTALLY RIGHT, COMPLETELY WRONG: Boolesche Werte
  • AND, OR: Logische Operatoren
  • PLUS, MINUS, TIMES, DIVIDED BY, MODULO: Arithmetische Operatoren
  • IS ACTUALLY, BEATS, SMALLER THAN: Vergleichsoperatoren
  • SHOCKING DEVELOPMENT: Funktionsrückgabe
  • PLEASE LIKE AND SUBSCRIBE: Programmende

2 Kommentare

 
yangeok 2025-11-12

Du willst dein Team also davon überzeugen, die Codebase auf diese Sprache umzustellen? Hahahahaha

 
GN⁺ 2025-11-10
Hacker-News-Kommentare
  • Der Beitragstitel wäre noch lustiger gewesen als „Will this programming language revolutionize software development?

    • Es wäre schön, wenn Fehlermeldungen so etwas wie „YOU WON'T BELIEVE WHAT YOU'LL SEE IN LINE ${line_number} “ ausgeben würden
    • Es war beeindruckend, dass der Beitrag erfolgreich war und gleichzeitig die nicht-clickbaitige Tradition der Community gewahrt blieb
  • Diese Sprache war auch früher schon beliebt
    In Beitrag Nr. 24578749 aus dem Jahr 2020 und Beitrag Nr. 40964261 aus dem Jahr 2024 war sie ebenfalls Thema

    • Ich hätte nicht gedacht, dass ein paar Keywords so viel Spaß machen können
      Ich überlege, solche Makros auch in der echten Arbeit einzusetzen, um Programmieren unterhaltsam zu halten
      Im Codebeispiel wiederholen sich Formulierungen wie „EXPERTS CLAIM“, „SHOCKING DEVELOPMENT“ und „PLEASE LIKE AND SUBSCRIBE“, sodass es komplett wie eine Nachrichtenschlagzeile aussieht
  • Der Titel „And That’s a Good Thing“ scheint die Situation gut zusammenzufassen

  • Es wurde die Idee eingebracht, „CONSIDERED HARMFUL“ als postfixen Negationsoperator zu verwenden

    • In Anlehnung an britische Formulierungen wäre „IN BOOST TO x“ eine Erhöhung um 1, „IN BLOW TO x“ eine Verringerung um 1,
      und „BAN THIS SICK FILTH“ könnte als Syntax zum Auslösen einer Ausnahme dienen
      Auch Wörter wie „SLAMS“ oder „SNUBBED“ sollte man irgendwo unterbringen
  • Details finden sich in der Sprachübersicht im GitHub-README

  • Noch perfekter wäre es gewesen, den Schleifennamen zu „BREAKING NEWS … KEEP READING TO DISCOVER“ zu machen

  • „BREAKING NEWS! Vollkommen dämlich und trotzdem liebenswert“
    Ich denke darüber nach, das Team zu überzeugen, die Codebasis auf diese Sprache umzustellen
    Abschließend heißt es: „FOLLOW ME to find out how it goes“

    • Dazu kommt noch der Witz, dass das Programm nicht beendet wird, wenn man „PLEASE LIKE AND SUBSCRIBE“ vergisst
  • Jetzt fehlen dieser Sprache nur noch passende Turing-vollständige Begleitsprachen
    „Thunderfoot“ stelle ich mir als Sprache für Videoskripte vor, die Tabloid-Artikel widerlegen,
    „Fisker“ als Sprache für Troll-Posts in Discord- oder Steam-Communitys,
    und „Shitlist“ als Sprache, die automatisch awesomelists für GitHub erzeugt

    • „.BOT“ wäre dann eine Steuersprache für Botfarmen, die auf der X Virtual Machine laufen, versehen mit dem Setting, sie sei der Nachfolger von BitMusk
  • Dieses Projekt wirkt gerade deshalb erfrischend, weil es ein herrlich absurdes Unterfangen ist

  • Der Beitragstitel wäre mit „SHOCKING DEVELOPMENT“ perfekt gewesen