虎大博(www.hudabo.com)是一家专业收集各种游戏平台优惠信息的导航网站,可以给您推荐最新的注册送白菜/首存优惠信息,同时还能保障您的资金安全。程序语言的设计类似于其它很多东西的设计。有些微妙的地方只有用过更好的设计的人才能明白。现在我就简要介绍一下我自己的体会。
程序语言与微波炉
有的程序语言就像左边的,现在中国市场上流行的微波炉。布满了花哨的一年都用不到一次的专用菜单,却连最基本的 0-9 数字键都没有。输入个时间都要费脑筋组合一下,按键位置不顺手,不能一次按到位,而且还不能达到需要的精度。
有的程序语言就像右边的,美国市场上常见的微波炉,几十年不变的设计。虽然按键很少,但十个数字键总是少不了,而且采用标准的“电话键盘”排列。十个数字能够组合产生出任意的时间,所以不管是在自己家里,别人家里,公司或者学校,你总是可以按照自己的经验,食物包装或者菜谱上的说明,迅速而精确的输入想要的时间。
可惜的是,在中国你已经买不到这么简单实惠的微波炉了。我们中国人学会了美国的很多糟粕,却没有把这么简单,这么好的设计思想学过去。
中国的微波炉厂商之所以放上这么多的花样,是因为商家抓住了中国人的贪便宜心理。看,一个微波炉可以煮米饭,烤肉串,还可以蒸排骨,那其他的厨具都可以不用买啦!可惜因为所以,科学道理,微波就是微波。加热牛奶剩饭之类的事它做得很好,可是要做美味佳肴它就不行了。煮米饭不如电饭煲,烤肉串不如烧烤架,蒸排骨不如蒸锅,炖东西不如砂锅…… 美国人和稍微有点经验的中国人早就知道这个道理,所以从来不期望微波炉能做超越它所擅长的事情。
虽然美国人在这些硬件上非常精明,可是在软件上还没发展到那种地步,很多时候对一些不可救药的软件技术寄予太多的希望。左边的微波炉就好像某些程序语言,本来当初设计就是给标准没那么高的人用来处理很简单的网页的。可是后来有人忽然想让它成为一个“万能语言”,用来做复杂的,对性能和可靠性都很高的服务器程序甚至机器人控制程序。然后你就发现类似微波炉的问题,因为一些不可逾越的设计差别决定了它是不可能把那些事情做好的,而且对有些应用还有严重的安全隐患。当然你可以缓慢的“改进”这语言,让它慢慢的提高做这些事的水平。可是这种改进的终点也许只是另一种早已存在的语言。而且由于不想破坏已有的代码和特性,所以每一步的改进都异常艰难。这种方式远远不如直接针对需要选择不同的语言,或者设计新的语言来的迅速和有效。
程序语言与减肥
很多人都想减肥,就像很多人都想学会编程。姑且不说一味的减肥好不好,现在只谈一下什么是有效的减肥方法。
我自己也有一段时间很胖,也有减肥的经历,而且非常成功。如果有一天我不小心又变胖了,我有非常科学而可靠的办法减回去。我的方法就是一句话:让每天吃进去的热量比消耗的少一些,但是不至于难受,另外适当运动来增加热量的消耗。很显然嘛,根据热力学定律,每天消耗的能量比摄入的多,多出来的部分只能通过分解你身上的物质(脂肪)来产生。我的减肥方法就像某些程序语言教会我的编程理念,是不随潮流而改变的真理。它让我的程序不管用什么语言写都优美而精悍。
我不是自私的人,我希望大家都健康一点,养眼一点。我已经轻易地告诉了你减肥的终极真理,一分钱都不收,可是你不相信我。你觉得肯定没那么简单,或者你觉得那样太辛苦,自己不可能照办。这就像很多人对编程的希望:要是我不学编程也能编程该多好啊!
很多程序语言就是针对这群人而产生的,它们大部分的工作花在了研究人的心理和做广告上面。它们就像电视广告里铺天盖地的减肥药:不需运动,不用节食,一个星期瘦 20 斤!它们提出各种新的术语,什么减肥茶,片,胶囊,螺旋,燃脂,纤维,宫廷,祖传,秘方,各种生化术语…… 再加上一些 PS 出来的前后效果对比图,你痛快地花不菲的价钱买了这药,然后每天好几次的像做化学实验一样精确的按时按量服用。这时候任何人跟你说这药不灵的话你都不会相信,你觉得这些人都是想跟你争夺异性的目光故意想让你继续胖下去而其实她(他)们自己背地里也吃这药,所以你对此减肥药必胜的信心有增无减。
当然你不会成功。在持续服用好多个月,甚至好几年之后,你按照广告里说的“无效退款”条例要求退款。可是减肥药公司说,是你自己没有按说明书服用,或者你吃药之前肯定比现在还胖很多。你拿不出证据,后悔当初没到公证处开你当时体重的证明。可是你仍然相信,世界上一定会有真正有效的减肥药。你觉得国内的公司喜欢骗人,所以你到了美国,寻找传说中那世界一流的减肥药……
程序语言与棋
有人说好的程序语言就像国际象棋(chess),在了解简单的规则之后,你就可以用它们组合出变幻无穷的棋局。而我认为,好的程序语言应该像国际象棋去掉像“王车易位”(castling)一类复杂古怪的规则。实际上,好的程序语言会更加近似于中国象棋,而不是国际象棋。中国象棋只有一条规则比较特殊—“蹩脚马”,可是它其实很直观,容易理解。其它的规则,比如兵卒过河才能横行,几乎都画在棋盘上了。
可不要小看国际象棋里这少数几个特殊规则,它们需要在好几个非常特殊的条件满足之后才会生效,而且路线诡异。比如,王车易位必须满足:
程序语言与微波炉
有的程序语言就像左边的,现在中国市场上流行的微波炉。布满了花哨的一年都用不到一次的专用菜单,却连最基本的 0-9 数字键都没有。输入个时间都要费脑筋组合一下,按键位置不顺手,不能一次按到位,而且还不能达到需要的精度。
有的程序语言就像右边的,美国市场上常见的微波炉,几十年不变的设计。虽然按键很少,但十个数字键总是少不了,而且采用标准的“电话键盘”排列。十个数字能够组合产生出任意的时间,所以不管是在自己家里,别人家里,公司或者学校,你总是可以按照自己的经验,食物包装或者菜谱上的说明,迅速而精确的输入想要的时间。
可惜的是,在中国你已经买不到这么简单实惠的微波炉了。我们中国人学会了美国的很多糟粕,却没有把这么简单,这么好的设计思想学过去。
中国的微波炉厂商之所以放上这么多的花样,是因为商家抓住了中国人的贪便宜心理。看,一个微波炉可以煮米饭,烤肉串,还可以蒸排骨,那其他的厨具都可以不用买啦!可惜因为所以,科学道理,微波就是微波。加热牛奶剩饭之类的事它做得很好,可是要做美味佳肴它就不行了。煮米饭不如电饭煲,烤肉串不如烧烤架,蒸排骨不如蒸锅,炖东西不如砂锅…… 美国人和稍微有点经验的中国人早就知道这个道理,所以从来不期望微波炉能做超越它所擅长的事情。
虽然美国人在这些硬件上非常精明,可是在软件上还没发展到那种地步,很多时候对一些不可救药的软件技术寄予太多的希望。左边的微波炉就好像某些程序语言,本来当初设计就是给标准没那么高的人用来处理很简单的网页的。可是后来有人忽然想让它成为一个“万能语言”,用来做复杂的,对性能和可靠性都很高的服务器程序甚至机器人控制程序。然后你就发现类似微波炉的问题,因为一些不可逾越的设计差别决定了它是不可能把那些事情做好的,而且对有些应用还有严重的安全隐患。当然你可以缓慢的“改进”这语言,让它慢慢的提高做这些事的水平。可是这种改进的终点也许只是另一种早已存在的语言。而且由于不想破坏已有的代码和特性,所以每一步的改进都异常艰难。这种方式远远不如直接针对需要选择不同的语言,或者设计新的语言来的迅速和有效。
程序语言与减肥
很多人都想减肥,就像很多人都想学会编程。姑且不说一味的减肥好不好,现在只谈一下什么是有效的减肥方法。
我自己也有一段时间很胖,也有减肥的经历,而且非常成功。如果有一天我不小心又变胖了,我有非常科学而可靠的办法减回去。我的方法就是一句话:让每天吃进去的热量比消耗的少一些,但是不至于难受,另外适当运动来增加热量的消耗。很显然嘛,根据热力学定律,每天消耗的能量比摄入的多,多出来的部分只能通过分解你身上的物质(脂肪)来产生。我的减肥方法就像某些程序语言教会我的编程理念,是不随潮流而改变的真理。它让我的程序不管用什么语言写都优美而精悍。
我不是自私的人,我希望大家都健康一点,养眼一点。我已经轻易地告诉了你减肥的终极真理,一分钱都不收,可是你不相信我。你觉得肯定没那么简单,或者你觉得那样太辛苦,自己不可能照办。这就像很多人对编程的希望:要是我不学编程也能编程该多好啊!
很多程序语言就是针对这群人而产生的,它们大部分的工作花在了研究人的心理和做广告上面。它们就像电视广告里铺天盖地的减肥药:不需运动,不用节食,一个星期瘦 20 斤!它们提出各种新的术语,什么减肥茶,片,胶囊,螺旋,燃脂,纤维,宫廷,祖传,秘方,各种生化术语…… 再加上一些 PS 出来的前后效果对比图,你痛快地花不菲的价钱买了这药,然后每天好几次的像做化学实验一样精确的按时按量服用。这时候任何人跟你说这药不灵的话你都不会相信,你觉得这些人都是想跟你争夺异性的目光故意想让你继续胖下去而其实她(他)们自己背地里也吃这药,所以你对此减肥药必胜的信心有增无减。
当然你不会成功。在持续服用好多个月,甚至好几年之后,你按照广告里说的“无效退款”条例要求退款。可是减肥药公司说,是你自己没有按说明书服用,或者你吃药之前肯定比现在还胖很多。你拿不出证据,后悔当初没到公证处开你当时体重的证明。可是你仍然相信,世界上一定会有真正有效的减肥药。你觉得国内的公司喜欢骗人,所以你到了美国,寻找传说中那世界一流的减肥药……
程序语言与棋
有人说好的程序语言就像国际象棋(chess),在了解简单的规则之后,你就可以用它们组合出变幻无穷的棋局。而我认为,好的程序语言应该像国际象棋去掉像“王车易位”(castling)一类复杂古怪的规则。实际上,好的程序语言会更加近似于中国象棋,而不是国际象棋。中国象棋只有一条规则比较特殊—“蹩脚马”,可是它其实很直观,容易理解。其它的规则,比如兵卒过河才能横行,几乎都画在棋盘上了。
可不要小看国际象棋里这少数几个特殊规则,它们需要在好几个非常特殊的条件满足之后才会生效,而且路线诡异。比如,王车易位必须满足:
- 王和跟他换位的车都没有移动过