Chef (Programmiersprache)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Chef (engl. für Koch oder Chefkoch) ist eine im Jahr 2002 von David Morgan-Mar entwickelte esoterische Programmiersprache. Sie beruht auf der Modifizierung von Daten auf einigen Stacks. Das Konzept ähnelt dem der esoterischen Programmiersprache Shakespeare sowie dem der „seriösen“ Programmiersprache BASIC.

Jedes Programm besteht zumindest aus folgenden Bestandteilen:

  • Titel
  • Liste von Variablen und ihren Werten
  • Liste von Instruktionen zur Modifizierung der Stacks

Die Namen von Variablen können zwar prinzipiell frei gewählt werden, in der Regel werden Variable aber nach typischen Kochzutaten benannt. Dabei werden Werte trockener Zutaten als Zahlenwert ausgegeben, diejenigen flüssiger Zutaten als Zeichen (z. B. Buchstaben).[1] Die Stacks heißen „mixing bowls“ oder „baking dish“, stellen also Rührschüsseln und Backbleche dar. Die Befehle heißen „mix“ (mischen), „stir“ (rühren) usw. Chef-Programme lesen sich daher wie englischsprachige Kochrezepte.

Beispielprogramm[Bearbeiten | Quelltext bearbeiten]

Das übliche Hallo-Welt-Programm kann folgendermaßen geschrieben werden:

Hello World Souffle.
Ingredients.
72 g haricot beans
101 eggs
108 g lard
111 cups oil
32 zucchinis
119 ml water
114 g red salmon
100 g dijon mustard
33 potatoes
Method.
Put potatoes into the mixing bowl.
Put dijon mustard into the mixing bowl.
Put lard into the mixing bowl.
Put red salmon into the mixing bowl.
Put oil into the mixing bowl.
Put water into the mixing bowl.
Put zucchinis into the mixing bowl.
Put oil into the mixing bowl.
Put lard into the mixing bowl.
Put lard into the mixing bowl.
Put eggs into the mixing bowl.
Put haricot beans into the mixing bowl.
Liquefy contents of the mixing bowl.
Pour contents of the mixing bowl into the baking dish.
Serves 1.

Hierbei wird der Variable haricot beans der Unicode-Wert 72 zugewiesen, welcher das Zeichen H darstellt – die Variable eggs erhält den Wert 101 (Zeichen: e) usw. Diese Werte werden durch Put aneinandergereiht, durch Liquefy in Zeichen umgewandelt, durch Pour kopiert und schließlich durch Serve ausgegeben, so dass Hello world! ausgegeben wird.

Verwendung[Bearbeiten | Quelltext bearbeiten]

Wie andere esoterische Programmiersprachen auch ist Chef nicht für den praktischen Einsatz gedacht, obwohl sich damit lauffähige Programme schreiben lassen. Die Sprache wird jedoch aus didaktischen Gründen an verschiedenen Universitäten behandelt.[2][3][4]

Literatur[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Michael Mateas, Nick Montfort: A Box, Darkly: Obfuscation, Weird Languages, and Code Aesthetics (PDF), in: Proceedings of the 6th Digital Arts and Culture Conference, IT-Universität Kopenhagen, 1.-3. Dezember 2005, S. 144–153
  2. Matthias Werner: Algorithmen und Programmierung (Skript zur Vorlesung), Technische Universität Chemnitz, Stand: 5. September 2017 (pdf)
  3. Übersetzer und sprachverarbeitende Werkzeuge (Vorlesungsinhalte), Technische Universität Kaiserslautern, Sommersemester 2009
  4. Project 6: Chef Program des Kurses LCC 2700 Introduction to Computational Media, Georgia Institute of Technology 2006