Ruby 的未来

我并不是一个非常守旧的Ruby爱好者。我从2005年开始接触Ruby,那时跟我一起的还有很多极限编程(XP)的同事,我们都加入了Rails 大潮。传说很多Ruby爱好者都是在那个时代从敏捷/极限编程社区转来的。我们都讨厌在企业级Java里为了完成一个东西需要成堆的代码和XML配置文件 的标准做法。

那是一段醉人的日子。元素数据编程,动态类型,Ruby和Rails组合而带来的约定优于配置(Convention Over Configuration)的模式,给了我们更加快速的开发和更简洁的代码。已经内置到语言中的测试驱动原则、框架和整个社区提供给大家了很多写的很好 的,经过验证过的代码。行为驱动开发(BDD)——在Java中垂死挣扎(有谁在用JBehave?)——在Ruby中出现并兴旺发展:Rspec是最早 的成功案例,接着是Cucumber。如今,这最好的Ruby展示厅同样也是最好的Agile/XP展示厅,其它的语言望尘莫及。

转眼来到了2012年,革命的年代已经结束。Ruby开发已经成熟,Ruby成为了编程界的主流语言,至少主流在向Ruby漂移。虽然在传统企业 里,如银行业,Ruby的渗透并不是很成功,但新兴的Ruby企业,如LivingSocial和Groupon,如今已发展成大企业。而使Ruby成为 主流的标志性时刻是2010年11月Salesforce.com收购Heroku,这一地位在七月进一步被加强——Ruby的创始人Matz (Yukihiro Matsumoto)被 Heroku 聘为首席架构师。

更有趣的是,Rails已经成为Web创业公司的标准技术。而这种成功并没有对Agile/XP社区造成太大的影响,这个社区仍是一个关注编程工艺 的社区,喜欢尝试各种语言,如Clojure和Erlang,这是一个由草根阶层推动的社区,伴随着世界各地各种各样的研讨会。

大部分当年做Ruby开发的今天仍然是Rails爱好者,但我们却进入了一个反对Rails的时期。简单死板的Model-View-Controller(MVC)架构在2005年是非常有吸引力,而现在它却因为缺乏合适的独立分层结构而受到批评。Yehuda Katz——推动Rails 3的中坚力量——在Twitter上讽刺说:



Rails如今的问题是:1/2的人担心它会变成Java,而另一半人正在努力把它变成java

我希望,也相信,Ruby on Rails社区会越来越成熟,能够充分的反省,在Web开发中引入正确的架构分层,而不需要再发明一个类似企业级Java Bean这样的东西。随着即将到来的苏格兰Ruby大会上Rails六边会谈,我们的信心更加增强;还有Avdi Grimm的Objects on Rails 和Steven
Baker的Solid Rails都在推动改革的发展。

  • YARV现在是当前Ruby 1.9.x的官方的解释器,相当于Matz的最初的Ruby解释器,它在性能上有了巨大的提升。
  • JRuby是当前最成熟,最广泛被用来替代YARV的Ruby解释器,开发团 队一直在持续不断的更新它。它把所有Java虚拟机的优势都带给了Ruby,即时编译,访问丰富的Java库,跟老的Java程序进行交互,真正的、本地 的多线程。这最后一点更是重要,它让Ruby有能力来利用多核服务器进行大规模服务:使用多线程来更好的利用内存,而不是生成新的进程。
  • Iron Ruby,.Net框架上的Ruby实现,虽然并没有受到微软官方的直接支持,但仍然不断的在进步。
  • Rubinius是一个用Ruby写成的Ruby(算是吧)。尽管早期有不少挫折,经过重大的重写,Rubinius现在处于稳定的改进中。它现在正朝着实现完全多线程的版本2前进,这一版本中将去除Global
    Interpreter Lock。
  • Maglev是一个基于VMWare的 GemStone/S 3.1 虚拟机上的Ruby实现,它允许分布式的和持久性的Ruby对象。社区里的人对它的认识来自于它早期的曝光:在2008年RailsConf大会上的首秀让它光芒四射,但随后几年却变得悄无声息。
  • MacRuby,RubyCocoa的继任者,是一个1.9版的Ruby的实现,但却是基于OS X内核技术的。对于 Ruby on OS X 来说最大的问题相同的代码不能运行在 iOS (iPhone / iPad)上,这就是为什么最近的Ruby
    in Motion
    诞生的原因,它是基于MacRuby的,但完全兼容iOS App Store,这是一种让人兴奋的技术。
  • MRuby有两原因使我们需要在这里提它一下:他是Matz自己的项目,它是由日本政府资助的。它是一个Ruby的轻量级实现,设计用于和Lua语言相似的领域。日本人很可能会是使Ruby嵌入到电子设备成为可能并兴起的重要力量。

Ruby的首次出现距今已有17年,Rails的诞生已有8年,Ruby社区仍然是一个令人兴奋的地方。看着当前的各种活动,各种变革,各种成果,这是我以前从未见过的繁荣景象。

时间: 2025-01-21 07:19:31

Ruby 的未来的相关文章

盘点2011年以云计算为目标的收购案例

