Scala和Clojure,以及优秀的企业级语言之道

Scala和Clojure,以及优秀的企业级语言之道

 

正如51CTO在之前一篇有关函数式语言的文章中所描述的一般,曾经局限于学术界的很多函数式语言正在因为多核时代的到来而逐渐向商业领域反攻,而本文中将提到的Scala和Clojure正是其中的两个。相对而言,Scala在商业领域的现状要比其他几个函数式语言(如Erlang,Haskell,还有本文中的Clojure等等)要好很多。究竟为什么Scala能得到相对较好的发展,以及什么才是优秀的企业级语言,本文中揭露了一些答案。

51CTO编辑推荐:Scala编程语言专题

Scala和Clojure:语言特点比较

在看了Pragmatic Bookshelf的《Clojure编程》和《Scala编程》后,有些读者可能想知道究竟哪一门语言会占主导地位,本文就这个问题发表我个人的意见。

我在Clojure和Scala上都花了很多时间,就我个人而言,我更倾向于Scala,因为它在JVM托管的并发语言领域绝对处于领先地位。事实上,这两门语言都很成熟,甚至都可能成为VM多核世界新的Perl/Python,但我相信Scala有优势的主要原因是它引人注目的Web属性。作为Java的化身,它与Java密切相关(有关Scala与Java的关系,可参考51CTO之前发布的Scala创始人访谈:谈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企业领导等人的信赖。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值