ruby 语言的缺点

Python018

ruby 语言的缺点,第1张

你的问题是不是“ruby 语言的特点”吧??哈哈~~还是我自做多情啦~~~~

Ruby特点

一般认为,他有如下特点:

简单

解释型语言,所以不必事先编译,直接运行,开发周期短,调试方便。

变量没有类型的区分,变量不需要定义,而且是弱类型,即可以改变类型。

irb(main):004:0>a=1

=>1

irb(main):005:0>a.class

=>Fixnum

irb(main):006:0>a*3

=>3

irb(main):007:0>a="str"

=>"str"

irb(main):008:0>a.class

=>String

irb(main):009:0>a*3

=>"strstrstr"

irb(main):010:0>

简单的语法,多从Eiffel继承而来,容易学习。

不需要内存管理,系统提供GC处理机制。其实自从学习JAVA之后,几乎就很少想起指针和内存分配了。

它是纯的面向对象的语言

一切都是对象,像整数等类型从开始就被设计为对象来处理。

有类,实例,模块,继承,方法重载等。

module和Mixin ,实现多重继承。

比Python,Java,C++等更OO。

脚本语言

解释执行

很强的文字处理能力和正则表达式

直接访问OS,用ruby编写系统程序也是可能的。

其他

支持多种长整数,如果内存允许,可以进行很大数的计算操作。

具备异常处理能力,类似java的异常处理功能。

动态载入。可以在运行时候重定义自己,类也可以在运行时继承/取消继承。

线程支持。

反射(Reflection)。Ruby可以看到程序的内部,比如一个模块是否含一个特定方法,一个对象是哪个class等等。类似java的反射功能。

扩展性。使用C API可以轻松的建立国更多的应用库,比如Ruby Mysql模块就是用C语言编写以供Ruby调用Mysql数据库用的。

迭代器和闭包。一个在闭包开始时定义的资源在闭包结束后会被释放,适合于socket,数据库连接,文件句柄等。而迭代器则是非常方便的工具。

跨平台,支持Linux,Unix,Windows,Mac等更重操作系统。

发行许可证。基于Ruby Artistic License (BSD样式的)和GPL。

像其它开源软件一样,有活跃的社区,大量面向Ruby的软件越来越多。

perl基本已经被淘汰,在各方面几乎已经没有优势,虽然说还正在开发perl6啊什么的,不过基本上大势已去。虽然在部分场合还有应用,不过大部分都只是因为历史遗留问题而已,也就是说一些老软件用这个,部分地方还因为各种原因没去替换这些老软件而已。

从web的角度来看,这四个语言都做过web开发,不过后来php代替了perl。而现在作为python的django构架和ruby的Ruby On Rails构架正在逐渐代替php。因为php也有其天生的缺憾,例如对于模板分离式编程不是天生的支持导致的。所谓模板分离也就是由网页制作和美工人员写纯网页,又程序员写纯程序,然后二者结合。在这个模式之前就是典型的php默认,代码和页面都是一个php文件并未分离。

不过php在现在还是有其顽强的生命力的,这也是有其历史遗留原因的,毕竟太多大型网站、大型项目都使用php,一时之间改变还很难。

排除web构架以外,python和ruby都差不多的,其对各种库的支持也都相似。总体来说现在python的普及率要高一点,可能因为一种先入为主的优势吧。高就高在几乎所有linux发行版,OSX系统都自带python,但是ruby则不然。

python在某些非常轻量级的桌面任务上可能也有优势,因为自带一个gui库,tinkter,不过这一点优势应该很小,因为毕竟太轻量级了,就是说太简单了,用处一般。

从语法的角度来说,未来肯定还是python、ruby这种开发更简单的语言的天下,php还保留着c/c++遗留下来的各种语法诟病,要是只论纯开发速度肯定不如python、ruby的强,这里主要说的web,因为php开发桌面程序那还是随便玩玩的,虽然有吧。

1.ruby对linux兼容性更好.

2.使用linux与服务器之间交互很好.例如:项目管理.

3.使用ruby的时候用到命令行更多...linux更适合.

4.使用linux更专注.因为他QQ不好使.因为他QVOD不好使,娱乐功能少....

5.使用linux,顺便更好的熟悉服务器环境.

....