0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ruby到底前景怎么样_ruby前景分析

姚小熊27 来源:网络整理 2018-03-07 18:46 次阅读

Ruby的概念

Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(YukihiroMatsumoto)开发,遵守GPL协议和RubyLicense。它的灵感与特性来自于Perl、Smalltalk、Eiffel、Ada以及Lisp语言。由Ruby语言本身还发展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的Ruby语言替代品。Ruby的作者于1993年2月24日开始编写Ruby,直至1995年12月才正式公开发布于fj(新闻组)。因为Perl发音与6月诞生石pearl(珍珠)相同,因此Ruby以7月诞生石ruby(红宝石)命名。

Ruby语言特点

完全面向对象

在Ruby语言中,任何东西都是对象,包括其他语言中的基本数据类型,比如整数

变量没有类型

Ruby的变量可以保存任何类型的数据。

任何东西都有值

不管是数学或者逻辑表达式还是一个语句,都会有值。

ruby语言很优雅,可以做到不需要注释就可以读懂。

Ruby的优点

语法简单

普通的面向对象功能(类,方法调用等)

特殊的面向对象功能(Mixin,特殊方法等)

操作符重载

错误处理功能

迭代器和闭包

垃圾回收

动态载入(取决于系统架构)

可移植性高。不仅可以运行在多数UNIX上,还可以运行在DOS,Windows,Mac,BeOS等平台上

适合于快速开发,一般开发效率是JAVA的5倍。

ruby发展前景分析

1、Ruby语言的虚拟化

这里所谈及的虚拟机是特指程序虚拟机,即程序的虚拟运行环境,或者更确切地说,是在编译器和运行层面的语言虚拟机。

一门计算机语言要能够为企业所采用,其性能和速度是重要的因素。虚拟机就是解决这个问题的重要而实质的方法之一。

当前虚拟机正在从单一语言虚拟机向多语言虚拟机方向发展。例如,Java语言虚拟机已经从Java语言变成为多种语言共享的虚拟机。我们知道,JRuby语言是可以运行在该虚拟机上,另外Jython也在实现利用该虚拟机。又如Parrot是一款最成熟的面向动态语言的虚拟机。尽管该虚拟机是为Perl语言所设计的,但是它也是可以成为Ruby语言的虚拟机。尽管这是一种发展趋势,但是作者认为,单一语言虚拟机的性能应该会更好。据悉,Ruby2.0可能会采用自己的单一语言虚拟机Rite

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

随着Ruby语言虚拟机的不断创新,可以肯定Ruby语言及其框架的应用软件将会更加丰富。在其它Ruby语言虚拟机还尚未出现之前,JRuby语言将会借助于Java语言的力量和当前越来越多的多核电脑性能成为一种不可忽视的选择。

2、Ruby语言的实现多元化

随着Ruby语言的实现越来越多,Ruby语言一词的概念也在发生着变化。在2000年或者再晚一些,Ruby语言一般都是指以C语言实现的官方版本Ruby,但是现在Ruby语言正在变成为一个通用的概念,或者说是该语言的技术规范。

我们可以从三个方面来分析Ruby语言的实现。一是面向CRuby的兼容性的实现;二是以Ruby语言风格的不兼容的实现,三是以Ruby语言为基础的特定领域语言的实现。

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

以C语言实现的Ruby语言=Ruby或者CRuby(非正式名称)

以Java语言实现的Ruby语言=JRuby(由Sun公司出资所赞助)

以基于Smalltalk-80架构采用C语言实现的Ruby语言=Rubinius(由EnginYard公司出资所赞助的,该公司聚集大量Ruby语言高手)

以Objective-C语言实现的Ruby语言=MacRuby(由Apple公司出资所赞助的)

在上述的列举中,除了官方版本Ruby之外,其它的实现都是由大公司出资所赞助的,大公司为什么要出资赞助这些开源的项目呢?其中的玄妙不得而知。但是,可以肯定的是他们对Ruby语言的发展前景的认可。

Ruby语言的实现多元化,应当说是Ruby语言发展过程中百花齐放的结果,这是好事。但由此可能带来的问题是,Ruby语言的实现之间的兼容问题,就如Linux的发展过程。

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

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

以Ruby语言实现的特定领域语言DSL(DomainSpecificLanguages),是Ruby语言的一个最重要的特性。它使得Ruby语言的应用更加广泛而深入,在Rails框架中涌现出大量的DSL,这也是Rails成功的原因之一。模板系统Malline能够使得代码变得更为容易维护和管理,而且在代码开发中可以只需要会Ruby语言就可以开发网络的页面,而不需要理会其它语言如HTML。还有基于桌面布局语言LEL能够使得桌面软件开发变得更加简单和方便。

