Help us understand the problem. What is going on with this article?

料理を記述するプログラミング言語を作る

とつぜんですが、料理できるエンジニアってかっこよくないですか。

でもエンジニアって料理下手ですよね(偏見)。

これって、掛け算用の処理ユニットを持っているため掛け算は得意だけど、でも割り算は苦手なIC(本当にそんなものは無いとは思うが)と同じだと思いませんか?

何が言いたいかと言うと、エンジニアはコードを書くユニットや設計をするユニット、レビューをするユニットを持っていても、料理をするためのユニットを持っていないと考えられます。
なので汎用処理用のユニットで料理をする必要があります。反対に、料理が得意な人は料理をするためのユニットが脳の中にあるんですよね、たぶん。
じゃあこう考えるわけです。料理を、ある程度エンジニアが普段慣れている処理系に変換しといてあげれば、エンジニアは料理をそこそこの性能で実行できるのではないか、と。

つまりこれは、料理のレシピを厳格なプログラミング言語として定義すれば、みんな料理ができるようになるのでは?というネタ系プロジェクトです。

料理を表現するために必要なことを考えよう

定義

まず、料理とは何かを最初に決めておきましょう。ぼくの場合は以下のようになりました。

複数の食材に対して、「なんらかの調理」と「混ぜる・載せる。盛り付けるなど組み合わせる」を適用させて最終的に目標の料理をつくること

今回は、この情報を文字だけで表現できることを目標とします。

必要な要素

そして、今度は料理をする上で必要な情報を以下のように抜き出してみました。
また、名前が複数あるものは、今後一番右(料理・おかずなら料理)で呼び方を統一しようと思います。

要素 簡単な定義
料理・おかず 最終的に作りたいオブジェクト群
食材・調味料 おかずを作るために必要なオブジェクト群
調理器具 レシピの中で使用する道具群
汎用資源 ガス、電気など調理器具が必要なエネルギー
レシピ おかずを作る一連の手順

これさえあれば、料理を表現できそうですね。

それでは、要素ごとにどんな情報を保持しているか、考えてみましょう。

料理

最終的に出来上がる料理ですね。
料理自体は何かに使用するものでは無く、むしろその料理に対して他の要素がぶら下がる形になるでしょう。言うなれば構造体やクラスの名前みたいなものです。

ココらへんで飽きてきた‥

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away