在流行的编程语言中,ruby是一个比较另类的存在,这是因为大多数编程语言的首要着眼点在于为解决特定的问题领域而设计语言,而ruby的首要着眼点在于"人性化",让程序员充分享受编程的乐趣。我因为组织国内的Ruby会议的缘故,曾经两次邀请松本行弘来中国,他本人是一个性格平和,对生活充满热爱的人,在演讲中他也一再传递"code for fun"的宗旨:即编程语言不应该是冷冰冰的给机器阅读和执行的指令,而应该是让程序员编程的工作过程变成一种充满乐趣和享受的过程。而且松本先生发明ruby语言也是因为对他创造一种人性化的面向对象脚本语言的热爱。
程序员社区经常拿另外一个主流的面向对象脚本语言Python和ruby来做对比。从全球范围来看,Python的社区更大,应用更广泛,但ruby的语法相对Python来说更强大和宽松,给程序员发挥的自由度更大,可以基于ruby创建各个领域的DSL,比方说ruby on rails就是一个基于ruby的web快速开发领域的DSL。
总之,ruby语言这种"人性化"和给程序员很大编程自由度的气质也奠定了整个ruby社区的气质:热爱生活的程序员,追求编程的自由度,带点非主流的极客色彩。也正因为如此,ruby和基于ruby的rails得到了硅谷许许多多创业公司的青睐,有名者如Twitter,Groupon,Hulu,github都是用Rails的公司。而这种气质也很鲜明的体现在Rails框架的创建者David Heinemeier Hansson和他所在的37signals公司身上。37signals的20多位员工遍布全球,每周只上班四天,David Heinemeier Hansson本人同时还是一个保时捷车队的职业赛车手。
当然,ruby并非只在非主流程序员社区中流行,随着全球IT产业向云计算时代的发展,ruby也发挥着越来越大的作用。著名的SAAS厂商salesforce在2010年底以2.1亿美元收购了PAAS厂商Heroku,并且在2011年7月聘请松本行弘担任Heroku首席架构师,开拓ruby在云计算领域的应用。Heroku本身就是一个完全用ruby架构的PAAS平台,同样支持ruby的PAAS厂商还有EngineYard,以及VMware等,随着这些云计算厂商的努力,ruby必然在未来得到越来越广泛的应用。
回到本书,我之前阅读了本书的部分章节,这本书实际上是松本行弘从一个编程语言设计者的角度去看待各种各样的流行编程语言,他们有哪些特点,以及Ruby编程语言是如何取舍的。ruby编程语言的设计本身大量的参考了一个更古老而著名的面向对象编程的开山之作Smalltalk,以及向函数式编程语言鼻祖LISP偷师了不少好东西。程序员社区有个著名的说法:任何现代编程语言都脱胎于Smalltalk和LISP,都可以从这两个编程语言身上找到似曾相识的特性,自Smalltalk和LISP诞生以来,编程语言领域已经大势已定了。因此集这两种编程语言很多特点于一身的ruby语言很值得编程爱好者去学习,而看看ruby设计师是怎么设计ruby语言,则可以让你高屋建瓴的理解一些主流的编程语言。
已有 5 人发表留言,猛击->>这里<<-参与讨论
ITeye推荐