学习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在后台开发中有更大的发展。
阿里西西的补充(技术强人)
说asp是低能的人不是菜鸟就是连asp都学不会的人,技术不是用来显摆的,是用来创造实际价值的,其实很多应用asp就已经能够实现,而且有大量的通用源码可以参考,很容易转化为生产力,可以说,动态网页技术中,asp是最广泛最成熟的技术之一。asp当然存在很多的不足,这时就需要其他技术来解决。
很多人错误地认为asp是简单、低效的代名词,认为asp是低能的,已经过时的,不足挂齿的,也很简单,一学就会,一琢磨就精通。
有人讲asp不安全,写asp的程序的时候如果严格按照书写安全的代码的规范去写,写出来的程序也没有什么理由不安全。那些人说asp不安全,好像php、jsp的程序就不会出现sql injection似的。
有人讲asp不高效,真的想要高效的话你可以结合com,在win32平台下com的效率java是永远追不上的。单纯讲速度有什么意义呢?java的速度绝对算不上高,论速度的话好多技术方案的速度都比java高,这一点学java的人最清楚了,可是谁在乎过这一点了?java的胜出绝对不是因为它的速度。抛开具体的应用环境单纯地讲速度是不理性的。
有人讲asp这个不能做,那个做不了,功能很局限。其实只要你明白web的原理的话你就会明白,写asp程序表面看是在玩一种脚本语言,但你指挥的是web server,有很多复杂的功能asp也照样能完成的很好,有些功能asp假如因为web应用的先天局限做不了,你不要以为jsp、php就能做到。
上一篇: 详解python中的异常和文件读写