wangduanduan / wangduanduan.github.io

Wubba Lubba dub-dub
https://wdd.js.org
27 stars 7 forks source link

我是一个喜欢做菜的程序员,做菜和代码有很多共同之处 #199

Closed wangduanduan closed 5 years ago

wangduanduan commented 5 years ago

如果资源都是无限的,那么大可不必去回收。但事实上,很多资源都是有限的,所以必须要做垃圾回收。

我是一个喜欢做菜的程序员,做菜和代码有很多共同之处。

函数与炒菜

函数就好像做菜的步骤。例如要先准备葱姜蒜,何时放油,何时翻炒,何时放何时的调味料,这些步骤都是有一定的规则去约束的。一道好菜,大部分都是有好的处理过程。

变量与盘子碗

动态语言有个好处,你可以不必刷盘子碗,会有垃圾收集工具来负责洗刷。我的厨房之中,盘子并不多,大概只有五六个,每次吃完饭,我都需要把盘子和碗洗刷干净。这样会提高下次炒菜的速度,而且本次炒菜留下的油渍之类的东西,会影响到下次使用。比如,你的麻婆豆腐中有一块昨天晚上吃剩下的鸡翅膀,这是非常音响食欲的。

值 与盘子中菜,杯子中的水

以前在我的思维中,变量和值是没什么区别的,我认为他们是同一个东西。但是慢慢的,我发现,变量和值的关系,就像是盘子和菜的关系,杯子和水的关系。

因为你不能直接去用手接菜,你也不能用手去接水。值就像菜和水一样,要处于容器之中,才能被使用。

君子生非异也,善假于物也。《荀子 劝学》