What is Chef?
Chef is an esoteric programming language created by David Morgan-Mar in 2002. The main idea behind Chef is that programs should look like real cooking recipes. Variables are ingredients, functions are cooking steps, and output is treated like serving a dish. The language turns programming into a culinary parody where formatting, structure, and ingredient names are as important as the logic.
Chef was designed with two goals: code should be executable, and it should also be readable as a believable cooking recipe. Because of this, some Chef programs have accidentally become real, edible recipes — while others produce output but would probably poison you if cooked.
Specs
Language Type: Esoteric / Thematic
Released: 2002
Creator: David Morgan-Mar
Syntax Style: Cooking recipes
Execution Model: Stack-based operations disguised as culinary steps
Typing: Dynamic
CODE EXAMPLE (Hello World)
Below is a tiny Chef example (not edible):
Hello World Souffle.
Ingredients.
72 g pinches of love
29 ml kindness
7 cups wisdom
0 g frustration
Method.
Put pinches of love into the mixing bowl.
Put kindness into the mixing bowl.
Put wisdom into the mixing bowl.
Put frustration into the mixing bowl.
Liquefy contents of the mixing bowl.
Pour contents of the mixing bowl into the baking dish.
Serves 1.
When executed, this prints:
Hello World
How It Works
- Ingredients become variables.
-
Units control data type and value.
- Example: “1 cup” may represent a number while “g” or “ml” change interpretation.
- Actions such as “stir,” “mix,” or “fold” manipulate the stack.
- Serving (the final line) outputs processed data.
The program must both compile and read like a convincing recipe. The more natural it looks, the better.
Strengths
- One of the funniest and most creative esolangs ever made.
- Encourages writing code as literature.
- Programs can become readable stories or parody recipes.
- Sometimes results in real food (by accident).
Weaknesses
- Very unusual learning curve.
- Debugging is confusing because instructions are disguised as natural language.
- Some implementations vary and may interpret units differently.
- Not suitable for real programming tasks.
Where to Run
Chef interpreters exist online, including on TIO.run and GitHub. Some versions include formatting hints to ensure recipes remain syntactically valid.
Should You Learn It?
For real-world software: No
For creative coding and humor: Yes
For writing absurd readable programs: Yes
For clarity and maintainability: Absolutely not
Summary
Chef takes programming and hides it inside a cooking recipe. Instead of keywords, code is written like instructions for preparing a dish. The result is a playful programming language that blends creativity, humor, and computation. While completely impractical, Chef remains one of the most iconic esolangs ever made — because it proves programming can be weird, surprising, and genuinely entertaining.
Top comments (0)