论坛首页 Java企业应用论坛

php,rails和java的有趣比较

浏览 37458 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-11-13  
随便瞎说一下

Tim Bray 是Sun 的Web 技术主任,同时也是XML 的发明人之一

04年才进入Sun 不能指望 他这种背景一定说Java的好话

收集整理一些论战的话题

http://www.iteye.com/topic/24443

http://hgq0011.iteye.com/blog/33975

同样看一个帖子得出的结论竟完全不同

引用
这篇文章(http://www.tbray.org/ongoing/When/200x/2006/11/10/Comparing-Frameworks)从可升级性,开发速度,开发工具,可维护性比较了java,rails,php。作者个人认为他们最重要的是可维护性,因为开发完成一个系统,维护它是一个长期的过程。从文章中提供的示意图可看出rails的开发速度和可维护性是非常的好,以前就听说RAILS是个非常不错的脚步语言,我也正在学习它。希望以后能够用RAILS开发出更好的web系统来。

0 请登录后投票
   发表时间:2006-11-13  
robbin 写道
引用
举个简单的例子,如果JavaEye是由三个刚刚学习Java不久的开发人员来负责,你会建议他们使用RoR吗?或者JavaEye是由三十个水平参差不齐的人来维护,你会建议项目使用RoR吗?


肯定会要求用RoR。RoR入门比Java快很多倍。

不需要30个人维护,我需要的是3个高手(Java高手,RoR高手都行),30个人只会把事情搞坏。

引用
希望用某种编程语言来大幅度的降低软件开发的复杂度是不切实际的

如果说软件业务逻辑复杂度是10,Java编程带来的次要复杂度就是50;RoR把次要复杂度降低到了10。

引用
是像Java或者C#这样强类型的准静态语言在实现复杂的业务逻辑、开发大型商业系统、以及那些生命周期很长的应用中也有着非常强的优势


为什么静态语言在复杂业务逻辑,大型商业系统,长生命周期应用当中有非常强的优势呢?理由是什么?

引用
对于软件工业来说,最重要的还是分解业务逻辑的复杂度和不确定性。毕竟,正如我的一个同事所说的那样,“无论用任何语言,初期的开发成本我们还是投入的起的。”呵呵,据他说,他经历的项目在初期的开发上占的成本大概只占到整个项目开发成本的1/6到1/5。


http://robbin.iteye.com/blog/29555

http://robbin.iteye.com/blog/29589




robbin大大,我可不认为ruby比java上手快,global environment,implicit iterator,block,以及很多东西的运行方式和传统的都不一样,让新手作肯定困难重重……
0 请登录后投票
   发表时间:2006-11-13  
刚刚看完Ruby,正在看关于RoR的书。
感觉RoR学起来比Spring+Hibnerate这样的组合快。但是在语言层面,Ruby学起来恐怕不会比Java快。

7-10个人,水平参差不齐,只有一个高手,甚至没有高手。这样的团队在国内还是很普遍的。不知道这样的团队中使用RoR有没有问题。

一个公司如果有三个高手,肯定会让他们带人去做三个项目甚至六个项目,不太可能把他们全投在一个项目中。找不到项目的情况另说。
0 请登录后投票
   发表时间:2006-11-13  
关于参差不齐的开发人员问题,请看这篇文章

事实是,如果你的程序员不会用TDD来自律,任何强类型都无济于事。
0 请登录后投票
   发表时间:2006-11-13  
dongbin 写道
关于参差不齐的开发人员问题,请看这篇文章

事实是,如果你的程序员不会用TDD来自律,任何强类型都无济于事。


这个太夸张了。不用TDD,也许不会做得很好,但也不是一定会失败,不管是强类型还是弱类型的都是一样。做不到100分,做到七,八十分还是完全可以的。

但是Ruby这样的动态语言对单元测试的依赖性更大。强类型语言中很多编译器能检查出来的错误,在Ruby中恐怕都需要靠单元测试来发现。所以如果都不用TDD,程序员水平都不高,那么Ruby和RoR的效率还能不能比Java高,对此我是有疑虑的。
0 请登录后投票
   发表时间:2006-11-13  
BirdGu 写道
刚刚看完Ruby,正在看关于RoR的书。
感觉RoR学起来比Spring+Hibnerate这样的组合快。但是在语言层面,Ruby学起来恐怕不会比Java快。

7-10个人,水平参差不齐,只有一个高手,甚至没有高手。这样的团队在国内还是很普遍的。不知道这样的团队中使用RoR有没有问题。

一个公司如果有三个高手,肯定会让他们带人去做三个项目甚至六个项目,不太可能把他们全投在一个项目中。找不到项目的情况另说。


看你要达到什么样的ruby水平了。如果你达到DHH那种水平,估计要很久了。但是如果你只是需要能够使用RoR的水平的话,那我觉得学习ruby一周就够用了。
0 请登录后投票
   发表时间:2006-11-13  
引用
但是Ruby这样的动态语言对单元测试的依赖性更大。强类型语言中很多编译器能检查出来的错误,在Ruby中恐怕都需要靠单元测试来发现。所以如果都不用TDD,程序员水平都不高,那么Ruby和RoR的效率还能不能比Java高,对此我是有疑虑的。


其实根本没有你想像的那么夸张。除了偶尔打字的时候拼写错误,一般也不会犯什么语法上的错误。
0 请登录后投票
   发表时间:2006-11-13  
我越来越感觉到大家之所以对动态语言和强类型语言有这么泾渭分明的看法,更多的是因为所接触的工作环境不同导致的。我不知道在JavaEye上有多少人参与的项目是Internet上的web项目(类似JavaEye本身),有多少人经常参与的是借助web形式的企业应用项目。我属于后者,所以更多的时候考虑的问题是如何满足相对复杂的业务需要,而不是考虑如何解决高并发或者海量信息的组织等问题。
此外,我个人并不特别偏爱某种类型,认为各有各的优势,不存在谁取代谁的可能,只有互相借鉴的对方的长处才会更好的发展。
但是我不太赞同将RoR说的像是一个救世主一样。举个最简单的例子,我认为RoR的出现对软件工业的推动不会比MDA或者在JavaEye很流行的Agile来的大。因为更多的场合,开发者的开发观念和开发素养才是最重要的。
0 请登录后投票
   发表时间:2006-11-13  
谁知道发错帖子了怎么删除?找了半天没找到。
0 请登录后投票
   发表时间:2006-11-13  
我正在慢慢的看ruby,还没开始看RoR。

ruby做为编程语言,是要比Java复杂的,如果两门语言只是语法不同,而语义相同的话,学起来是非常快的,但是ruby的语义更复杂,有Closure,有Continuation,这些都是java里面没有的。有java背景去学C#要比有java背景去学ruby快。

当然看一周ruby然后看RoR照猫画虎,也是可以完成项目的,等需要提高功力了再钻研RoR不迟。
0 请登录后投票
论坛首页 Java企业应用版

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