ruby on rails

Python020

ruby on rails,第1张

二.RUBY的特性

1.完全开源

2.多平台 ruby可以运行在Linux,UNIX,Windows,MS-DOS等平台

3.多线程 线程就是指能在一个程序中处理若干个控制流的功能.与OS提供的进程不同的是,线程可以共享内存空间.

4.完全面向对象

5.解释执行

6.功能强大的字符串操作/正则表达式

7.具有异常处理功能

8.可以直接访问OS

9.动态类型语言

10.动态语言

11.支持操作符重写

12.支持无限精度的数字

13.丰富的库函数

14.用模块进行混合插入(Mix-in)

15.语法简单

ruby吸取了perl 的正则表达式,python的简单性可读性, smalltalk的纯面向对象语法和单继承,LISP的无穷嵌套的语法,JAVA的线程.

Ruby,一种为简单快捷面向对象编程(面向对象程序设计)而创的脚本语言,由日本人松本行弘(まつもとゆきひろ,英译:Yukihiro Matsumoto,外号matz)开发,遵守GPL协议和Ruby License。Ruby的作者认为Ruby >(Smalltalk + Perl) / 2,表示Ruby是一个语法像Smalltalk一样完全面向对象、脚本执行、又有Perl强大的文字处理功能的编程语言。其他特色包括:

* 运算符重载

* 自动垃圾回收

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

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

* 在Windows上,加载DLL

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

编辑本段历史

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

Ruby明显比其他类似的编程语言(如Perl或Python)年轻,又因为Ruby是日本人发明的,所以早期的非日文资料和程序都比较贫乏,所以现在在网上仍然可以找到Ruby的资料太少之类的批评。约于2000年,Ruby开始进入美国,英文的资料开始发展。

Ruby现在的稳定版本是1.8.6(2007年3月12日发布)。

2008年8月Ruby 1.8.7-p72 和 1.8.6-p287 发布。先前的发布版本不完全,新的版本包括了对之前发布的关于dl的漏洞的修正。

编辑本段Ruby 的理念

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

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

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

Semantics

Ruby 是完全面向对象的:任何一点数据都是对象,包括在其他语言中的基本类型(比如:整数,布尔逻辑值),每个过程或函数都是方法。

编辑本段Ruby的Hello World程序

下面是一个在标准输出设备上输出Hello World的简单程序,这种程序通常作为开始学习编程语言时的第一个程序:

#!/usr/bin/env ruby

puts "Hello, world!"

静态和动态是针对变量的数据类型而言的,区主要有以下几个方面:

1、使用静态类型语言编写的代码中,要声明变量的数据类型,而且不同数据类型的变量不允许直接赋值,它的数据类型是编译期间进行检查的。

2、静态类型语言在使用变量之前,需要为它们分配好内存。

3、静态类型语言功能强大,但相对难以学习,而且灵活性差。

4、动态类型语言与静态语言刚好相反,它只在程序运行期间才去进行数据类型检查,不需要给变量指定数据类型,它会在第一次同仁给变量时,在内部记录数据类型。

5、动态类型语言虽然快速灵活,但在代码运行前很难找到bug,所以提升了开发速度,但失去程序的健壮性。

静态类型语言有:c、c++、c#、object-c、java等

动态类型语言有:python、ruby、php、javascript、erlang等