近年厨师这行业越来越吃香了,特别是厨师长越来越拽了,甚至和餐馆老板关系弄僵了带着一群徒弟反炒老板的鱿鱼,但是大家都只看到表层现象,为什么没有思考一下烹饪和编程有什么相似之处吗?
今天我就是要拿厨师来和程序员做一做比较,剖析一下菜谱和厨艺、厨师这些与之对应的关系。
现在我们可以做一个大胆的比喻:
厨师 -> 程序员
食客 -> 用户
菜谱(炒菜细节技巧等) -> 源代码
菜锅油盐酱醋(炒菜工具) -> 编译器
厨艺 -> 设计模式、算法
私密佐料 -> 私有代码、未公开的算法
首先炒菜这东西,就像编程,源代码(菜谱含细节)都公开了,谁都可以来下载代码(按照菜谱)做。
这里的编译器不就是常用的菜锅油盐酱醋工具么?源代码就是怎么组织这些材料的方法。
那些所谓顶尖的厨师之所以经验丰富,除了需要熟练运用已知的常用库(学来的菜谱),再需要分析那些常用的库并吸取它们的优势,总结出自己一套独特编码方式,还要保留自己的私有代码和未公开的算法(机密佐料)。
其实说到这你们想想也没什么特别厉害的,要是把他算法和源代码偷来了,你就只需要一段交叉编译的适应过程就能做出和他一样水平的菜了,他马上就牛逼不起来了。
值得惋惜的是在这个世界上厨师的圈子通常都很小,他们远远不如在互联网上来自世界各地无数的程序员乐于分享自己的代码、算法和经验,共同进步,也正因为如此才让信息技术如此迅猛的发展。
说到这你可能会说在网上不是有很多菜谱网站吗?你也可以照着那些菜谱学呀。
的确,你是可以照着上面的教程做,但是那些网站都是如何运作的靠什么收入你可否知道?提供哪些菜谱资料的又是寥寥无几的几个人并且同一篇还被各个网站争相转载?它们又能否像Github那样让每一个编程爱好者(美食爱好者)贡献自己认为引以为豪的代码(菜谱)呢?
所以厨师行业非常缺少这种开源精神,目前都是各自闭门造车,可能至多也就师徒交流,与人在同一个厨房里共事还要处处设防,你说这样能发展的好吗?