Closed wangduanduan closed 5 years ago
如果资源都是无限的,那么大可不必去回收。但事实上,很多资源都是有限的,所以必须要做垃圾回收。
我是一个喜欢做菜的程序员,做菜和代码有很多共同之处。
函数就好像做菜的步骤。例如要先准备葱姜蒜,何时放油,何时翻炒,何时放何时的调味料,这些步骤都是有一定的规则去约束的。一道好菜,大部分都是有好的处理过程。
动态语言有个好处,你可以不必刷盘子碗,会有垃圾收集工具来负责洗刷。我的厨房之中,盘子并不多,大概只有五六个,每次吃完饭,我都需要把盘子和碗洗刷干净。这样会提高下次炒菜的速度,而且本次炒菜留下的油渍之类的东西,会影响到下次使用。比如,你的麻婆豆腐中有一块昨天晚上吃剩下的鸡翅膀,这是非常音响食欲的。
以前在我的思维中,变量和值是没什么区别的,我认为他们是同一个东西。但是慢慢的,我发现,变量和值的关系,就像是盘子和菜的关系,杯子和水的关系。
因为你不能直接去用手接菜,你也不能用手去接水。值就像菜和水一样,要处于容器之中,才能被使用。
君子生非异也,善假于物也。《荀子 劝学》
我是一个喜欢做菜的程序员,做菜和代码有很多共同之处。
函数与炒菜
函数就好像做菜的步骤。例如要先准备葱姜蒜,何时放油,何时翻炒,何时放何时的调味料,这些步骤都是有一定的规则去约束的。一道好菜,大部分都是有好的处理过程。
变量与盘子碗
动态语言有个好处,你可以不必刷盘子碗,会有垃圾收集工具来负责洗刷。我的厨房之中,盘子并不多,大概只有五六个,每次吃完饭,我都需要把盘子和碗洗刷干净。这样会提高下次炒菜的速度,而且本次炒菜留下的油渍之类的东西,会影响到下次使用。比如,你的麻婆豆腐中有一块昨天晚上吃剩下的鸡翅膀,这是非常音响食欲的。
值 与盘子中菜,杯子中的水
以前在我的思维中,变量和值是没什么区别的,我认为他们是同一个东西。但是慢慢的,我发现,变量和值的关系,就像是盘子和菜的关系,杯子和水的关系。
因为你不能直接去用手接菜,你也不能用手去接水。值就像菜和水一样,要处于容器之中,才能被使用。