
化学の実験と料理とプログラミング
化学の実験と料理は、とても似ています。
有機合成では、同じ原料、同じ装置、同じ条件(温度、時間)で作っても作るたびに違うものができます。もちろん、工場で作る場合には、その違いを常に一定の範囲に収められるように工夫をする訳ですが、熟練した作業員と慣れない作業員では、収率やできた製品の性能に差がでます。
ときには、失敗して全部廃棄することもあります。
料理でも同じ材料、同じ用具、同じレシピで作っても素人とプロでは違うものができます。最も同じものができたらプロの料理人は失業します。
素人の場合、毎回出来栄えが違うというのは、よく経験することだと思います。
どんなことでも経験を積むことで上達するのですが、合成や料理は地道な経験の積み重ねで徐々にいいものが作れるようになると思います。
それに対してプログラミングでは、何か新しいものを作る場合、それほど地道に経験を積まなくても、過去に作ったものがあれば、コピペしてちょっと改良すればできてしまうことがあります。
私は、「Hello World」さえできれば、プログラミングの8割がたが、できたと言えるのではないかと思っています。