总而言之,Ruby语言的实现多元化是Ruby语言的发展的必然,我们只有打破框框才能寻找到Ruby语言的最佳实现,只有最佳才能带来最大的回报,而Ruby语言的目前的发展方向正是沿着这条道路在前进。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ruby
    +关注

    关注

    0

    文章

    44

    浏览量

    3442
收藏 人收藏

    评论

    相关推荐

    ruby学习

    学习ruby基础,看看吧!!!!!!!!!!!!!!!!!
    发表于 08-29 22:44

    龙芯与Ruby的神奇之旅

    `Ruby形象标识对于这样一个使用广泛的语言,龙芯平台能不能方便的支持呢?今天我们就从头开始搭建Ruby的环境,试验一下龙芯电脑好不好用。2016年1月TIOBE编程语言排行榜二、龙芯3B机器亮相
    发表于 05-03 14:06

    嵌入式前景到底怎么

    嵌入式前景到底怎么?是很多想要从事嵌入式行业的人有的疑问?而作为未出校门的大学生们来讲,嵌入式就如同一个全新未知的领域,充满着迷茫与疑惑?那么嵌入式行业到底发展怎么
    发表于 01-08 14:56

    Python和Ruby优缺点

    了世界上最大的和最受欢迎的项目。对于Python和Ruby编程的使用,要根据其特点进行选择,就其发展和就业前景而言,Python相对更好,对于想从事IT编程的人员来说,是一个好选择!
    发表于 05-14 17:15

    Linux平台的Ruby on Rails安装配置

    ruby on rails推荐的生产运行环境是Linux/FreeBSD/Unix,即Unix系列的操作系统,采用lighttpd+FCGI的解决方案。以下我将以Linux操作系统,lighttpd+FCGI,MySQL数据库为例,从源代码编译安装开始讲解。
    发表于 07-26 07:57

    RockPi-S Ruby-HAT扩展板资料分享

    描述RockPi-S Ruby-HAT项目描述Ruby-HAT 是 Radxa RockPi-S的扩展板。它的设计旨在与 RockPi-S 一起装入紧凑的体积中。眼镜Ruby-HAT 由以下外围设备
    发表于 08-04 06:14

    SU RUBy控制台如何使用?SU RUBy控制台的一个应用实例说明

    本文档的主要内容详细介绍的是SU RUBy控制台如何使用?SU RUBy控制台的一个应用实例说明。
    发表于 09-27 16:04 0次下载

    ruby中的类、单体、私有、protected的实例使用方法程序说明

    Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。它的灵感与特性
    发表于 09-27 16:04 0次下载

    ruby教程之学习ruby的实例详细资料免费下载

    Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。它的灵感与特性
    发表于 10-30 18:30 5次下载

    Ruby编程语言PDF电子书免费下载

    Ruby编程语言》详细介绍了Ruby 1.8和1.9版本各方面的内容。在对Ruby进行了简要的综述之后,《Ruby编程语言》详细介绍了以下内容:R
    发表于 06-12 08:00 0次下载

    Ruby 3将于今年圣诞节发布,设计者松本行弘分享Ruby 3的部分细节

    Ruby 编程语言的创建者和首席设计师 Yukihiro Matsumoto(松本行弘)近期在某演讲中分享了 Ruby 3 的一些情况。
    的头像 发表于 09-07 09:54 1406次阅读
    <b class='flag-5'>Ruby</b> 3将于今年圣诞节发布,设计者松本行弘分享<b class='flag-5'>Ruby</b> 3的部分细节

    松本:今年Ruby 3真的要来了

    设计一款编程语言有多难?Ruby 创始人揭秘 最近,Ruby编程语言的创始人兼主设计师、云平台即服务公司Heroku的Ruby首席架构师松本行弘在一次演讲中表示,由松本行弘领导的Ruby
    的头像 发表于 09-15 15:43 1576次阅读

    Ruby HAT Radxa RockPi S的扩展板开源

    电子发烧友网站提供《Ruby HAT Radxa RockPi S的扩展板开源.zip》资料免费下载
    发表于 08-24 10:13 0次下载
    <b class='flag-5'>Ruby</b> HAT Radxa RockPi S的扩展板开源

    慢的不是Ruby,而是你的数据库

    为了进行对比,我尝试用 Rust 和 Ruby 创建了一个内部尽可能相似的版本。结果令人失望,Ruby 和 Rust 的性能都很差劲,甚至存在一些错误,而且都没有进行性能优化。我确信 Ruby
    的头像 发表于 10-10 16:10 409次阅读
    慢的不是<b class='flag-5'>Ruby</b>,而是你的数据库

    Ruby 与 Python之间的差异

    Ruby 与 Python 之间的差异在很大程度上可通过 for 循环看出本质。 Python 拥有 for 语句。对象告诉 for 如何进行协作,而 for 的循环体会处理对象返回的内容
    的头像 发表于 10-30 11:50 568次阅读