最近在做一个J2EE的项目,用Spring + Hibernate。在开发过程中,我体会到了Java语言的麻烦,在许多动态语言中可以很简单的解决的问题在Java中就相当麻烦。但Java作为一种强类型语言的好处就在于方便了IDE。而对动态语言很难实现功能强大的辅助开发功能。不过对于开发者,尤其是熟练的开发者来说,IDE带来的帮助远不如语言本身的灵活性带来的好处大。如此看来,RoR的出现对Java社群带来的影响就是理所当然的了。
相比起Java,PHP要简单得多。而且便于快速开发快速测试。在J2EE里,要对Servlet或者Controller/Action之类的东西做单元测试是比较麻烦的。因为不能自己构造request和response。虽然Spring提供了Mock对象,也有其他人做了类似的工作,相比 PHP里只要设置下$_GET,$_POST就能自定义请求数据来说,就要复杂了很多。
Spring号称是一个轻量级框架,但实际用下来还是比较麻烦的。可以想见,传统的J2EE开发就更痛苦了。对于不那么复杂的Web应用,也是多数Web应用,其实还是PHP更适合。
但PHP并没有受到很大的重视,一直都是叫座不叫好型的。PHP本身也有不少缺点,比如没有namespace/package,没有一个被普遍接受的好的应用框架,没有应用服务器。但更重要的原因恐怕还是PHPer普遍对面向对象认识不足。虽然PHP提供面向对象功能已经很久了,但多数程序里还是把 PHP当作面向过程的语言来用,在一些高人的眼里,PHP就成了低端语言。
老谢现在也做JEE啦
hia~hia~
用Ruby吧
又面向对象,又快速开发,又动态,又有好的框架
这不是俺们一起做的浦东外服吗?我觉得强类型还是很舒服的用起来,起码eclipse可以提供方法列表,我用javascript都很不舒服,继承也没有关键字,还要用对象冒充