扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
拥有数百万开发者的Java无疑是一个非常成熟的语言,而Ruby则有望成为成长最快速的编程语言,据专家分析在未来五年中使用Ruby的开发者数量将会翻两番。
在Sun公司CommunityOne开发者大会的一个专题讨论会上,国际著名分析机构Gartner的分析师Mark Driver表示,“现在专业Ruby开发者的数量不超过一百万,不过据我们估计到2013年这个数量将达到四百万。”Driver还对媒体表示,Gartner的调查发现,不仅仅是编程爱好者对Ruby非常感兴趣,对Ruby感兴趣的商业开发者的比重也将大幅增加。“Ruby对商业应用开发者来说将显得更加重要,”Driver如此表示。
这次专题讨论会聚集了来自不同领域的很多参与者,其中包括JRuby项目的某些核心开发者和众多Ruby开发者。除此之外,在讨论Ruby成长问题的同时,与会者还将Ruby与其它语言进行了对比,例如PHP和Java本身。而JRuby是一个运行在Java虚拟机JVM上的Ruby实现。
Sun工程师Charles Nutter是JRuby项目的核心开发者之一,他表示开发者开始关注Ruby的原因之一是“Ruby是当前最时髦的语言之一,实际上有很多方法来解决Web编程问题。”
Nutter还介绍了Sun公司在JRuby项目上的进展。“在兼容性方面我们已经基本没有问题,接下来要进行的一个重大任务是提高性能。”对于Ruby和其它动态语言,开发者存在的一个最大的抱怨之一是其性能问题,它们要比诸如Java和C++等静态类型的语言慢的多。“我们已经让Rails[Ruby on Rails]可以更好的运行在JVM上,现在重点是使其更好的与Java类库融合在一起,从而使JRuby更加适合整个平台。”
Happy Camper Studios是美国菲尼克斯一家专注于开发基于JRuby的图形化界面应用程序和培训应用程序的开发公司,该公司的总裁David Koontz表示,开发者尤其是Ruby开发者应该牢记的一件事情是:“提到Java的时候应该有两种意思:Java编程语言和Java平台。我们喜欢Java平台,而我们喜欢在这个平台上使用Ruby编程语言。”
来自旧金山的独立开发者Sara Mei曾使用Ruby语言编写了大量应用,他表示,“Ruby的魅力在于它是一个使用起来非常舒服的编程语言,它具有许多强大的元编程(meta-programming)功能。”
Koontz表示,使用JRuby使得他的公司可以更方便简单的使用Swing。Swing是Java用户界面应用程序编程接口API和部件工具集。Happy Camper Studio的Monkeybar代码库可以让开发者从JRuby中使用Swing。这意味着Java开发者可以按照他们习惯的方式来使用这个图形化用户界面编辑工具,而且可以更容易的以纯Ruby语言的方式来编写他们的应用程序逻辑。
但是为什么选择Ruby而不是其它像PHP之类的语言呢?
Mei表示,“我自认在生产应用的开发方面我曾经进行了大量的Web脚本编程,很多语言都需要一个学习的过程。而且我也曾从事了一些大型的应用程序开发。不过我最后发现,编写同样的应用程序,使用Ruby语言所需要的开发者的数量要比其它语言少一半。”
Driver将PHP成为行业语言的一个典型,并表示PHP非常容易掌握,不过同时他也提到PHP更像是一个专用语言,而Ruby则是一个多面手。
当被问及他们最喜爱的Ruby集成开发工具是什么的时候,Nutter和他Sun公司的同事及JRuby项目的伙伴Thomas Enebo表示,他们更喜欢Sun公司的NetBeans。Koontz则表示他喜欢Mac OS X的TextMate。甲骨文的Ruby开发者和产品战略主管Rich Manalang表示他更喜欢Vim;Mei表示她更喜欢使用jEdit。不过Driver表示,他认为NetBeans是一个非常好的Ruby开发工具,同样不错的还有CodeGear的3rdRail。
同时Mei表示,尽管在很多Ruby开发者中存在一种反微软的情绪,我们还是可以看到与以前相比,现在有更多的人开始在Windows上使用Ruby进行开发。当然在Mac和其它平台上也进行了大量的Ruby开发。
Driver表示,他认为对于Ruby来说如果要想真正流行,需要更多来自大厂商的合作赞助。
Manalang对此表示同意,但是他同时表示“在甲骨文Ruby正在逐渐引起关注。我们正在试图发现如何让开发者具有更高的开发效率,以及如何给予他们更多的选择。我们公司有很多人在关注着Ruby语言。”
Nutter对此补充说:“Ruby是技术被采用的一种经典模式,它不是一个大公司来告诉人们要去使用什么技术的方式。现在使用Ruby的人电脑爱好者——这是一种更健康的系统。”
但是,Koontz表示,Ruby更像是一门应用语言,而Java现在已经被看作一个高级系统语言;Java更接近于硬件。有意思的是在10年前Java处于起步阶段的时候。C++被认为是是接近于硬件的系统语言,而Java则被认为是应用语言。
同时与Java或其它更成熟的语言相比,Ruby语言的另一个劣势是它没有正式的管理人员或标准组织来支持它。Java有Java标准制定组织JCP来支持它,现在JCP就正在进行改革来减少Java规范中比较陈旧和冗余的部分。
不过,Nutter指出有两个项目对Ruby的成长起到了非常积极的作用。其中一个是Rubinius项目,它为Ruby创建了一套测试规范来定义今天的Ruby内容。Rubinius是一个为Ruby编程语言创建下一代虚拟机的项目。另一个Nutter认为不错的现象是所有不同的Ruby实现正在通过互联网逐渐汇聚起来,相互交流Ruby的未来发展方向。
Enebo专注于Ruby的杀手级应用的扩展问题:Ruby on Rails。他表示,“Ruby on Rails开始于2004年,已经经历了彻底的修改,并且还会继续变化。”他提到他不认为扩展性会成为Rails的一个问题。
通过这次专题讨论会,专家们一致认为,对于Ruby来说最困难的事情包括教育开发者以Ruby的方式来思考问题。Koontz表示,“教育人们以Ruby开发者的方式来思考,而不是以Java开发者方式思考是一件困难的事情。”
同时,在一场关于Python和Jython(Sun公司运行在Java虚拟机上的Python实现)的讨论会上,Jython项目的Sun工程师Ted Leung表示,Sun公司已经使得Jython可以与Python 2.5兼容,并且实现了一种固有的C语言实现。Leung表示他预计今年底Sun公司将具有一个支持Python的NetBeans插件。
Leung的Jython同事Frank Wierzbicki表示,他相信Python和Ruby实际上有很多共同之处。但是,“Ruby有些更专注于使程序可以更快被编写,而Python则有些更专注于让程序更容易被阅读。”
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者