日本人的Ruby

日本人的Ruby

资料来源 wikipedia ruby-lang rubyist   翻译 东北藏

rubyist

Ruby是一种编成语言,属于Script语言类,即脚本。Perl也是比较有名的脚本语言,实际上可以说Ruby是基于Perl而产生的。从Ruby的命令(函数,方法)很多都与Perl重名来看很容易理解这点。Ruby是面向对象的,可读性及柔软性高。

为什么偏偏是Ruby。首先最重要的事实是,其作者是日本人。所以可以直接用日语向作者提问,日语的资料也非常多。充分考虑了对汉字编码的处理等日语的使用。对我们日本人,在此之前还没有这种待遇吧。虽然还有很多有魅力的地方考虑到篇幅这里就不提了。不管怎样,提起日本人,有Ruby

Ruby的座右铭就是“快乐编程”。我确实感觉Ruby编程很有趣。大家也能来使用的话就更有趣了。现在是个好时代,因为CGI的存在。说起CGI,即便不安装程序也可以在浏览器上使用。而且不依赖具体的操作系统。因为使用起来很有趣可以做游戏。大家如果能对Ruby感兴趣,我真是非常高兴。

 

wikipedia

RubyMatz开发的面向对象的脚本语言,是Perl等脚本语言应用领域的面向对象的编程语言。Ruby最初产生于 1993224日 ,199512月发表于fjPerl6月的生日石Pearl(珍珠)的发音大致相同,Ruby名称来自于Matz的同事的生日石(7月)。

Ruby具有类定义,垃圾回收,出色的正则化处理,多线程,异常处理,迭代封闭Mixin,演算符重载等功能。从一开始便致力于代替Perl。与Perl同样,使一种易整合语言,可以嵌入调用C程序或库等扩展模块。

Ruby处理系统是作为解释器来开发的(尝试过JIT方式运行时编译的实验)。

Ruby继承了ALGOL,重视可读性。Ruby中整数及字符串等数据类型全是对象型的,是纯粹的面向对象语言。

Ruby作为自由软件发布(类似GPLArtistic自由协议)。

 

Ruby哲学

Ruby的作者Matz在确定Ruby语言规格时特别强调的是,快乐编程(Enjoy Programming)。Perl的座右铭是“TMTOWTDIThere's More Than One Way To Do It”(总是不止一种办法解决),“Diversity is Good”(多样则优)。Ruby所倡导的并非是最重要的,可能不是一种推荐的手法。由此语言的规格较难使用,因过于强调自律也被称为洗脑语言。以前Ruby遵循最小惊讶原则(Principle of least astonishmentRule of least surprise-跟程序员想的相反的不同寻常的行为,或语言规格上的歧义等-,容易被解释偏而去掉了这个座右铭。

编程

Ruby主要有两种编程方式。一个是广泛使用的公式化的Ruby解释器。另一个是基于JavaJRubyRuby解释器现移植到大多数的平台上,如,UnixLinuxMicrosoft WindowsMS-DOSMac OS XOS/2Amiga等。JRuby也是纯粹Java编程,不依赖于平台,并且提供了几乎所有的Ruby类。

竞争语言:Python

作为编程语言Ruby可以通俗地讲是Perl的面向对象版,即通过解释运行的高级面向对象的脚本语言。与之相媲美的还有Python。使用不同语言的用户经常争论,到底哪一个更优越。但争论往往在技术细节上没有什么结果。

这里并不想比较两者的细微差别,从用户数量,开发的系统得数量及质量来看,现在作一比较的话,Python更有人气。但是在日本,因为开发者是日本人所以Ruby的人气比较高,这类的书籍也比较多。2004年前后并没有那么风靡,也就tDiaryBug管理系统影舞有些知名度,谈不到大范围普及。但是受2004年末发表2005年流行的黑马Ruby on Rails影响而备受瞩目。

Ruby相关技术

分布对象的dRuby

嵌入于Apache的用于显示HTML的嵌入Ruby文字的eRuby

可以嵌入Ruby脚本的文本形式RD

应用RDWiki cloneRWiki

可处理SDLRuby/SDL

可处理DelphiApollo

Web应用框架Ruby on Rails

Ruby的另一处理系统YARVYet another RubyVM

Ruby的综合开发环境RDERuby Development Environment

Ruby的代码转换为Windows的执行形式文件的Exerb

Ruby的库管理系统RubyGems

使用Ruby开发的应用

tDiary

影舞

Hiki

Ruby on Rails

qwikWeb

 

ruby-lang

Ruby是轻量级的面向对象的解释型语言。Ruby(如同Perl)具有丰富的文本处理及系统管理等功能。而且Ruby是单纯的,容易理解的,容易扩展的语言。如果想找个简单的面向对象的语言,感觉Perl代码难读,Lisp的思想比较好但对它的括号之多感到困惑时,Ruby就是你想要的。

Ruby具有如下特点:

解释器

Ruby是解释型语言,运行程序时不需要编译

变量没有类型(付与动态类型)

Ruby的变量可以是任何类型,不必担心变量的类型。另一方面,编译(不是运行时编译)时检查工作量减少。

无需定义变量

Ruby中变量的使用不需要定义。可以通过函数名确定函数的种类(局部变量,全局变量,instance变量等)。

语法简单

RubyEiffel的影响小,语法简单。

无需用户对内存的管理

Ruby自动进行内存管理。不管在哪进行内存访问的对象都由嵌入在解释器的垃圾回收器处理。

所有都是对象

Ruby从一开始就设计为纯粹的面向对象语言。像整数这样的基本数据类型等所有的数据都作为对象来处理。

类,继承,方法

Ruby当然具有类,继承,方法等基本的面向对象的机能。

特意方法

对特定的对象可以付加方法。比如,GUI中的某个按钮,被按下时的动作可以记述为方法。由此可以作为基于原型(prototype)的面向对象语言。

模块的Mix-in

Ruby考虑多重继承是复杂之源,不支持多重继承。通过混合模块的使用达到多重继承的效果。这个功能叫Mix-in

调用块方法(迭代器)

实现控制结构抽象化的块方法调用功能。

封闭

手续可以作为对象。这种对象化的手续叫封闭。

很强的字符串操作/正则表现

具有类Perl的强大的字符串处理及正则表现检索功能。

多倍长整数

嵌入的多倍长整数功能使内存允许的范围内进行超大整数的运算。比如,400的阶乘很容易计算。

异常处理功能

异常处理功能可使异常对应的处理变得简单。

OS的直接访问

Ruby具有(UNIX)的系统调用功能。Ruby可实现系统编程。

动态载入

OS允许的话,可以提供运行时动态载入对象文件的功能。

 

PS Matz

Yukihiro Matsumoto1965414-)编程语言Ruby的开发者。本名松本行弘,英语圈通称Matz。鸟取县立米子东高等学校,筑波大学第三学群情报学类,鸟根大学研究生院博士课程学分取得后退学。

大阪出生,4岁搬家至鸟取县米子市。出身地通常介绍为米子市出生。

现住在鸟根县松江市,同市网络应用通信研究所(NaCI)株式会社特别研究员。

末日圣徒耶稣教信徒。

Ruby4个孩子的父亲。

(译者注:国人什么时候能开发出有国际知名度的好东东啊?

 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值