技术开发 频道

12月编程语言排行榜:触摸经典语言Lisp

  Lisp,由编程语言到编程思想

  Lisp诞生于上世纪60年代,由图灵奖得主约翰·麦卡锡创造;全名LISt Processor,可以理解为链表处理语言。在今年历期的编程语言排行榜中,Lisp都有上佳表现,从五月份的榜单开始进入前20名(这个排名一部分来自Lisp本身和它的方言Scheme和Clojure)。

  简单来说,Lisp是一门关于列表操作的编程语言,在Lisp中,无论是数据还是程序流程代码都由列表组成;而每个列表都由一些原子和列表组成;数字就是原子。下面是一段Lisp简单的代码示例:

> (first '(lions tigers bears))  
LIONS  
> (rest '(lions tigers bears))  
(TIGERS BEARS)  

  在编程语言史上,Lisp代表了一种重要的编程思想,在与Lisp同时代同影响力的编程语言还有Fortran,这两门语言从两个不同的方向直接影响着现代高级编程语言进化。Lisp的基础是数学和逻辑,而Fortran代表的是与硬件架构的依附与融合。Lisp在创建之初就定义了现代语言广为流行的几种编程思想,其中2种至今仍然是Lisp所独有的。它们是:

  1、条件结构,即if-then-else

  2、函数也是一种数据类型。在Lisp语言中,函数与整数或字符串一样,也属于数据类型的一种。

  3、递归,Lisp第一次在编程语言中提出递归的概念并实现。

  4、变量的动态类型。在Lisp语言中,所有变量实际上都是指针。

  5、垃圾回收机制。这个无需解释了吧。

  6、程序由表达式(expression)组成。Lisp程序是一些表达式区块的集合,每个表达式都返回一个值。

  7、符号(symbol)类型。符号实际上是一种指针,指向储存在哈希表中的字符串。

  8、代码使用符号和常量组成的树形表示法

  9、无论什么时候,整个语言都是可用的。Lisp并不真正区分读取期、编译期和运行期。你可以在读取期编译或运行代码;也可以在编译期读取或运行代码。

  这些思想被广泛应到到现代编程语言的设计中。如果你熟悉的语言足够多,可以看出这样的趋向,Java、Perl、Python、Ruby,语言越是进化越在思想上向Lisp靠拢。

  经过半个多世纪的发展,Lisp依然表现出旺盛的生命力,这与其两门方言的流行和普及有关,它们是Scheme和Clojure。Scheme具有很好的移植性和嵌入性,由于其解释语言的特性,不同的平台的都有相应的解释器;Scheme另一个特点就是解释器非常小巧,可以作为一门脚本语言内嵌于很多工具之中,例如GNU。Lisp的另一门方言是当今在JVM平台大红大紫的Clojure,带着Lisp的语言特性,具备良好动态函数式编程的Clojure可以编译为字节码在JVM上运行。

  编程语言不仅仅是一种技术,它更是一种思维习惯。不同的语言用不同的方式影响我们的大脑思维,这并不是因为这种语言可以让我们这样思考问题,而是它在强迫你这样思考。如今,Lisp更多作为一种编程思想存在,而基于其特性和思维的方言在各自的领域大为流行和发展。可以说,当今的Lisp已经不只是一种编程语言,更是一种重要的编程思想和思维方式。网上有人撰文称:程序员要学的最后一门语言就是Lisp。

  下面是本期编程语言排行榜的其他排名数据和趋势走向。我们重点关注C#和Scala两名语言。

0
相关文章