事情的起因是Reia的作者说Erlang有严重的问题。(原文需要)
于是,引发了Erlang邮件列表里的大讨论。
Erlang社区还是比较平和和中肯的。
那篇blog里面提到的 几点是误会,几点是苛求,几点是确实存在的问题,都讨论的很清楚。感觉这个社区很有希望。
其实,大凡人造的东西,都会有缺陷。Erlang也不例外。新科 Clojure 也不例外。
关键还看,这个工具是用来做啥的。对于Erlang,它是用于高可靠高并发服务器环境的。其所做的大部分取舍是合理的。
虽然,在大部分时候瑞士军刀型的工具可以提供一个中庸的解决方案。但是,用合适的工具做适合的工作,是比高效高质量的解决方案。
人们总是纠结于完美的万能工具做所有的事情,这其实是 一种帝王思想,不友好,也不符合实际情况。
在自然界,也没有什么生物是可以适应所有的环境或者战胜所有其他的生物的。
过于适应特定环境的生物和过于泛泛的适应大部分环境的生物都不能很好的生存。
比如已经灭绝的渡渡鸟就是一个过于适应特定环境而不能适应环境变化灭绝的例子。
反例不是那么明显,却同样广泛存在——没有一种生物可以适应所有的环境,就是最好的例子。
还可以以人类病毒为例,如果由一种病毒有流感病毒的传染力,乙肝病毒的体外存活能力,埃博拉病毒的致死率,狂犬病毒的潜伏期,那么一旦出现这种“要你命3000”的病毒,人类就会灭绝。
为何还没有出现呢?两个原因:
一个次要的原因是,这样的病毒的RNA遗传物质会太大,以至于,不再稳定和很难复制传播。
最最主要的原因是,这种东西还没有进化出来。否则就没有这篇Blog了。
捏哈哈哈~
计算机语言也是这样,目前,还没有一种语言可以适用所有的用途。在理论上讲,这种语言很难发明,一旦发明,其他语言就灭绝了。既然目前和不远的将来,这东东不太会出现,大家也就不要纠结于语言的完美了。
学/用合适的工具做适合的事情,开放的看待问题,相信没有银弹,但是相信每个领域都有尖端的工具,是最最务实高效的工作方式。