最近读到Joel McCracken的博客《5 Reasons Why You Should Learn Emacs Lisp Today》(五个你应该今天就开始学习Emacs Lisp的原因),里面提到Emacs Lisp(以下简称为Elisp)是Github上最流行的Lisp方言(”Emacs Lisp is still the most popular Lisp language on github”)。
Joel McCracken的这篇博客写于2012年3月末,现在是2013年3月末,已经一年了,但我发现根据Github的算法,Elisp仍然是最流行的Lisp方言。
这有点儿颠覆我原来的想法,自打在Eric Raymond的《How to Become a Hacker》上第一次见到Lisp的名字,我一直以为Common Lisp和Scheme各自占据Lisp家族一半江山,加上近几年出现的Clojure,形成了三足鼎立格局。没想到一向低调的Elisp能有这样的流行度,不过考虑到Github很多Elisp代码是配置文件,这个流行度还是有相当水份的。
2013-07-30 更新 poi519 提到 Racket (Scheme 家族的语言) 在 Github 上流行度排行第 25. 考虑到这一点的话, Scheme 可能比 Clojure 更流行.
1 Emacs lisp
Elisp排名第17
Elisp排名第17,绝大多数repo是Emacs插件和配置文件。
`magnars / .emacs.d’是Emacs Rocks(一系列演示Emacs用法的视频)的作者的Emacs配置。
`nosequitur / smex’是一个用于加强`M-x'(即execute-extended-command)体验的Emacs插件。
`js2-mode’是Steve Yegge写的Emacs插件,用于JavaScript编程,`mooz / js2-mode’在原有的基础上做了加强。
`bbatsov / prelude’是另一个很常用的Emacs配置。
`chrisbarrett / elisp-namespaces’是一个Emacs插件,用于在Elisp中实现命名空间。
2 Clojure
Clojure排名第23
Clojure排名第23。
3 Common Lisp
Common Lisp排名第33
Common Lisp排名第33。
4 Scheme
Scheme排名第34
Scheme排名第34,比较受关注的多是非实用项目,其中还有《The Seasoned Schemer》和《Structure and Interpretation of Computer Programs》等书的习题答案。
5 总排名(前17位)
排名
语言
1
JavaScript
2
Ruby
3
Java
4
Python
5
Shell
6
PHP
7
C
8
C++
9
Perl
10
Objective-C
11
Coffee Script
12
C#
13
VimL
14
ASP
15
Scala
16
Assembly
17
Emacs Lisp
注: 排名第13位的VimL:Vim Script,Vim的脚本语言
6 结尾
整体上,Lisp在Github上的流行度不高。
如果考虑到Elisp相关的repo里有很多是配置文件,使用最多的Lisp方言可能是流行度排在20名以外的Clojure。Lisp的大问题之一就是可靠的库太少,Clojure比较聪明地利用JVM“解决”了这个问题,我觉得是很正确的思路,另外,最近也在尝试用Clojure进行Android开发,觉得是门很有潜力的语言。
Happy Hacking!