最近看到不少文章,作者去比较两种或者多种语言以试图证明他喜爱的语言更棒。我仔细观察过,通常而言,这些文章会侧重在其他语言(指非作者喜爱的语言)的弱点上;有时候,会举例来证明其他语言的冗长,得出结论说自己的语言代码更少、更简捷。

在我看来,虽然是针对其他语言的“弱点”,但作者写这样的文章也无可厚非,毕竟这样的文章多依事实说话,起码你可以知道一门语言的优点和另外一门语言的弱点,而且会引起其他“语言人”的关注和争论,无论怎样这对你如何选择编程语言都是有借鉴意义的。以下为编程语言的三大定理,会客观地帮助你。

编程语言基本定理

       为了分析编程语言,你首先要知道它们为什么存在。由此引申出我的编程语言基本定理:编程语言的存在是为了让人们明白计算机操作。

       编程语言的出现是为了克服人类认知的局限。现代计算机运行的是二进制指令,我们很难面对着“1与“0去写程序,我们无法号令机器,所以我们发明了编程语言,借以理解和向计算机传达我们所要的操作。

       所以比较任何语言,都应当权衡它们对我们理解计算机操作所带来的方便。

第二定理

       如果程序员对一段代码不解,他会弃用或者重写。

       比你可以多快地写代码更重要的是,你写的代码可以让后来看到的人多快地理解。

       举个例子:parm=10

       既然没有声明变量,我怎么断定这行代码是对是错?编译器又没用,因为这完全可以执行,所以我只能通过后面的代码才能明白这段代码是什么意思。所以你也不难理解,为什么在查找错误代码是你会费那么大劲了,即使你知道出错的部分。

第三定理

       没有任何一门语言适用于所有编程任务。这条定理很清楚,我不多做解释。

所以在选择编程语言时以下事情应当考虑:

l         常规特性:性能、兼容性、操作……

l         团队大小

l         代码多少

l         代码的寿命

l         应用领域

l         工具:选择语言考虑的最后一个问题是工具的支持。一个合适的编辑器对于你编程所起的作用不亚于语言本身的语法