Ruby一直到今天仍然是最重要的Ruby语言的实现,随着项目YARV合并到Ruby,使得Ruby的性能得到一次比较大的飞跃,这个合并的结果就是已经发行的开发版本Ruby 1.9。当JRuby语言的实现得到进一步完善时,与Ruby之间的兼容性问题将变得越来越明显,尽管双方之间在沟通和协调,但是两者实现之间的不兼容性是始终存在的,比如线程问题,哪怕即使是一个小小的命令也存在着差异。而且从根本上说,所谓兼容也只是单向的,即JRuby兼容CRuby,反之则不然。这种情况本身就是一种相互之间的脱离。不兼容性给企业和开发人员带来了巨大的麻烦和阻碍。
随着以非兼容性的、Ruby语言风格的语言出现,也会冲击和影响着Ruby语言的发展。如Sapphire语言,该语言声称,它具有Ruby语言语法风格并且更为简单。它的最重要的设计思想是一致的、明确的和深度面向对象的。这门新兴的似Ruby语言,尽管目前该语言本身的影响力很小,但它的出现至少是给了我们一种新的思维和启示。
以Ruby语言实现的特定领域语言DSL(Domain Specific Languages),是Ruby语言的一个最重要的特性。它使得Ruby语言的应用更加广泛而深入,在Rails框架中涌现出大量的DSL,这也是 Rails成功的原因之一。模板系统Malline能够使得代码变得更为容易维护和管理,而且在代码开发中可以只需要会Ruby语言就可以开发网络的页面,而不需要理会其它语言如HTML。还有基于桌面布局语言LEL能够使得桌面软件开发变得更加简单和方便。
总而言之,Ruby语言的实现多元化是Ruby语言的发展的必然,我们只有打破框框才能寻找到Ruby语言的最佳实现,只有最佳才能带来最大的回报,而Ruby语言的目前的发展方向正是沿着这条道路在前进。
Ruby语言的虚拟化
这里所谈及的虚拟机是特指程序虚拟机,即程序的虚拟运行环境,或者更确切地说,是在编译器和运行层面的语言虚拟机。
前面已经提到,一门计算机语言要能够为企业所采用,其性能和速度是重要的因素。虚拟机就是解决这个问题的重要而实质的方法之一。
当前虚拟机正在从单一语言虚拟机向多语言虚拟机方向发展。例如,Java语言虚拟机已经从Java语言变成为多种语言共享的虚拟机。我们知道,JRuby语言是可以运行在该虚拟机上,另外Jython也在实现利用该虚拟机。又如Parrot是一款最成熟的面向动态语言的虚拟机。尽管该虚拟机是为Perl语言所设计的,但是它也是可以成为Ruby语言的虚拟机。尽管这是一种发展趋势,但是作者认为,单一语言虚拟机的性能应该会更好。据悉,Ruby 2.0可能会采用自己的单一语言虚拟机Rite。
尽管至今CRuby还没有出现自己的虚拟机,但是Ruby语言虚拟机的商业需求是明显的。这也是JRuby语言实现的目的之一。除了JRuby有自己的虚拟机外,Ruby语言的虚拟机也在不断的出现,比如基于Smalltalk-80语言的Ruby语言虚拟机Shotgun。从该网站的主页上可以看出,Shotgun的目标是十分明确的,就是为商业服务。它能够支持运行编译代码,这样就可以支持代码的加密工作,以有效地保护软件的知识产权问题,这是商业应用中的头等大事。此外它的解释器内核更简单和更容易维护,既节省人力、物力又节省时间。尤其需要值得注意的是,Ruby语言虚拟机提供性能不是以硬件为代价的,而是以软件本身的实现为前提的,这种实现的潜力还在不断增加。
随着Ruby语言虚拟机的不断创新,可以肯定Ruby语言及其框架的应用软件将会更加丰富。在其它Ruby语言虚拟机还尚未出现之前,JRuby语言将会借助于Java语言的力量和当前越来越多的多核电脑性能成为一种不可忽视的选择。
几点启示
之所以Ruby语言和Rails框架能够在众多的语言和框架脱颖而出,是因为它们不是一种维持性的创新技术,而是一种破坏性的创新技术。我们知道,有很多框架都在模仿Rails框架,但是能否像Rails那样取得成功呢?事实上,真正的成功源自于与众不同的彻底和独特创新。
从上面的事实和分析,可以看出,无论是Ruby语言还是Rails框架已经开始跨越一个重要的商业断层,正在向成熟挺进和向企业迈进。
从Java语言的标准竞争经历,可以想象一旦Ruby语言进一步走向商业化,将会是怎么样的未来。对此,我们是否做好了准备?我们是否也能够拥有自己的Ruby语言的实现?如使用D语言,是否也能够在未来的这门语言中有一席发言之地呢?
作者简介
姜伟,上海应用技术学院经济与管理学院信息管理系,教师,副教授,系统工程硕士研究生,研究方向:信息管理理论与方法、系统分析与设计、数据库、计算机算法与WEB应用。
原文链接:http://www.infoq.com/cn/articles/trend-revelation-of-ruby
【相关文章】
| 共2页: 上一页 [1] 2 | ||
|
|
||||
| · 国际文档格式标准开战 · 微软出价446亿美元收购.. · 技术人求职简历完备手册 · 北漂技术人90天求职纪实 · 勇闯IT培训黑色围城 · 隐私保护技术探讨 · ASP.NET 2.0基础开发指.. · WCF开发基础 |
· 路由器设置与口令恢复 · 华为员工自杀频频拷问.. · VC++基础开发专题 · NAC安全访问控制 · 2008年春季英特尔信息.. · Visual Studio 2005开.. · Linux——从菜鸟到高手 · 如何优化IT 控制能耗 |
|||
|
||||
| · iSCSI应用与发展 · SQL Server 2008/2005.. · SOA 面向服务架构 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · 中间件应用技术专题 · SQL Server入门到精通 |
· 病毒查杀专题 · 国际文档格式标准开战 · Linux防火墙 · 路由器设置与口令恢复 · 打造安全服务器 · SOA 面向服务架构 · PHP开发应用手册 · ADSL应用面面俱到 |
|||
|
||||
| · iSCSI应用与发展 · 中间件应用技术专题 · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · iSCSI应用与发展 · RAID——磁盘阵列基础 · 身份认证技术 |
· 病毒查杀专题 · 清除流氓软件——51CTO.. · 路由器设置与口令恢复 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · ADSL应用面面俱到 · ADSL应用面面俱到 · 反垃圾邮件技术应用 |
|||