论坛首页 编程语言技术论坛

[原创]Java社群该向Ruby on Rails学习些什么?

浏览 14247 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2005-05-27  
http://spaces.msn.com/members/zbw25/Blog/cns!1pA6-3FOo9yNp_4lmEHxdDqA!202.entry

软件开发者是分社群的,大多数时候都是按照语言来划分大的派别,门派不同的人,很少相互交流——跟那种用XXX的有什么好说的?越是这门语言足够的自给自足,越是懒得看别的语言的东西。作为一个次新兴语言,Java社群已经足够封闭了。自己内部热闹非凡,新技术、新名词、新战争、新领袖层出不穷,哪里有空去理会Java以外的世界?

可是最近的事情有点奇怪了,Java社群在非常热烈的讨论另外一个语言的项目“Ruby on Rails”!这是什么东西?

CSDN的Java频道出了一篇文章:“最美的MVC,ORM方案原来在别处--Ruby on Rails”!

是不是很令人惊讶?这么长他人自己灭自己威风的事情,咱们Java社群的人可是从来没干过的。

我当时也看了这篇文章,第一反应就是无动于衷,我还跟同事讲:“现在年纪大了,早就没有学新语言的冲动了  ”

后来呢?偶然的机会我下载了一份PDF,下载地址是:

Ruby on Rails实践

然后就看起来了。

多好的介绍啊!简单,清晰,准确,有诱惑力!于是我下载了Ruby,One-Click就安装完成了,然后在DOS窗口下输入了一条命令:

gem install rails --remote

就安装了Ruby on Rails。

再输入一条命令:

rails mybook

就建立我的第一个Web应用项目。

再输入一条命令:

ruby mybook\script\server

就启动了WEB Server。在浏览器里,就看到了初始的Welcome页面!

再说两个数字:
一个Web Server需要8行代码。
一个CRUD需要1行代码。

我的浅尝到此为止,但是留下的印象确实无比深刻!

为什么Java社群里那么多开源项目,“成百上千的Framework”,没有一个有这么方便?注意,我只说方便!

方便才是硬道理!这个道理,Java社群里也有人懂的,比如Hibernate的作者Gavin King就说:“10分钟之内把Hibernate跑起来”。Good,但是,一个包含Hibernate的Web应用要跑起来,需要多少时间?

一个流行的架构“WebWork+Spring+Hibernate”,加在一起的一个最简单demo,需要多少时间才能跑起来?等等,还没有选定WebServer呢!

再有,为什么不是iBaits呢?为什么不是Pico呢?为什么不是Velocity呢?为什么不是......

有人也许会说:“ruby社群只是发展得比java晚,所以现在只有这么一个拿得出手的东西,咱们java的好东西太多了,所以选起来累一些。”

但是,问题在于,Java社群里的那么多好东西,怎么就没有一个有RoR那么方便呢?

java社群必须认真反思了!我们究竟在追求什么?
“美感”
“架构”
“灵活性”
“健壮性”
“先进性”
“规范性”
“设计模式”

那么“易学性”和“易用性”呢?难道我们开发新的框架,不是为了减少程序员的劳动吗?

看到人家做出来的东西,总感觉有不足之处,然后呢?
自己另外做一个。然后呢?还有人又做了第三个,第四个。。。。

其实我们不需要那么多“富有创意”的项目,只要有几个能用的,顺手的就好了。如何才能改变Java社群的这种现状呢?

思考中...
   发表时间:2005-05-27  
等下期程序员杂志开买了,把一片新文贴上来。
另外说一下,很多东西是语言特性决定的。Java这种语言一辈子都做不出ruby和python那样的东西,java与C#会成为现在的c/c++。这是个人的看法,呵呵
0 请登录后投票
   发表时间:2005-05-27  
python/ruby是下一代的编程语言,Java是这一代的编程语言,要等到python/ruby流行,至少5年以后。正因为5年以后,所以我现在先不考虑。
0 请登录后投票
   发表时间:2005-05-27  
读了《Ruby on Rails实践》,并不觉得像你说的那么好,如果仅仅是文中举到的例子,Ruby更像一个玩具,Rails则是一个程序生成器。

一个Web Server需要8行代码。
一个CRUD需要1行代码。

这样的东西,不是Ruby语言带来的便利,而是Rails,一个基于Ruby的产品的功能。但这能说明什么呢,我用resin的eclipse插件生成一个resin project还一行代码都不用写呢,至于一行代码完成CRUD,最好问问这里的dhj老大,他的生成器是不是也可以用java xxxx -dir yyyy这样来工作。其实这样的东西,java的世界不是没有,而是太多了。

Python的很多东西都很不错,只是很不习惯它的语法,如果有一个用类似于Java语法实现的Python就好了。
0 请登录后投票
   发表时间:2005-05-27  
其实很多程序员都会特别的乐观,看到一个新东西,被那些fancy的demo忽悠的不知道东南西北了。但你真的要深入挖掘他们,其实令你失望的,要比你期望的多得多。所以,我才说java/C#应该是现在的C++,因为他们能提供的是那些不会让我们失望的东西。如果ruby/python能够借着力的话,我想这个发展会很快。如果回答是否定的话,我就会打一个问号了。
当然我不是说这rails这东西,是在骗人。hehe
0 请登录后投票
   发表时间:2005-05-28  
我没看出rails那些默认约定有什么好来。 我打赌ruby之类的东西不会流行
0 请登录后投票
   发表时间:2005-05-28  
打个不恰当的比方吧。
如果C是遍地丛生的草本植物,那么java/c#就是高耸入云的乔木植物,而python/Ruby就是寄生植物。
寄生在草本植物上的寄生植物,就是疯长的野草。
寄生在乔木植物上的寄生植物,可以是一尊参天大树。
0 请登录后投票
   发表时间:2005-05-28  
要寄生就必须能调用java丰富的类包资源 在这方面用javascript也许更方便.
0 请登录后投票
   发表时间:2005-05-28  
跑题了,这基本同语言无关,ruby on rails 是一个框架或者应用,java做不出来吗?当然能

java社区在模式、设计、框架等方面有点过了,大批的开源项目并不真正的从实际出发在编码,过多的考虑优雅了,无依赖了
0 请登录后投票
   发表时间:2005-05-28  
PHP,  Perl 的Web 开发速度,比 java 如何?比 Python, Ruby 如何?
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics