ASP - JSP/J2EE - .Net - Python - Ruby - ColdFusion - PHP 比较

学段:职业成长  学科:软件工程  来源:出自 livid blog  作者:livid
摘要:这是我发到 V2EX 上一篇帖子的回复。可能会具有在这个现实社会的现实用途,于是也就发一份到我的个人网站…

这是我发到 V2EX一篇帖子的回复。可能会具有在这个现实社会的现实用途,于是也就发一份到我的个人网站 livid.cn:

---

我高二到高三的时候,用 ASP 做过不少东西。最 tough 的一个,应该就算是自己写了一个 COM 控件(当时取名叫“NREOUT.Mobile”),然后用 ASP 做这个控件的 wrapper 来生成网站(一个 WAP 上的社区)。

不过 COM 控件的部署,性能及 Unicode 支持都应该算是 ASP 的 major pain,而且在 ASP 中应用 OOP 方式开发基本就是不太现实。

So ASP is out.

那么 JSP 呢?和 ASP 的方式其实多少有些类似。都需要将核心业务逻辑封装到一组对象中,而 JSP 只是这个核心对象的 wrapper,而如果你将页面生成方面的逻辑也自己完成一个或者使用成熟的 framework 的话,其实彻底用不到 JSP 的。

OOP 在 Java programming 中可以发挥得淋漓尽致,因此编程快感大大提升。不过 App Server 的部署是稍微有些麻烦且昂贵的事情。高级的 App Server 如 BEA WebLogic 提供了一些很高级很好用的部署方式,但是也要花很多的钱买。

总之 J2EE 是个好东西,但是很贵,如果 ROI 是你所在公司的敏感问题的话,J2EE 需要慎重考虑。从开发人员,到系统管理人员,及软硬件方面的费用,恐怕都不是个小数目。据我所知,eBay 是 Sun 最大的客户。而 eBay 是一家 NASDAQ 市值超过 600 亿美元的大公司。

.Net 在各方面的情况都和 J2EE 类似。而对于小公司来说,.Net 由于只能运行于 Windows 上,且最佳数据库搭配是 SQL Server(如果想完全发挥 .Net Framework 的功能的话),在软硬件方面的投入可能会超过 J2EE,不过 .Net 开发人员的工资,可能要比 J2EE 的稍微低一些。

然后我们来说说 Python,Ruby,Zope/Plone 和 ColdFusion。

Python,Ruby,Zope/Plone,ColdFusion 的情况类似,在我看来,目前这几个东西在中国基本上还属于 geek 们的玩具,绝非已经“普及”了的东西。熟悉这些技术的开发人员的数量要远远低于其他技术的,因此,如果选择使用这些技术,对于一家小公司来说,就是一种潜在的风险,如果主要技术人员离职,那么之前投入在他基于这些技术开发完成的东西上的资本,对于公司而言基本上就是被浪费了。不过,如果对于类似豆瓣这样的 one man project,这些东西却往往可以带来“惊喜”。

最后来说说 PHP。

PHP 现在很热,很热很热。类似 C 的语法和一直缺乏的命名空间支持(这恐怕也算是 PHP 的特性吧,哈哈),使得 PHP 上手非常容易。因此熟悉 PHP 的开发人员的数量是令人乐观的。但是大部分 PHP 开发人员的计算机方面的基础知识比较欠缺,因此使用 PHP 开发出来的某些程序,会带有各种各样的缺陷,比如我见到很多人都没有使用 isset() 的习惯反正 display_error 在 production server 上是 off,另外如 magic quotes 和 register globals 都一半是糖果一半是毒药。不过如果用心投入的话,用 PHP 写成的程序,在性能和功能上都是可以达到令人满意的程度的,而相应投入的资源,却可能会比 J2EE 和 .Net 都要小。

在大部分时候,尤其是一些相对小的项目中,PHP 在性能上会超过 J2EE 和 .Net,比如对 string 的操作,PHP 提供的方式,其实是 C/C++ 程序的 wrapper,而 J2EE 中 String 类本身就需要经过 JRE 编译。总之,PHP 中的大部分常用功能,是 C/C++ 程序实现的“本地代码”,性能都非常不错。而在 J2EE 和 .Net 中,大部分都需要经过 VM 编译。

多数情况下,PHP 开发人员的工资,会低于 J2EE 开发人员的工资,与 .Net 开发人员的大致持平或略低,高于 ASP 开发人员的。不过,如果选择 PHP 平台,对于小公司来说,ROI 将有可能比 J2EE 和 .Net 平台都高得多。毕竟,LAMP 平台本身是完全免费的。

从我个人的角度,我倾向的是 3P on Linux + MySQL 的组合方式,如果以后 GNU Solaris 成熟的话,也将会是非常不错的选择。

转自:http://www.livid.cn/doc_view.php?doc_id=4834

【相关文章】好搜一下
Web领域10大最吃香的网站开发技术

Web领域10大最吃香的网站开发技术

虽然现在美国经济出现危机,但是网站开发领域依然很繁荣,因为不论是现在或者将来,网…