asp是微软公司实现动态网页的一种技术。asp支持一些脚本语言,主要以vbscripp为主。与asp相比较,你还可以选择另一中开放源代码编程语言----php,php可以运行在多种操作系统下,其中包括linux和windows。
虽然asp是一种不错的技术,但从长远考虑我相信php在将来的技术领域里会有不凡的表现。
我认为有七个理由可以说明php比asp更优秀:
1、速度、速度、速度
当我第一次运行php脚本程序时,我不禁对自己说:“太快了”,当时我是在仪态166mhz的机器上运行我的程序的,但运行的速度仍然很快。
asp是永远也不会象php这样快的,因为asp是建立在com体系结构之上的。当用vbscript写asp脚本时,实际上实在使用com的对象,当向用户浏览器发送信息时,它用的是response对象的write方法,当它访问数据库和文件系统的时候,它用的是其他的com对象。这些com对象的使用使运行速度下降。
在php代码中,所有的工作都运行在php的内存空间中,也就是说php不是基于com对象的,所以的他的运行速度会快一些。
下面是我们在mssql7 40次运行一个查询语句的执行时间统计:
php querying mssql7 时间(秒)
用 mssql extension 01.88
用 odbc extension 09.54
用 odbc via com (ado) 17.28
用oledb via com 06.19
当我们使用php.odbc,访问数据库用了9.54秒,而用com接口去连接数据库需要比php所用的时间高80%。
oledb是微软的一种高速访问数据库的技术,他比odbc要快。但当我们所php和oledb的效率实验时,结果是php的整体性能比oledb高200%,如此的出一个结论,如果不采用com可以获得较快的执行速度。
当然php的执行速度还不是最快的,但我们才刚刚开始起步,我们会逐步的完善他,而且php是一种开放源代码编程语言,世界上许多程序员在不断的完善他的技术,相信他一定会比非开放源代码系统获得更高的执行速度的。
2、高级内存管理
在iis4下,一个asp脚本header.asp,如果被20个页面所包含,那么运行的时候,在内存当中会保留这20个header.asp的编译副本,iis5解决了这个问题,但只有windows2000才支持iis5,由于这种iis5的不能向下兼容的原因,许多服务器仍然要使用iis4下的低级的内存管理。
而在php中,不会存在这种问题,只有当require时,才会调用某个include文件。
3、没有后顾之忧
我非常憎恨的一件事情就是会买到一件不放心的产品,比如当你买了一辆汽车,但由于发动机是坏的,你需要更换他;当你买了一栋房子的时候,你要去修补漏雨的屋顶。
那么asp旧乡这些产品一样,当你买了asp之后,如果你需要加密技术,你就要买aspencrypt;当你需要email管理时,你就要买serverobjets qmail;当你需要文件上传时,你还要买artisans sa-fileup.
4、mysql使php更精彩
php与mysql的组合既简单又精彩。php有许多管理和维护mysql的工具,对mysqk的支持是最全面的。许多有用的函数如mysql_insert_id和mysql_affected_rows等,其他的数据库则没有。
asp和php都是中型网站的较理想的解决方案,但php与mysql的紧密结合使php更加优越。
mysql的虚度比microsoft access速度快,mssql和oracle速度比mysql要快,可是费用较高。
5、java和c++的变成风格
这个优点只是一个看法。
我知道你不会相信一个visual basic程序员会因为php有java和c++的编程风格而转向使用php,但你会相信有许多人还是喜欢java和c++的,php是一种具有这两种语言的编程风格的较容易学习的语言。
php支持结构化编程,在vb因为他的继承性使用类还是较少的。而php的象java和c++一样的继承性使一个大型的程序中到处都充满了类的影子。
6、bug的处理
你是否曾经要求microsoft修改asp的一些bug呢?如果你不是一个象boeing一样的组织,你无法获得迅速而恰当的修改,把么当你遇到bug而停止工作时,如果这个bug不修改,你将无法继续你的工作的。
php,当你发现bug时,你可以修改他,如果你没有专家的水平,你可以请专家修改,并且你的修改会得到开放代码组织的接受和认可。
7、移植性
microsoft经常修改asp,下一版本叫asp+,现在已经开始测试。我相信他们会修改许多我曾经提到过的问题。但也无庸质疑的,microsoft会将你限制在他们的产品范围之内的。
我曾经是一个苹果机的程序员,当windows95问世后,我开始转变,但许多原来的代码都无法在windows95下运行,这些代码现在被放在一边,我非常的遗憾。所以我不希望在windows下再出现这样的悲剧。
不要忘记novell曾经也象microsoft的网络操作系统一样热及一时,但现在已经没有许多人用了,那么microsoft也会这样的。
我找到了php,我仍旧在windows下工作,但我知道php代码可以运行在solaris、linux和许多其他的操作系统中,我的心里感到安慰。
chg 于 2006-07-29 09:35:18发表:
受教了
flybull73 于 2006-04-18 17:18:24发表:
写得好。。。