2011年即将过去,这一年很多IT巨头汇聚能量加快收购步伐,这一年更多IT掌门人宣布进军云计算领域,这一年有更多云计算案例在国内落地生根. 正如以往的战略一样,云计算的到来,促使IT巨头更加明显地看到自己在产品线以及解决方案上的空缺,加紧了收购中小型IT企业的步伐.2011年,围绕云计算为核心的收购案例也是特别得多.这里,编者带着您一起回顾一下. Salesforc.com收购云商Heroku 2011年1月4日,Salesforce.com宣布完成收购私营企业Heroku.这是一家主要负责制作

为什么未来是全栈工程师的世界?

技术在过去的几十年里进步很快,也将在未来的几十年里发展得更快.今天技术的门槛下降得越来越快,原本需要一个团队做出来的Web应用,现在只需要一两个人就可以了. 同时,由于公司组织结构的变迁,也决定了赋予每个人的职责将会越来越多.尽管我们看到工厂化生产带来的优势,但是我们也看到了精益思想带来的变革.正是这种变革让越来越多的专家走向全栈,让组织内部有更好的交流. 你还将看到专家和全栈的两种不同的学习模式,以及全栈工程师的未来. 技术的革新史 从开始的CGI到MVC模式,再到前后端分离的架构模式,都在不

软件接口的历史和未来

软件的未来其实在很大程度上要指望软件接口的前景如何.我们知道,计算机世界里的接口这两个字具有两种众所周知的含义:其一是指软件本身的狭义"接口",比如各种软件开发API等.其二则指的是人与软件之间的交互界面.我们把这种人-软件之间的接口称作"用户界面",也就是"UI". 这里要讨论的前一种定义: 软件不同部分之间的交互接口.通常就是所谓的API--应用程序编程接口,其表现的形式是源代码.API的发明和发展大大促进了计算机产业的进步,同时API几乎决

在Ruby中实现stream

Ruby语言在编程界可以说是一个后起之秀,出现的目的就是帮助编程人员更简便灵活的去编写代码程序,完成自己的功能需求.比如在Ruby实现stream方面. 按照sicp,首要的是两个函数:delay和force: def mem_proc(exp) alread_run=false result=false lambda{ if !alread_run result=exp.call alread_run=true result else result end } end def force(de

Python和Ruby两大语言全方位对比

最近在考虑学习一门后端语言,在Ruby和Python直接犹豫,然后自己做了一些对比,希望能帮到有同样问题的你. 一.异同对比选择 1.Python和ruby的相同点: 都强调语法简单,都具有更一般的表达方式.python是缩进,ruby是类basic的表达.都大量减少了符号. 都是动态数据类型.都是有丰富的数据结构. 都具有C语言扩展能力,都具有可移植性,比perl的可移植性更好.也都可以作为嵌入语言. 都是面向对象的语言,都可以作为大项目的开发工具. 都有丰富的库支持. 也有最宽松的版权许可,

RubyMotion之父:Ruby是目前替代Objective-C的最佳iOS开发语言

发表于2012-08-16 00:52| 21716次阅读| 来源CSDN| 24 条评论| 作者杨鹏飞 RubyMotionRubyObjective-CiOSJava 摘要:曾几何时,PC端有那么多种语言可以选择,而移动平台却没得可选?这不科学!也不合理.Laurent Sansonetti,这位在苹果公司工作了7年.负责iLife并且是核心OSX/iOS技术的开发者,首先开发了Mac平台下的Ruby实现:MacRuby,在此基础上又开发了iOS平台下的Ruby实现 这不科学 根据TIOBE

《面向对象设计实践指南:Ruby语言描述》目录—导读

内容提要 面向对象设计实践指南:Ruby语言描述 本书是对"如何编写更易维护.更易管理.更讨人喜爱且功能更为强大的Ruby应用程序"的全面指导.为帮助读者解决Ruby代码难以更改和不易扩展的问题,作者在书中运用了多种功能强大和实用的面向对象设计技术,并借助大量简单实用的Ruby示例对这些技术进行全面解释. 全书共9章,主要包含的内容有:如何使用面向对象编程技术编写更易于维护和扩展的Ruby代码,单个Ruby类所应包含的内容,避免将应该保持独立的对象交织在一起,在多个对象之间定义灵活的接

嵌入式操作系统风云录:历史演进与物联网未来.

嵌入式操作系统风云录: 历史演进与物联网未来 何小庆 著 图书在版编目(CIP)数据 嵌入式操作系统风云录:历史演进与物联网未来 / 何小庆著. -北京:机械工业出版社,2016.10 ISBN 978-7-111-55085-3 Ⅰ. 嵌-   Ⅱ. 何-   Ⅲ. 实时操作系统   Ⅳ. TP316.2 中国版本图书馆CIP数据核字(2016)第248216号 本书全面回顾了嵌入式操作系统的演进历史,主流的嵌入式操作系统的技术特点.成长历程以及背后的商业故事,展望了嵌入式操作系统未来的技术路

高盛最新调查:Python超过汉语成为未来最重要技能,你准备学哪种编程语言?

本文讲的是高盛最新调查:Python超过汉语成为未来最重要技能,你准备学哪种编程语言,如果让你选择一种语言,你觉得Python和中文,哪个对于未来更重要?最近,一直以高素质实习生项目闻名的高盛集团发布了一份<2017高盛调查报告>,针对全球2500名在高盛的夏季实习生调查, 当问到你认为"哪个语言在未来会更重要"时,在被调查的全球2500名80.90后优秀年轻人中,72%选了Python. Python所代表的数据科学分析能力和编程能力正成为年轻人乃至整个世界最看好的热门或