Sunnynanbing 2009-08-26
51CTO编辑推荐:Scala编程语言专题
Scala和Clojure:语言特点比较
在看了Pragmatic Bookshelf的《Clojure编程》和《Scala编程》后,有些读者可能想知道究竟哪一门语言会占主导地位,本文就这个问题发表我个人的意见。
Clojure是一门优雅的设计语言,它的创建方式与Lisp类似。但无论我多么频繁的想要使用Lisp来进行一个时间紧迫的项目,我都没有欲望或有耐心这么做。我曾经读过几本关于Lisp的书,也尊敬Lisp的倡导者,如Paul Graham。(换句话说,笔者认为对于Lisp的无奈并非是自己的问题。)我认为我是一个非常优秀的程序员,一旦谈到编程语言,即使我还没有达到那种对某一门语言认识极端深刻的境界,但我自认为对各种语言还是比较精通的。
Scala和Clojure:影响力比较
Clojure的视频教程对开发人员具有极大的煽动性,很有说服力,但还有多少人记得Sean Kelly的Plone视频(51CTO编者注:Plone也是一种语言,这个名叫Sean Kelly的人曾制作过一个宣传Plone的视频)?就是那个视频使得它看起来技术上就是要比其它基于Python的Web框架更优秀,然而结果却相反。我严重怀疑Clojure也是这样,除非Clojure社区能够证明它已经在高负载网站上有过成功的案例。事实上,目前似乎只有航班延误预报网站的FlightCaster使用了部分Clojure代码。相对而言,Scala最成功的例子就是说服了Twitter选择它。
顺便说一句,截至目前,亚马逊上已经有4本关于Scala的书籍,而Clojure只有2本。
在现实中,Scala在企业计算领域优势明显。相比Scala,Clojure可能面临的阻力更多,因为目前它还缺乏世界500强企业的CIO和/或CTO们的信赖。但是对于这些相对较新的JVM托管语言,无论是哪个借着投放第一个广告从而成为金融、医疗和通信领域的主要参与者,则都可能赢得开发人员和IT企业领导等人的信赖。