Ruby 一种面向对象程序设计的脚本语言

Posted 山东厚黑软件开发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ruby 一种面向对象程序设计的脚本语言相关的知识,希望对你有一定的参考价值。


目前计算机网络编程语言有很多,那么你知道哪些编程语言是属于高薪的编程语言?



今天小编要为大家讲解的是一种面向对象程序设计的脚本语言 — Ruby。


Ruby 一种面向对象程序设计的脚本语言




Ruby 一种面向对象程序设计的脚本语言
   什么是Ruby   
Ruby 一种面向对象程序设计的脚本语言




Ruby,一种为简单快捷面向对象编程而创的脚本语言,在20世纪90年代由日本人-松本行弘开发,遵守GPL协议和Ruby License。


Ruby是一个语法像Smalltalk一样完全面向对象、脚本执行、又有Perl强大的文字处理功能的编程语言。


它的灵感与特性来自于Perl、Smalltalk、Eiffel、Ada以及Lisp语言。


Ruby于1993年2月24日开始编写至1995年12月才正式公开发布于fj(新闻组)。因为Perl发音与6月诞生石pearl(珍珠)相同,因此Ruby以7月诞生石ruby(红宝石)命名。





Ruby 一种面向对象程序设计的脚本语言
    Ruby的特色   
Ruby 一种面向对象程序设计的脚本语言




* 运算符重载


* 自动垃圾回收


* 弱类型(动态类型 | 标量变量)


* 变量无需声明 (不必事先宣告变量)


* 在Windows上,加载DLL


* 巨大的标准库(函式库;Library) 




Ruby 一种面向对象程序设计的脚本语言
    Ruby的设计理念  
Ruby 一种面向对象程序设计的脚本语言



减少编程时候的不必要的琐碎时间,令编写程序的人高兴,是设计 Ruby 语言的 Matz 的一个首要的考虑;其次是良好的界面设计。他强调系统设计必须强调人性化,而不是一味从机器的角度设想。


人们特别是电脑工程师们,常常从机器着想。他们认为:“这样做,机器就能运行的更快;这样做,机器运行效率更高;这样做,机器就会怎样怎样怎样。”实际上,我们需要从人的角度考虑问题,人们怎样编写程序或者怎样使用机器上应用程序。我们是主人,他们是仆人。 ”


遵循上述的理念,Ruby 语言通常非常直观,按照编程人认为它应该的方式运行。



Ruby 一种面向对象程序设计的脚本语言



Ruby 一种面向对象程序设计的脚本语言
    Ruby的特点及优点   
Ruby 一种面向对象程序设计的脚本语言




特点


完全面向对象


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


变量没有类型


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


任何东西都有值


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




优点


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


特殊的面向对象功能(Mixin,特殊方法等),操作符重载


错误处理功能,迭代器和闭包


垃圾回收,动态载入(取决于系统架构)


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


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



Ruby 一种面向对象程序设计的脚本语言



Ruby 一种面向对象程序设计的脚本语言
    与Python相比Ruby有哪些优势和劣势   
Ruby 一种面向对象程序设计的脚本语言




优势

a) 有趣!


当你开始慢慢学会使用Ruby后,你就会觉得Python的代码比较死板。


这是因为Ruby从Perl中继承的一条哲学是和Python完全相反的:“每一件事情总是有多种做法”。所以程序员的创造力就完全被激发出来了。


当你看到某个问题的一种前所未见又十分优雅的解决方案时,你会有一种混杂着强烈喜悦的惊讶的——写Ruby能够激发人的灵感。


b) Matz在设计Ruby的时候就想方设法让Ruby成为一个“人性化”的语言,力求使Ruby程序员感觉到使用Ruby是一件愉悦的事情。


c) 纯粹的面向对象,极其强大的元编程功能。


Ruby是纯粹的面向对象。CSDN的范凯曾经说过:“你学习了Ruby以后,你就会发现,原来Java/C++所谓的面向对象就是TMD的山寨版本的面向对象,原来面向对象还可以这样玩啊”。Ruby的元编程能力还有宽松的语法使得使用Ruby可以很轻松的开发DSL,这一点Python是搞不定的。


d) Ruby on Rails!


要不是DHH开发出了RoR不知道现在还会有多少人在用Ruby。毋庸置疑,RoR是快速Web开发的神器。


为什么RoR那么牛?有一个很重要的原因就是RoR将Ruby的元编程能力发挥到了极致,“甚至到了一种变态的程度”。


e) Ruby吸收了很多语言(Lisp、Smalltalk等等)的特性,对于程序员来说了解一下Ruby对于开阔思路是很有帮助的,它能帮助你更好的看清你之前一直使用的语言的限制之处在哪。




劣势


a) Python开发人员的背景丰富多彩,阵营规模很大,这直接导致了Python的各种lib比Ruby多很多很多很多。


b) 和Ruby相反,Python的哲学是“做一件事情有且只有一种方法”。


Ruby的信徒会觉得这样非常boring,但是这一点减轻了人们在开发时的认知负担和选择成本,对于提高开发效率是很有帮助的。


同时,这个特点使得不同的人用Python写出来的代码不至于相差很大,这对于团队合作也是很有用的。


c) Python在面向对象上做的并不好,其实是把面向过程和面向对象杂糅起来了。


d) Python开始慢慢走进大学一年纪的教科书,可以预见,未来的Python开发者阵营会继续不断壮大。


e) Python解释器,特别是CPython,目前比现有的Ruby解释器快很多。


这点Ruby的发明人Matz也是很想再重新写个Ruby的虚拟机,但是苦于要做的事情很多,不知道什么时候能完成。Ruby的运行效率目前来看实在太慢了些。


f) Python的语法比较简单,容易上手。





Ruby 一种面向对象程序设计的脚本语言
   总结  
Ruby 一种面向对象程序设计的脚本语言


        Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。它的灵感与特性来自于 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类和对象

    Rubyruby安装

    ruby初见

    雷林鹏分享:Ruby 类和对象

    Ruby教程_编程入门自学教程_菜鸟教程-免费教程分享

    面向对象