名扬数据:关于Ruby语言的发展趋势和启示

同时也希望更多对Rubi社区感兴趣的开发者对当前Rubi语言发展有更进一步的解。本文很多想法都是基于笔者对Rubi语言发展的理解和认识而提出的Rubi语言可以说当前是一个春秋战国时期,文章着力于阐述Rubi语言商业化发展的可能性。作者表达了国内开发者应该如何跟进这一次Rubi语言发展机遇的想法。

案例一:ClaytonM.Christensen提出的破坏性技术(disrupttechnolog基本理论源自其思考1988年数字设备公司倒闭时的灵感。为什么一家在各方面都很出色的公司会突然间遭到惨败呢?商业媒体纷纷指责该公司管理不善。但是Christensen注意到当时同时倒闭的还有其它几家小型机公司。既然它破产并非事先商量好的那么就一定有另外的因素在起着作用。结论是小型机行业的衰败并不仅仅是由于个人电脑的呈现,数字设备公司(DigitEquipment这颗明星陨落时。更重要的PC机代表着小型机公司无法响应的具有破坏性的技术。这个激进的卤化银的巨人发明了世界上第一台数码照相机,案例二:柯达。时值十几年后的2006年这个巨人才垂死地宣布通过换标来标明自己将坚定地执行其向数码领域全面转型的战略,这个时候美国的照相机市场上的数码照相机销售数量已经首次逾越胶片照相机了柯达的技术创新怎么啦?胶片领域的继续不时的技术领先和创新为何不灵光了HBS教授ClaytonM.ChristensenTheInnovatsDilemma管理理论协助我看清了技术创新这个层面的东西(不能“只缘身在此山中”维持性技术(sustaintechnolog破坏性技术(disrupttechnolog出现以后终将成为明日黄花。

破坏性技术现在已经成为完全创新技术的代名词了固步自封、满足现状是不可能获得发展的Rubi语言的商业化和技术发展中也是如此。上述两篇案例都谈到破坏性技术(disrupttechnolog事实上。Rubi语言的Rail框架版本2.0发布,不久前。使得Rubi语言的影响力越来越广泛而又深入。那么,谁在使用Rubi语言的网络应用框架呢?调查结果标明,Rubi语言的Rail框架不只得到国际性大公司,如Siemen和IBM等的采用,而且也已为许多著名的大流量应用网站所采用,如综合性社会网站spokeo和人名搜索网站spock要知道也就是几年前,Rubi语言还是那么的默默无闻、鲜为人知。Rail框架的胜利使Rubi语言成为主流语言起到重要的推动作用。

同时也吸引了许多企业和开发人员投入到这个新的Rubi语言的框架开发之中,Rail框架的胜利。其结果是新的框架如雨后春笋般的呈现,如Merb和桌面软件框架Swing尤其是框架Merb更加是引人注目。该框架不只吸取了Rail框架的优点,同时又充分地发挥了自己的核心更小、与第三方框架的集成更加灵活等等的优势,也难怪有人将其说成是一个Rail框架的简体版本。从网络新闻报道上看,虽然Merb很多方面与Rail有相似之处,但是框架Merb商业化倾向比Rail框架更为明显。作为企业商业使用的软件开发框架,Rubi语言的商业化应用另一个重要举措是与NetBean6.0结合。知道。最重要的一点是要有一个与其相适应的集成开发环境。而在这个方面,NetBean6.0可谓是近年来发展最为迅速的一个工具了今年它又获得了软件业的最高荣誉:Jolt最佳工具奖。NetBean6.0不只可以针对以C语言的实现(下面简称为Rubi或者CRubi开发工具,也可以针对以Java语言实现的JRubi开发软件,更重要的还包括了Rail框架软件的开发工具。当然,必需看到其它类似的企业级的集成开发工具也在积极跟进,如AptanaStudio和EclipsDLTK动态语言工具,这是Rubi语言发展的一个重要的动力。

要使得一门计算机语言真正能够走向商业化道路,从技术角度分析。仅仅只有开发工具是不够的最重要的该语言实现的运行环境性能和速度。这一方面,JRubi语言明显走在其它语言的前头,如在文章“通用Rubi多虚拟机API研究开始”中就已经开始探讨了如何解决在Rubi上同时运行一个以上应用时需要多个解释器的问题,文章讨论的目的如何防止造成内存的浪费。当然,这仅仅是众多十分深入研究的一个实例。跟其它实现不同的JRubi目前唯一能够在虚拟机上运行的Rubi语言。Rubi语言的虚拟机对于程序的性能和速度的提高起重要的作用。这里暂且不谈虚拟机的利用,但就目前广泛采用的Rubi1.8.6版本而言,基本上就能够满足大型应用网站的需求了一旦出现性能好、速度快的虚拟机在市场上正式发行,那对于Rubi语言的来讲就会是如虎添翼。Rubi语言的商业价值是显而易见的

Rubi语言一词的概念也在发生着变化。2000年或者再晚一些,随着Rubi语言的实现越来越多。Rubi语言一般都是指以C语言实现的官方版本Rubi但是现在Rubi语言正在变成为一个通用的概念,或者说是该语言的技术规范;三是以Rubi语言为基础的特定领域语言的实现。可以从三个方面来分析Rubi语言的实现。一是面向CRubi兼容性的实现;二是以Rubi语言风格的不兼容的实现。

下面我列举了一些重要的面向CRubi兼容性的Rubi语言实现:

以C语言实现的Rubi语言 =Rubi或者 CRubi非正式名称);以Java语言实现的Rubi语言 =JRubi由Sun公司出资所赞助);以基于Smalltalk-80架构采用C语言实现的Rubi语言 =Rubiniu由EnginYard公司出资所赞助的该公司聚集大量Rubi语言高手);以Objective-C语言实现的Rubi语言 =MacRubi由Apple公司出资所赞助的,除了官方版本Rubi之外,其它实现都是由大公司出资所赞助的大公司为什么要出资赞助这些开源的项目呢?其中的玄妙不得而知。但是可以肯定的对Rubi语言的发展前景的认可。

应当说是Rubi语言发展过程中百花齐放的结果,Rubi语言的实现多元化。这是好事。但由此可能带来的问题是Rubi语言的实现之间的兼容问题,就如Linux发展过程。随着项目YA RV合并到Rubi使得Rubi性能得到一次比较大的飞跃,Rubi一直到今天仍然是最重要的Rubi语言的实现。这个合并的结果就是已经发行的开发版本Rubi1.9当JRubi语言的实现得到进一步完善时,与Rubi之间的兼容性问题将变得越来越明显,尽管双方之间在沟通和协调,但是两者实现之间的不兼容性是始终存在比如线程问题,哪怕即使是一个小小的命令也存在着差异。而且从根本上说,所谓兼容也只是单向的即JRubi兼容CRubi反之则不然。这种情况自身就是一种相互之间的脱离。不兼容性给企业和开发人员带来了巨大的麻烦和阻碍。

也会冲击和影响着Rubi语言的发展。如Sapphir语言,随着以非兼容性的Rubi语言风格的语言呈现。该语言声称,具有Rubi语言语法风格并且更为简单。最重要的设计思想是一致的明确的和深度面向对象的这门新兴的似Rubi语言,尽管目前该语言本身的影响力很小,但它出现至少是给了一种新的思维和启示。

Rail框架中涌现出大量的DSL这也是Rail胜利的原因之一。模板系统Mallin能够使得代码变得更为容易维护和管理,以Rubi语言实现的特定领域语言DSLDomainSpecifLanguagRubi语言的一个最重要的特性。使得Rubi语言的应用更加广泛而深入。而且在代码开发中可以只需要会Rubi语言就可以开发网络的页面,而不需要理会其它语言如HTML还有基于桌面布局语言LEL能够使得桌面软件开发变得更加简单和方便。Rubi语言的实现多元化是Rubi语言的发展的必定,总而言之。只有打破框框才干寻找到Rubi语言的最佳实现,只有最佳才干带来最大的回报,而Rubi语言的目前的发展方向正是沿着这条道路在前进。

即程序的虚拟运行环境,这里所谈及的虚拟机是特指顺序虚拟机。或者更确切地说,编译器和运行层面的语言虚拟机。其性能和速度是重要的因素。虚拟机就是解决这个问题的重要而实质的方法之一,前面已经提到一门计算机语言要能够为企业所采用。Java语言虚拟机已经从Java语言变成为多种语言共享的虚拟机。知道,当前虚拟机正在从单一语言虚拟机向多语言虚拟机方向发展。例如。JRubi语言是可以运行在该虚拟机上,另外Jython也在实现利用该虚拟机。又如Parrot一款最成熟的面向动态语言的虚拟机。尽管该虚拟机是为Perl语言所设计的但是也是可以成为Rubi语言的虚拟机。尽管这是一种发展趋势,但是作者认为,单一语言虚拟机的性能应该会更好。据悉,Rubi2.0可能会采用自己的单一语言虚拟机Rite

但是Rubi语言虚拟机的商业需求是明显的这也是JRubi语言实现的目的之一。除了JRubi有自己的虚拟机外,尽管至今CRubi还没有出现自己的虚拟机。Rubi语言的虚拟机也在不时的呈现,比如基于Smalltalk-80语言的Rubi语言虚拟机Shotgun从该网站的主页上可以看出,Shotgun目标是十分明确的就是为商业服务。能够支持运行编译代码,这样就可以支持代码的加密工作,以有效地保护软件的知识产权问题,这是商业应用中的头等大事。此外它解释器内核更简单和更容易维护,既节省人力、物力又节省时间。尤其需要值得注意的Rubi语言虚拟机提供性能不是以硬件为代价的而是以软件本身的实现为前提的这种实现的潜力还在不时增加。

可以肯定Rubi语言及其框架的应用软件将会更加丰富。其它Rubi语言虚拟机还尚未出现之前,随着Rubi语言虚拟机的不时创新。JRubi语言将会借助于Java语言的力量和当前越来越多的多核电脑性能成为一种不可忽视的选择。因为它不是一种维持性的创新技术,之所以Rubi语言和Rail框架能够在众多的语言和框架脱颖而出。而是一种破坏性的创新技术。知道,有很多框架都在模仿Rail框架,但是能否像Rail那样取得胜利呢?事实上,真正的胜利源自于与众不同的完全和独特创新。

可以看出,从上面的事实和分析。无论是Rubi语言还是Rail框架已经开始跨越一个重要的商业断层,正在向幼稚挺进和向企业迈进。可以想象一旦Rubi语言进一步走向商业化,从Java语言的规范竞争经历。将会是怎么样的未来。对此,否做好了准备?否也能够拥有自己的Rubi语言的实现?如使用D语言,否也能够在未来的这门语言中有一席发言之地呢?