2011年(44)
分类: 系统运维
2011-12-08 16:22:07
技术从来都不是单独存在的。在Nerd的世界里,一种语言是否“强大”未必是他们最终选择的必然原因。
对于电脑而言,所有的—无论机器语言、汇编语言还是高级语言—都没太大差别,它只认识0和1。
想这个,完全没意义。绝大多数程序员不会徒手用机器语言来写程序—这很蠢。他们总是会选择一门高级语言来编写代码。而且,他们总有最心爱的语言,并且非常忠于它。
在Paul Graham的世界里,Lisp是最强大的语言。他年幼时曾是Basic语言的迷恋者。后来,“我只想说,我认为Lisp语言在(编程能力曲线)最上方。”他在《黑客与画家》中写道。这时候,他和合伙人一起编写了“Viaweb”,也就是后来的“Yahoo Store”。
听上去,其他程序员有点蠢。不选择最强大的那种语言就是很蠢的事。但在其他语言Fans的世界里,它一样强大,甚至可能会更强大。这种争论在程序员的世界里从来没有停止过,而且越来越频繁。
单纯从技术的角度而言,他们都对。无论哪种语言—只要不嫌麻烦,不怕运行太慢—都能完成哪怕再复杂的任务。只不过,调试或者抓那些BUG时,总归都是个问题。有时候,一个程序员可能都没办法读懂另外一个程序员的程序。
这听上去,就像那个笑话一样:“我会两种语言—英语和克林贡语。可是为什么找不到女朋友?”很简单,女朋友听不懂克林贡语。
而且,这个世界并不仅仅是程序员的,还是产品经理的,同时还是CEO们的。在程序员们的眼里他们可能长得像呆伯特一样可笑,但他们可能更加清楚什么产品是被需要的。这也是为什么JAVA远远超过Lisp,占据市场份额第一的原因之一。虽然后者思想的先进性无人能够企及,但前者更实用,而且大多数人能够理解。
这和程序员界内部的争论一样,他们和产品经理间的事情也从来没有停止过。
但幸运的是,技术的变化很快。在和产品经理漫长的斗争中,程序员们终究能够战胜后者—他们的选择才是让世界进步的原动力。因此,当James Gosling和他的程序员们厌倦了C和C++时,JAVA才会诞生。
那么,未来,程序员们又会做怎样的选择让JAVA滚下占据多年的第一名呢?