第一次看到Ruby这个名字,心里面就生出一种亲切感。因为年轻的兽王Grubby的ID与这种编程语言很相近,这让我产生了一种莫名的亲切。呵呵。

先来看看Ruby是什么。让我们先建立一个对Ruby的感性的初步的认识吧。总得来说,我觉得以下几条可以向我们展示Ruby的基本特征。

1、Ruby 是由日本人松本行弘发明的一种面向对象的脚本语言。

2、Ruby是一种面向对象的语言。对于面向对象的编程,大家的理解都不尽相同,但是我觉得RUBY可以算是一种纯正的 "oop”了。在RUBY中,所有的一切——包括字符串或整型之类的基本数据类型——都是以对象的形态来表达的。让我们来看一个例子吧。比如求一个数的绝对值。JAVA的做法是

                          Math.abs(-3);

也就是将一个数值传递给 Math 类的一个静态函数 abs 处理,因为在 java 中, 数值是基本类型不是类。而在RUBY中,任何事物都是类,写法就变了-3.abs ,可见数字-3已经被当成了一个对象,而abs只不是在这个对象上定义的一个方法。似乎这更容易理解一些。

3、他是一种动态语言。对于只熟悉诸如 C++、Java 等静态语言的人而言,这就是个新概念。所谓动态意味着,可以在运行期动态地追加或者重新定义方法和变量。这种动态机制免除了对 C 语言中条件编译(#ifdef)这类功能的需要,并且使构建复杂的 reflection(内省机制)API 成为可能。复杂的 reflection 机制又进而使得程序可以变得更为“自知(self-aware)”——从而为如下诸多功能开启了方便之门:运行期类型信息、丢失方法的侦测、能够侦测新追加的方法的钩子技术,等等。

4、RUBY是一种解释型语言。解释型语言(比如我们平时所熟悉的javascript和vbscript)不用经过编译,而且简单易学,往往几行代码就能做到很多意想不到的事情,虽然短小,但却精悍。RUBY当然也具备以上优点。但是和所有的解释型语言一样,RUBY的运行速度,安全性以及弱类型的特征往往就会成为人们所诟病的部分。当然了,不管什么东西,有利就必然有弊,关键看我们想要的是什么,究竟是安全第一还是开发效率第一,我觉得在您决定选择什么语言来进行开发之前,这才是首先需要解决的事情。

我觉得以上几条已经可以很好地描述RUBY了。当然这对于了解一门语言还是远远不够的,接下来,我会在进一步的学习中逐渐完善我对RUBY的认识。