众所周知,ASP已经被微软淘汰了,跟着,又被许多的开发者抛弃了。然而,我仍然认为ASP无论是作为入门的技术还是开发平台,都很值得我们继续去使用。
在Google上搜一下,可以发现一大堆对ASP不好的评价,什么运行速度慢、异常处理机制不好、缺乏面向对象机制、开发效率低、漏洞多等等。为了让大家对ASP有个正确的认识,我先为它正名。
一、ASP不慢,慢的是数据库
几年前,我用动网论坛程序架了一个BBS,这套程序就是当时经典的ASP+Access架构。我也遇到了某些人所说的论坛慢,有时候卡死不动的问题。然而,自从我换上SQL Server数据库以后问题就解决了。所以罪魁祸首乃Access。程序执行所需的时间是毫秒级别的,在这个级别内,无论是10毫秒还是100毫秒,实在是感觉不出来,但是Access的并发性差,阻塞了部分程序执行,导致页面卡死。
二、异常处理机制很好,只是很多人不知道
以前,很多人包括我在内都用VBScript来编写ASP程序,VBScript的异常处理机制的确是糟透了。然而,JScript则很好,因为它支持包括C#、Java都有的try…catch语句,足以处理所有异常。
三、在Javascript蓬勃发展的现在,面向对象也不是问题
自从Javascript因为Ajax而兴起,它的面向对象机制就已经被模拟出来了。虽然不是真正的面向对象,但是作为中小型Web程序,这也足够了。同样以ECMAScript为核心的JScript也拥有相同的机制。此外,ECMAScript的语言灵活性无疑是最强的,做前端开发的人员对此最为清楚。
四、漏洞是程序员造成的
经常听到有人说ASP的SQL注入漏洞非常严重,其实无论什么语言都存在这样的漏洞,问题在于程序员会不会堵。ASP中可以通过参数化查询简单高效地解决这个问题。不需要字符串替换,甚至不需要数据验证。
下面我来说说学习ASP(JScript)的好处:
一、前后台技术兼修
无论是前台的Javascript还是后台的Javascript都是基于ECMAScript核心,所以,后台的Javascript写得好,前台Javascript的水平也可以得到提高。
二、认识Web应用程序的基本原理
ASP.NET、PHP等技术屏蔽了许多Web的底层,这对初学者认识Web程序的原理非常不利。而ASP则绝对是从最基础写起,比如上传文件的程序就必须分析数据包获取文件数据。
三、开发效率高
很多人说ASP.NET的开发效率高,我对其持反对态度。如果应用程序的功能需求不复杂,绝对是用ASP开发要快。因为ASP是解析执行,不需要编译。修改、调试要方便得多。Windows也为ASP提供了一个很好的运行环境(IIS),无需再作额外的配置。此外,当前后台都用同一种语言时,很多代码都可以复用,这是其他技术平台无法比拟的。
近年来也有其他的Server-Side Javascript(SSJS)出现,比如Jaxer、JScript.NET,Mozilla也有一个SSJS的项目。期待ECMAScript在后台开发中有更大的发展。
信息网址:http://www.khcha.com/ziyuan/view308.htm