忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 94881 | 回复: 103

程序员们,是时候开始学习Ruby了  关闭 [复制链接]

论坛徽章:
0
发表于 2010-12-07 10:46 |显示全部楼层
程序员们,是时候开始学习Ruby了




Ruby自从Programming Ruby一书问世以来便开始在英文界流行起来,而发展了这么多年,Ruby以及Rails优秀的特质令无数开发者为之倾心。事实上,一个优秀的程序员现在已经没有理由不了解学习Ruby了。



         作为脚本语言,如PHP、Perl与Python的长期爱好者,Ruby语言曾对我造成极大的震撼。它是一个开源的、纯粹的面向对象的脚本语言。Ruby on Rails Web框架更是重要的兴奋点,Rails的经历令人相当难忘。目前,Ruby被看作是互联网领域未来的巨人杀手,而我们则没有理由不去深刻理解这种语言的强大能力。

我为什么要学习Ruby?

这是个很好的问题。很多程序员似乎都抱着不愿意再学习另一种语言的想法,而选择使用指定的语言作为锤子,打碎任何只要是挡住了他们路的螺丝、钉子、图钉或者任何尖锐的东西。套用一个很好的观点(这是我在一次Python会议上听说的):如果所有的程序员只有一把锤子,而所面对的螺丝钉又都很钝,那么情况将变得糟糕起来。这就是说,学习另一种语言,不仅能扩大你在其他语言方面的知识,也能使你的就业方向更加广阔,从而使你能够跳出为自己所设定的那个框框。那么,为什么不从反方向去思考这个问题呢?当然,人们希望,每个新的语言都采用了以前语言的优点,而同时又避开了它们的缺点。这也是Ruby创建的思想。

在创建Ruby时,松本说,他的意图是遵守歧义最少的原则,这或许意味着他希望语言的表达方式只会引起最少的迷惑或歧义。其结果:该语言是100%面向对象的动态类型,去掉了多余的句法要求(如缩进和分号),而使用一些几乎可以方便处理任何你能想到的任务的库来代替。在下面,列举出来了Ruby众多有意思的特点:

◆支持的多种平台,包括各种UNIX的变种,Windows 95/98/NT/Me/2000/XP和Mac OS X

◆通过mod_ruby能够实现Web应用程序的开发,它是一个Apache模块,被嵌入到Apache Web服务器中作为RUBY的解释器。

◆一个独立于数据库的接口,类似于Perl的DBI模块。目前,已经有相关的驱动了(DBDs),可以用于DB2、InterBase、mSQL、MySQL、Oracle、PostgreSQL和SQLite等数据库软件。

◆通过类似于wxRuby的设计,能够创建跨平台的、基于GUI的应用程序。

◆使用RubyGems可以简单的包装,并对应用程序进行管理。RubyGems的操作类似于Perl CPAN,通过一个方便的控制台界面,可以对打包的过程进行完全的控制。

◆通过内置的RSS和soap来支持Web服务。

◆拥有一个异常活跃的用户社区。Ruby Application Archive和RubyForge只是其中的几个例子,而现在已经有上百个项目处于开发中了。

鉴于这些特点,就很容易理解为什么Ruby得到了这么多程序员的关注。如果你想要成为一个优秀的程序员,尤其是,如果你正在做或计划做Web开发,那么你真的没有理由不去了解并学习Ruby。

原文:Should Ruby Be Added to Your Programming Repertoire?

作者:W. Jason Gilmore

论坛徽章:
0
发表于 2010-12-07 10:55 |显示全部楼层
通过mod_ruby能够实现Web应用程序的开发,它是一个Apache模块,被嵌入到Apache Web服务器中作为RUBY的解释器。
=>这个领域,不能不提RoR,正是有了这个杀手级Ruby Web开发框架,Ruby名声才一跃而起。

拥有一个异常活跃的用户社区。Ruby Application Archive和RubyForge只是其中的几个例子,而现在已经有上百个项目处于开发中了。
=>现在RubyForge改成RubyGem了,汇集了大量的Ruby应用和库信息。

总之,Ruby在全球IT业内的发展态势极好。

论坛徽章:
0
发表于 2010-12-07 12:23 |显示全部楼层
回复 2# 2gua


    这个是必须滴

论坛徽章:
0
发表于 2010-12-07 12:29 |显示全部楼层
ruby的DBI、Net::××系列,全面照搬Perl的实现。
有些模块如Net::DNS,完全就是把perl翻译成ruby.

不过,ruby程序没有分号、普通变量没有$@%那些东西、没有花括号的机制,的确俺很喜爱。

论坛徽章:
0
发表于 2010-12-07 13:04 |显示全部楼层
很陌生,不过看了楼主的帖子,决定有空一定要看一下相关的书籍,增加知识面吧

论坛徽章:
0
发表于 2010-12-07 14:10 |显示全部楼层
“Ruby就是‘没有到处打广告的Perl 6’”

论坛徽章:
0
发表于 2010-12-07 14:38 |显示全部楼层
回复 6# Sapien


    不对,我不认为这样。Ruby是Ruby,Perl是Perl。

论坛徽章:
0
发表于 2010-12-07 17:23 |显示全部楼层
回复  Sapien


    不对,我不认为这样。Ruby是Ruby,Perl是Perl。
2gua 发表于 2010-12-07 14:38



    ruby是到处不打广告的perl6
的确是有这么个说法
perl6不知对OO支持如何了
perl5看过基本语法,与ruby差别很大。

论坛徽章:
45
15-16赛季CBA联赛之广夏
日期:2017-06-02 21:46:59天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:452015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
发表于 2010-12-07 17:34 |显示全部楼层
语法差异无非是 end 和 大括号的区别,说 ruby 像 perl 主要指的是文本处理这方面吧

论坛徽章:
0
发表于 2010-12-07 17:41 |显示全部楼层
嗯,俺还是不敢认同这个观点哦。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP