前几年一直弄Java,半年前跟风用过一段时间RoR,最近在搞PHP。
现体会如题:Java、RoR、PHP,一个都不能少。
各种程序设计语言最终的归宿,其实是由最初的设计思想所决定的。
C定位于底层,成就了时至今日的底层霸主地位;VB的初衷就是让Windows开发简单易用,故至今仍然占牢其地盘;Java最初瞄准的是跨平台和解决复杂问题,这一目的已然达到,并正在发扬光大;PHP则是追求简单、直接的Web开发,这一出发点成就了其互联网应用霸主的地位。那么RoR的优势是什么呢?笔者从实践中体会到,其根本的优势在于让OOP变得简单规范。
笔者在三个月前发了“RoR的正确定位”(见http://www.iteye.com/topic/75167)后,便投入了对PHP的实践中,体会如下:
1、PHP极其简单直接,对GET、POST、SESSION、SQL的直接操控可以适应多种页面需求和变化;
2、传统的PHP是过程式函数编程,简便灵活,但结构化、规范性不足。PHP5以后引入了OOP,框架也火热一片。但两种方式混编容易造成困扰,且框架编程发展较晚,尚未形成成熟统一的实践(如SSH);
3、PHP入门极易,笔者以前一周即学会,一个月基本上能应付小系统开发,这对于个体户和小作坊这类的开发群体无疑是最适合的;
4、PHP发展多年,类库和API极其丰富,能满足多种需求。
5、空间超多,布署代价极低。光这一条就可成为很多小系统的最爱。
综上所述,PHP是小系统的首选,某些特殊要求的页面也可采用。
RoR在JE上已经火了一年多了,其间无数论战,而RoR的爱好者们至今坚挺,这足以说明RoR不只是花瓶或玩具。在实践中,笔者体会到RoR的特点如下:
1、RoR的威力最主要的来源是“惯例重于配置”,而其“惯例”基本上是多年来Web开发所积累的最佳实践。大家不要小看了这种规范性,所谓“不以规矩,不成方圆”。像应用MS技术的团队,大家不要再胡思乱想,只要遵循MS的标准和规范,即可开发出不低于业界平均水准的系统。
ruby本身是极其灵活的,容易导致混乱,但rails这种天才式的框架解决了标准化的问题。大家不必再为了一个问题去参考十多种方案和实践,浪费太多的时间和精力。在RoR,方案只有一种,而实践上也只需搞定depot即可过关。从数据库设计、ORM、MVC以至于目录结构,全都是统一的。这实在是省心省力,时间和精力都可以放在业务逻辑上了,这不正是以前J2EE和.NET所宣扬的吗?
2、RoR相对Java和PHP这些老前辈,火得比较晚,类库还不够丰富。这就需要大家充分发挥聪明才智,并积极向开源社区作贡献。这一点希望RoR铁杆们多努力,让RoR的类库在未来三五年内达到Java和PHP的水平。届时RoR能不能向Java和PHP全面叫板,未为可知。
3、缘于RoR良好的结构化和OOP,建议大家做中型新系统时采用RoR。历史系统大多数数据库设计不符合RoR的惯例,手工配置会浪费太多时间,不如下点狠心重新设计,一劳永逸。
综上所述,RoR应当在中型系统取得成功。如果你已经习惯了OOP、ORM和MVC,那就一起努力吧!
Java在大型复杂系统的优良表现有目共暏,最主要的是“强”和“稳”,本人不再多述。各位Java同道在RoR之余,大可钻研一些深层次的复杂问题,以应大型系统集成的需要。
谈了那么多,全是可以跑在Linux上的开源或准开源技术,原因在于笔者在五年前已加入开源技术的死忠团。但这几年,每当有困惑的时候都学一些C#这类的技术。C#在笔者看来,定位在于大小通吃,表现比较中庸。也就是说做小系统不太繁,做中系统不太难,大系统也可以做。但中庸也是要付出代价的,这导致用C#做系统不如PHP直接灵活,中型系统不如RoR规范统一,大系统不如Java强健。
当然,实践中还是有很多MS的死党,如果您对MS技术的安全性和稳定性抱有足够信心的话,C#的确可以达到一次学习,多方适用的目的。
开源领域,要想学一种技术大小通吃,很多时候必须一钻到底,承担类库或框架开发的责任。由此可以产生专项技术超强的高手。而如果您同时掌握PHP、RoR、Java,也可以比较小的代价做到大小通吃,快速搞定各类应用开发。何去何从,应该由开发者及团队所面临的环境和场景而定。
一项专精,还是三者兼备,相信聪明的读者已经有了答案。
现体会如题:Java、RoR、PHP,一个都不能少。
各种程序设计语言最终的归宿,其实是由最初的设计思想所决定的。
C定位于底层,成就了时至今日的底层霸主地位;VB的初衷就是让Windows开发简单易用,故至今仍然占牢其地盘;Java最初瞄准的是跨平台和解决复杂问题,这一目的已然达到,并正在发扬光大;PHP则是追求简单、直接的Web开发,这一出发点成就了其互联网应用霸主的地位。那么RoR的优势是什么呢?笔者从实践中体会到,其根本的优势在于让OOP变得简单规范。
笔者在三个月前发了“RoR的正确定位”(见http://www.iteye.com/topic/75167)后,便投入了对PHP的实践中,体会如下:
1、PHP极其简单直接,对GET、POST、SESSION、SQL的直接操控可以适应多种页面需求和变化;
2、传统的PHP是过程式函数编程,简便灵活,但结构化、规范性不足。PHP5以后引入了OOP,框架也火热一片。但两种方式混编容易造成困扰,且框架编程发展较晚,尚未形成成熟统一的实践(如SSH);
3、PHP入门极易,笔者以前一周即学会,一个月基本上能应付小系统开发,这对于个体户和小作坊这类的开发群体无疑是最适合的;
4、PHP发展多年,类库和API极其丰富,能满足多种需求。
5、空间超多,布署代价极低。光这一条就可成为很多小系统的最爱。
综上所述,PHP是小系统的首选,某些特殊要求的页面也可采用。
RoR在JE上已经火了一年多了,其间无数论战,而RoR的爱好者们至今坚挺,这足以说明RoR不只是花瓶或玩具。在实践中,笔者体会到RoR的特点如下:
1、RoR的威力最主要的来源是“惯例重于配置”,而其“惯例”基本上是多年来Web开发所积累的最佳实践。大家不要小看了这种规范性,所谓“不以规矩,不成方圆”。像应用MS技术的团队,大家不要再胡思乱想,只要遵循MS的标准和规范,即可开发出不低于业界平均水准的系统。
ruby本身是极其灵活的,容易导致混乱,但rails这种天才式的框架解决了标准化的问题。大家不必再为了一个问题去参考十多种方案和实践,浪费太多的时间和精力。在RoR,方案只有一种,而实践上也只需搞定depot即可过关。从数据库设计、ORM、MVC以至于目录结构,全都是统一的。这实在是省心省力,时间和精力都可以放在业务逻辑上了,这不正是以前J2EE和.NET所宣扬的吗?
2、RoR相对Java和PHP这些老前辈,火得比较晚,类库还不够丰富。这就需要大家充分发挥聪明才智,并积极向开源社区作贡献。这一点希望RoR铁杆们多努力,让RoR的类库在未来三五年内达到Java和PHP的水平。届时RoR能不能向Java和PHP全面叫板,未为可知。
3、缘于RoR良好的结构化和OOP,建议大家做中型新系统时采用RoR。历史系统大多数数据库设计不符合RoR的惯例,手工配置会浪费太多时间,不如下点狠心重新设计,一劳永逸。
综上所述,RoR应当在中型系统取得成功。如果你已经习惯了OOP、ORM和MVC,那就一起努力吧!
Java在大型复杂系统的优良表现有目共暏,最主要的是“强”和“稳”,本人不再多述。各位Java同道在RoR之余,大可钻研一些深层次的复杂问题,以应大型系统集成的需要。
谈了那么多,全是可以跑在Linux上的开源或准开源技术,原因在于笔者在五年前已加入开源技术的死忠团。但这几年,每当有困惑的时候都学一些C#这类的技术。C#在笔者看来,定位在于大小通吃,表现比较中庸。也就是说做小系统不太繁,做中系统不太难,大系统也可以做。但中庸也是要付出代价的,这导致用C#做系统不如PHP直接灵活,中型系统不如RoR规范统一,大系统不如Java强健。
当然,实践中还是有很多MS的死党,如果您对MS技术的安全性和稳定性抱有足够信心的话,C#的确可以达到一次学习,多方适用的目的。
开源领域,要想学一种技术大小通吃,很多时候必须一钻到底,承担类库或框架开发的责任。由此可以产生专项技术超强的高手。而如果您同时掌握PHP、RoR、Java,也可以比较小的代价做到大小通吃,快速搞定各类应用开发。何去何从,应该由开发者及团队所面临的环境和场景而定。
一项专精,还是三者兼备,相信聪明的读者已经有了答案。