主流编程语言优劣
整理收集自:P57 效果(www.52slimmer.com)
这里,我将比较一下几种主流编程语言:C,C++,Java,.NET,Ruby,JavaScript。
其他主流编程语言,如 Pascal,Delphi,我不太熟悉。希望熟悉的朋友能够补全对这些语言
的评价。
至于 Basic,它的版本差异很大,而且能力不太全面,这里也不做评价。
语言特性对比表
C C++ Java .NET Ruby JavaScript
类型 无类型 强类型 强类型 强类型 强类型 强类型
静态/动态 静态 静态 静态检验类型动态解释执行 动态 动态
支持面向过程 是 是 否 否 否 是
支持基于对象 否 是 否 是 是 是
支持范型 否 否 是 是 否 否
支持模板 否 是 否 否 否 否
支持面向对象 否 是 是 是 否 否
可能你对于我这样的语言评价有些疑问,请首先看我的另一篇文章基于对象和面向对象编程
范式辨析和主流编程语言中的应用 理清相关的概念。我对与面向对象和基于对象的定义和
流行的定义不太一样。
C 语言优劣考
C 语言由来
让我们先回顾一下历史。
电脑使用 CPU 指令,通过寄存器,内存等物件执行计算。最早的编程,是直接使用代表
CPU 指令的机器码编写的。
直接使用二进制的数据编程,当然很容易出错。
于是,人们后来发明了一种方法,就是使用英语单词作为助记符,代表各条CPU 指令。
这就是汇编语言。现在,程序员可以使用英语单词进行编程,然后使用一个解释程序,把汇
编指令翻译成机器语言,再交给计算机执行。
1970 年,UNIX 操作系统的研制者丹尼斯 ·里奇( Dennis Ritchie)和肯 ·汤普逊( Ken
Thompson)为了更好地编写操作系统,发明了 C 语言。
C 语言比汇编语言更先进。它使用了面向过程的编程范式。同时它仍是一门十分接近汇编语
言,面向机器的编程语言。适合编写操作系统和其他直接操纵硬件硬件的编程。