`
robbin
  • 浏览: 4830748 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
377a9ecd-1ea1-34ac-9530-9daa53bb2a7b
robbin谈管理
浏览量:137768
社区版块
存档分类
最新评论

谈谈我为什么要学习ruby on rails

    博客分类:
  • Ruby
阅读更多
挺有意思的现象
记得过去还没有创办JavaEye的时候,在技术社区里面推广Hibernate(也算不上是推广,只是和别人交流Hibernate),就有一大批人酸酸的跳出来说,你们今天学习这个明天学习那个框架,全都是跟风,这些框架都是浮云,真正JDBC这种基础知识才是实力的,我就用JDBC,我用的一直很好,我完全没有必要去学习Hibernate......

每当看到这种话,我就觉得特别好笑,用一个我发明的说法叫做“牛逼哄哄的露怯”。没有人逼你学习Hibernate,你不乐意关心Hibernate,那就继续用JDBC好了,这个世界从来都不是非黑即白的。

其实这种人的心态很有意思。他一方面眼红人家学习新的技术,另一方面自己又不想花时间和代价去学习,所以恨不得所有的人都不要去学习新技术,这样他心里就感觉很安全了,正因为如此,他就总是要时不时跳出来打击一下别人,表面上很牛逼,其实虚弱的内心挣扎一览无余。

如果想把技术作为终身职业,那么对于技术人员的起码要求就是不能固步自封,要始终以开放的心态接受新技术。

打好基础知识固然重要(重要到根本无需你一遍又一遍的祥林嫂),但是不接触新技术,新思路,新的理念,很快就会被淘汰掉。

当然学习新技术也不是盲目的什么都学习,什么流行学习什么,而是根据自身的需要,有选择的学习。例如Java Web框架有很多很流行的,Struts,Webwork,Spring MVC,Tapestry,JSF,主流的就有5个,盲目的学习者就是人家说什么他就学什么了。而聪明的学习者应该对这些东西都去接触一下,从中选择一个值得自己投资时间成本去学习的框架。例如对这五个框架我都涉猎过一遍,最终我把时间花在了Webwork上面,事实也证明我当初的投资是正确的。

我学习ruby on rails有很现实的需要,其实即便抛开现实的需要,我也认为如果有空,Java开发人员有必要学习一下,原因是:

1、ruby语言和rails框架的社区力量正在以惊人的速度增长,甚至已经进入爆炸式繁荣的前夜,这不是昙花一现的现象,而是一个时代开始的象征。

2、从我这段时间学习的情况来看,ruby语言有足够的学习深度,我原来以为自己一个很快速的上手,然后就很精通了,但是ruby不像PHP那种方便面,其知识的广度和深度都让我感觉这是一个完整的知识体系。也正因为如此,ruby生命力会很长。

3、 ruby和rails是非常非常Unix-like的东西,经常和操作系统提供的功能有深度的依赖,这和Java这种不依赖操作系统,什么基础设施都自己卷起袖子自己创造的理念相比,非常非常的不同。这样做会带来一个很大的好处,很多在Java里面解决方案很复杂的问题,在ruby方案中就很简单可以搞定,相比之下,让Java显得颇为大而无当。

不过ruby和rails也树立起了一堵墙,这堵墙就是Unix操作系统,要学好我,你就先跨越Unix这堵墙吧。呵呵,这也是为什么rails core team清一色的MacOSX的原因了。

不过我觉得这是好事,我本人是Unix fans,乐意见到这种现象,况且凭借我多年深厚的Unix功底,在ruby fans中,我又站在了一个很高的起点上领跑了。

想学好ruby吗?先在你的电脑上面安装MacOSX/ubuntu作为开发环境咯。
分享到:
评论
26 楼 cookoo 2006-09-14  
个人看法:学术创新是为了创新而创新,应用创新是为了偷懒而创新
25 楼 ddd 2006-09-14  
观察蓝钻石。
在我这里看前两个蓝钻石闪烁的间隔稍长
24 楼 buaawhl 2006-09-14  

有道理呀。
如果知道Hibernate要流行,干嘛要学习EJB?
如果知道Ruby Rails要流行,干嘛要学习Hibernate?

前面的话可以修正为。
流行技术这东西,不需要领先知道几年,领先知道半年就够了。
23 楼 Trustno1 2006-09-14  
buaawhl 写道

再说了,技术这东西,不需要领先几年,领先半年就够了。

有个老笑话说,某人吃了7个饼吃饱了,就大发感叹明明是第七个饼吃饱的干吗要吃前6个饼呢?
22 楼 buaawhl 2006-09-14  
Trustno1 写道

据说温州商人的家里,必备两分报纸,人民日报,解放日报.这种我们看都不要看得官样文章,却是他们了解
国家政策,官员变迁的主要渠道.当我们看到一个大新闻的时候,这些人恐怕在几个月以前就从这些报纸上读到了.


这个我知道。我知道。举手,举手,要求回答。
不就是搞情报工作的吗。据说,日本人从中国的一个油田工人照片,就分析出来中国需要的井架大小。
不过一般人要这敏感度,没意义。我要是搞贸易的,玩政策法规的,整个身家都和国策密切相连,我自然也会关注权力核心。

再说了,技术这东西,不需要领先几年,领先半年就够了。
(领先几年也没用啊,说到底,这主要不是技术先进性的问题,主要是一个流行时尚的问题。要说先进,很多人工智能领域论文还更先进呢)
落后5年,总比落后6年要强吧?
怎么就抹杀了大牛们传道的功劳呢?




21 楼 ddd 2006-09-14  
Trustno1 写道

  国内的程序员大都看不太起学院派.  

你看到的是顶尖的学院派,顶尖的程序员中肯定有一堆不太看得起他们的。
在大陆的状况是不顶尖的程序员看不上不顶尖的学院派(大陆在计算机领域有顶尖学院派么?)

这不是学院派和程序员之间的问题,而是在各自领域的能力问题。
20 楼 ddandyy 2006-09-14  
偶像   又见偶像

抗议一下  而啥俺偶像不是资深会员
19 楼 Trustno1 2006-09-14  
charon 写道

不过里面的东西基本上不是我们凡人看的。一篇文章得咀嚼n多天.

若不是有一定的信息量,哪能看穿那票牛人的真实面目呢?赫赫.
据说温州商人的家里,必备两分报纸,人民日报,解放日报.这种我们看都不要看得官样文章,却是他们了解
国家政策,官员变迁的主要渠道.当我们看到一个大新闻的时候,这些人恐怕在几个月以前就从这些报纸上读到了.
程序员这个行当其实也差不多.肯读代码文档,肯学新东西,固然是好。但是这样一辈子只能跟在别人屁股后面转. 不少人都苦于跟风炒作,像纯月部落这样的,出来一个新技术就好像天要塌下来了.其实大可不必,吃饭喝茶的时候去CiteSeer,OCLC这些地方,找些学术论文看看也就见怪不怪了. 国外这些技术的新动向,都不是我们这里的龙芯麒麟那样炒起来的。而是实实在在的经过长时间积累的,水到渠成的结果.01年的时候我在找Omega caculus的paper的时候发现做这个东西的人在95年之后全部转向去搞Dynamic type或者type inference了,所以当时我就认为OO这条路肯定已经到头了,那个时候我就开始关注Python.想想Matz写Ruby是93年,Russum写Python是89年.如果你去citeseer去查查 dynamic type,type inference相关的论文,普遍都是在89-98年,这两个时间的吻合度很值得回味的.他们这些人之所以真牛是因为他们接近于学术的核心知道技术的最新动向,有比较好的计算机科学的训练,加上自己有那么一点点小聪明.这在学术界未必吃得开但是在程序员这个行当里是绰绰有余了.

  国内的程序员大都看不太起学院派.一来是因为国内的学院派水平普遍太次,教授不如副教授,副教授不如讲师,讲师不如博士,博士不如硕士,硕士不如大学生.另外一方面,主要还是看得少接触的少,不知道真正的学院派有多厉害.你去citseer上查查现在爆炒的东西都是人家几年前玩剩下的.倒不是说国外的学院派不屑于把这些东西推广,毕竟人家有人家的专业术业有专攻。实用领域的东西不是他们的专长,人家的教授副教授不会拖着自己的研究生苦力去接项目赚外快.   
18 楼 charon 2006-09-14  
buaawhl 写道
Trustno1 写道
想不跟着这票牛皮烘烘的人们屁股后面吓转悠,这个站点就是必备利器之一.
http://citeseer.ist.psu.edu/


悟空。你又吓我。

不过吓得好。搜索的时候经常遇到这网站,有些提供了下载,有些下载不了。



2002以后的文章大多数都有全文吧.早一些的文章虽然多数没有收录全文,但是摘要还是有的。
这个地方最漂亮的是相关性做得太好了。
不过里面的东西基本上不是我们凡人看的。一篇文章得咀嚼n多天. 比学语言写代码痛苦多了
17 楼 capitain 2006-09-14  
啊, 原来这个引擎也是用的ruby, 强

Julien 写道
rails出来之前我玩过RpgmakerXP,那个的引擎就是ruby的
那个整个是一个游戏引擎,很多类和对象协作,出一个rpg的效果(底层封装了win的directx)。
注意那个引擎里面完全完全没有考虑插件或者外接的接口。

但是那个引擎出来之后大家就有很多其它的想法要在上面实现,比如说那个战斗是平板的,但是爱好者想要做出放缩,近大远小,显示血条之类的效果。
于是他们去写类AOP的类方法重定义,结果是出来很多脚本,每个脚本对应一个功能,相互之间基本不干扰。加入和抽掉都很方便。
我自己也做了一些功能发布出去,那个时候我就记住了ruby干这种事情有多强,一个完全没有插件体系的系统能够那么轻易的插入和修正功能,不是简单的修正,有的插件把整个系统都变掉了,原来的战斗是回合的,结果给他改成了时间轴的。完全不懂编程的玩家下载一个脚本放到游戏脚本表的最后就能出各种效果。
16 楼 buaawhl 2006-09-14  
Trustno1 写道
想不跟着这票牛皮烘烘的人们屁股后面吓转悠,这个站点就是必备利器之一.
http://citeseer.ist.psu.edu/


悟空。你又吓我。

不过吓得好。搜索的时候经常遇到这网站,有些提供了下载,有些下载不了。

另。
有一票牛人可以跟着,总比没的跟强。
瞎转悠,总比没的转悠强。
15 楼 jack 2006-09-14  
airport 写道
rails的速度可能在linux下体现好一点
开发环境还是得靠windows。


windows 下面就是一个vim好用些,不过如果能够自动完成某些关键字组合就好了  vim还是需要按下某些快捷键才能做到,按那两下,还不如直接打字了.....


14 楼 airport 2006-09-14  
rails的速度可能在linux下体现好一点
开发环境还是得靠windows。
13 楼 Trustno1 2006-09-14  
想不跟着这票牛皮烘烘的人们屁股后面吓转悠,这个站点就是必备利器之一.
http://citeseer.ist.psu.edu/
12 楼 sorphi 2006-09-14  
3年前因为robbin的鼓吹让我抛弃了使用一年多的struts而学习了tapestry框架。当然现在并不会因为robbin对webwork的坚持让我转向webwork(虽然也使用webwork做过项目)。坚持一个合适自己的框架,能够深入研究并且熟练使用,对我当前来说更重要一些。还是那句废话,广泛猎取和深入研究要搞好度。

时间允许的话,我为什么不再次考虑学习一下ruby呢?这几年的事实证明,跟着robbin的视线走还是挺适合我的。(瞧这马P拍的....)
11 楼 robbin 2006-09-14  
wolfsquare 写道
挖坟挖到的,赫赫.
robbin 写道
python/ruby是下一代的编程语言,Java是这一代的编程语言,要等到python/ruby流行,至少5年以后。正因为5年以后,所以我现在先不考虑。

http://www.iteye.com/post/78699


那是一年半之前的想法了。一年之间可以发生太多的事情了。
10 楼 robbin 2006-09-14  
jfy3d 写道
MacOSX/ubuntu

是不是 linux里 只能选 ubuntu


没有所谓啦,什么Linux都行,Windows也可以,当然如果对部署比较了解,推荐还是用用Linux。
9 楼 wolfsquare 2006-09-14  
挖坟挖到的,赫赫.
robbin 写道
python/ruby是下一代的编程语言,Java是这一代的编程语言,要等到python/ruby流行,至少5年以后。正因为5年以后,所以我现在先不考虑。

http://www.iteye.com/post/78699
8 楼 刑天战士 2006-09-14  
ajooTrustno1 写道
刑天战士 写道
好玩就行,一种语言玩腻了,换另一种,什么语言有深度学什么,什么语言能令我换一种方式思考我就学什么,永远不盲目崇拜一种语言,反正就1,2个星期的事……

一两个星期能学什么?也就是语法吧??难不成你是传说中 如来神掌 的法定继承人??!!


一两个星期入门不成问题吧……最起码一般的思想应该掌握了……
7 楼 jfy3d 2006-09-14  
MacOSX/ubuntu

是不是 linux里 只能选 ubuntu

一个随机的原因现先装了MagicLinux 就没装ubuntu

相关推荐

    RubyonRails4_jb51.rar

    《Ruby on Rails 4 Tutorial》是一本针对初学者和进阶者深入理解Rails框架的经典教程。Rails是基于Ruby语言的一款强大的Web应用框架,它遵循“约定优于配置”(Convention over Configuration)的原则,使得开发者...

    Scrum Poker in Rails5, docker-compose

    Scrum Poker是敏捷开发中常用的一种估算方法,用于团队成员就任务的工作量达成共识。在Rails5框架下实现Scrum Poker应用,可以...通过学习和实践这些技术,开发者不仅能提升自身技能,还能为团队带来更流畅的开发流程。

    sample-rails-gsap-prompter:带 gsap 的演示提示器

    在Web开发领域,Ruby on Rails(Rails)是一个强大的全栈框架,它以Ruby编程语言为基础,致力于简化开发流程并提高开发效率。这个名为"sample-rails-gsap-prompter"的项目,就是将Rails与GSAP(GreenSock Animation ...

    awesome-ruby-security:很棒的Ruby安全资源

    "awesome-ruby-security"是一个专门针对Ruby和Ruby on Rails的安全资源集合,旨在为开发者提供一个全面的学习和参考平台,帮助他们构建更加安全的应用程序。 首先,我们来谈谈Ruby的安全性。Ruby是一种面向对象的...

    PA-2.0:个人助理2.0项目

    Ruby on Rails,简称Rails,是Ruby的一个Web应用框架,遵循MVC(模型-视图-控制器)架构模式。在PA-2.0项目中,Rails简化了数据库交互、路由设置和视图渲染等复杂任务,极大地提高了开发效率。Rails的“约定优于配置...

    howto:如何在Internet上处理事情

    本文将围绕如何高效地在互联网上处理事情,结合标签中的技术关键词,如Ruby on Rails、Swift、Markdown、Vagrant、Elixir、Phoenix框架以及数据分析,来探讨相关知识点。 首先,让我们从Web开发的基础——**Ruby on...

    jruby-lab:JRuby的实验室是jruby内容的存储库。 带有示例和参考

    JRuby的主要传播网站- Wiki和文章一点JRuby历史 JRuby Wiki以及开始使用JRuby进行学习的方式 JRuby on Rails的Wiki部分 有关在JRuby中进行编程需要什么的文章 该参考资料显示了从Ruby类到Java类的转换 JSR-292和...

    资料库名称:勤闲システムの开発実践チュートリアル

    接下来,让我们谈谈Ruby。Ruby是一种面向对象的、动态类型的编程语言,以其简洁、易读的语法而受到开发者喜爱。在开发勤闲システム时,Ruby将作为主要的后端语言,用于处理业务逻辑和数据库交互。Ruby on Rails...

    redis-server下载

    首先,让我们谈谈Redis在Rails(Ruby on Rails框架)中的默认缓存。Rails内置了多种缓存策略,包括动作缓存、片段缓存、页面缓存等,而Redis可以作为其后台缓存引擎。通过配置`config.cache_store = :redis_cache_...

    writingthroughmaterial

    "writingthroughmaterial" 是一个基于Ruby on Rails(RoR)框架构建的网站应用,它专为内容管理和在线展示设计。这个应用允许管理员便捷地管理各种类型的材料,包括音频、文档和图像,以便于用户访问和学习。 首先...

    初识前端后端UI交互,初学者必看

    常见的后端技术有Java、Python、Node.js、Ruby on Rails等。数据库,如MySQL、MongoDB、PostgreSQL,存储并管理应用程序所需的数据。后端开发者还需要关注服务器配置、安全性、性能优化等问题。 **UI交互**,全称...

    flatwhite:https的端口

    而Ruby on Rails(简称Rails)则是一个基于Ruby语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,使得开发Web应用更加高效。 在压缩包子文件的文件名称列表中,"flatwhite-master"可能是指...

    跨站脚本漏洞(XSS)示例

    5. 使用最新的安全框架和最佳实践:许多现代Web开发框架提供内置的安全机制,如Ruby on Rails的protect_from_forgery或Django的CSRF middleware。 总的来说,理解和防范XSS漏洞对于任何Web开发者来说都至关重要。...

    miladrahimi.github.io:Milad Rahimi的网站。 软件工程师,后端开发人员和Web设计师

    后端开发人员通常使用技术如Node.js、Ruby on Rails、Django或Spring框架来构建应用程序的逻辑,同时与前端进行交互,通过API(应用程序接口)传输数据。数据库管理和优化也是其职责之一,例如使用MySQL、PostgreSQL...

    A_E31190672_Elyas_Agus_Suhadak

    此外,还有后端框架,如Express.js(Node.js平台上的Web应用框架)、Django(Python的全栈框架)和Ruby on Rails,它们为服务器端提供了结构和便利,帮助快速构建Web服务。 回到Elyas Agus Suhadak的项目"A_E...

Global site tag (gtag.js) - Google Analytics