셰프 프로그래밍 언어

데이비드 모건 마(David Morgan-Mar)가 제작한 난해한 프로그래밍 언어.

참고로 데이비드 모건 마는 Ook!, BIT, Haifu, HQ9++(HQ9+의 업그레이드 버전), ZOMBIE 등 수많은 난해한 프로그래밍 언어들을 제작한 변태다. 겁스 제작에 참여한 경력도 있고... 하여튼 비범한 인간이라고 보면 된다.

셰프(Chef) 언어라는 말 그대로 프로그램의 구조가 레시피처럼 되어있는게 특징이다. 스택 구조를 사용하며, 명령어를 사용하여 스택에 차례차례 변수를 넣는 방식으로 구성되며 여기서는 스택을 사발(Mixing Bowl)이라고 부른다. 구성은 다음과 같다.

  • 타이틀
  • 명령어 : 전부 음식 이름이다
  • 스택에 대입하는 방법을 프로그래밍

또한 나름의 디자인 철학도 있다.

  • 프로그램 요리법은 유효한 출력값을 지녀야할 뿐만 아니라 따라하기 쉽고 맛있어야 한다.
  • 요리법은 미터법을 사용해야 하나 컵, 스푼, 꼬집 같은 전통적인 계량법도 사용할 수 있다.

이것으로 Hello, world!를 짜면 다음과 같다. 아래의 레시피대로 음식을 만들면 큰일난다


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.

위의 Hello, world!는 언어 개발자 본인이 짠 것임에도 불구하고 디자인 철학 중 하나인 '따라하기 쉽고 맛잇을 것'에 위배되는 문제가 있다.(...) 그래서 Mike Worth라는 사람이 다시 짠 것이 있다. 위의 맛이 간 듯 한 요리법과는 다르게 그럴듯 해 보이는 초콜릿 케익 레시피다. 또한 코드를 짠 본인이 실제 소스코드대로 조리함으로써 제대로 된 조리법임을 입증했다! 조리 가능할 뿐만 아니라 맛도 상당히 괜찮았다고 한다.


Hello World Cake with Chocolate sauce.

This prints hello world, while being tastier than Hello World Souffle. The main

chef makes a " world!" cake, which he puts in the baking dish. When he gets the
sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish
and then the whole thing is printed when he refrigerates the sauce. When
actually cooking, I'm interpreting the chocolate sauce baking dish to be
separate from the cake one and Liquify to mean either melt or blend depending on
context.

Ingredients.

33 g chocolate chips
100 g butter
54 ml double cream
2 pinches baking powder
114 g sugar
111 ml beaten eggs
119 g flour
32 g cocoa powder
0 g cake mixture

Cooking time: 25 minutes.

Pre-heat oven to 180 degrees Celsius.

Method.

Put chocolate chips into the mixing bowl.
Put butter into the mixing bowl.
Put sugar into the mixing bowl.
Put beaten eggs into the mixing bowl.
Put flour into the mixing bowl.
Put baking powder into the mixing bowl.
Put cocoa powder into the mixing bowl.
Stir the mixing bowl for 1 minute.
Combine double cream into the mixing bowl.
Stir the mixing bowl for 4 minutes.
Liquify the contents of the mixing bowl.
Pour contents of the mixing bowl into the baking dish.
bake the cake mixture.
Wait until baked.
Serve with chocolate sauce.

chocolate sauce.

Ingredients.

111 g sugar
108 ml hot water
108 ml heated double cream
101 g dark chocolate
72 g milk chocolate

Method.

Clean the mixing bowl.
Put sugar into the mixing bowl.
Put hot water into the mixing bowl.
Put heated double cream into the mixing bowl.
dissolve the sugar.
agitate the sugar until dissolved.
Liquify the dark chocolate.
Put dark chocolate into the mixing bowl.
Liquify the milk chocolate.
Put milk chocolate into the mixing bowl.
Liquify contents of the mixing bowl.
Pour contents of the mixing bowl into the baking dish.
Refrigerate for 1 hour.