当前位置: 首页 > 图文教程 > 网络编程 > ASP > 学以致用 驳“ASP低能论”

ASP
ASP连接SQL2005数据库连接代码
ASP程序与SQL存储过程结合使用详解
asp 小偷采集程序原理与常用函数方法
防盗链接ASP函数
asp将table生成excel文件(xls)
asp实现新评论自动发短信提示的代码
asp最简单的生成验证码代码
ASP 常见对象总结(熟悉一下利用以后的开发使用)
ASP UTF-8编码生成静态网页的函数
ASP+FSO生成的网页文件默认编码格式以及转换成UTF-8编码方法
asp Access数据备份,还原,压缩类代码
asp fso操作类
ASP 自动采集实现代码
asp 一些支付接口
ASP 递归调用 已知节点查找根节点的函数
用asp实现读取文件的最后一行的代码
用asp实现的获取文件夹中文件的个数的代码
ASP与Excel结合生成数据表和Chart图的代码
iis7 ASP+Access数据库连接错误
ASP 日期的加减运算实现代码

学以致用 驳“ASP低能论”


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 65 ::
收藏到网摘: n/a

很多人错误地认为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就能做到。

再提到功能。要说功能的话ASP+SQL Server肯定比PHP+MySQL强百倍,MySQL不支持事务处理,就这一条让PHP开发者吃了多少亏,没有视图,没有存储过程和触发器,没有数据库端的用户自定义函数,不能完全使用标准的SQL语法,这都是MySQL的缺点。可是PHP程序员在乎这一点了吗?没有!因为他们最在乎的是MySQL很快。(注意,是MySQL很快,不是PHP很快。同样,是MySQL不支持事务处理,而不是PHP的过错。)在面对PHP+MySQL的时候,人们就如此的理性。面对ASP的时候很多人就缺乏这种理性的认识。


还有人提到MVC,是的我知道JSP可以把MVC发挥得很好。但是MVC这种编程思想不是Java或某种方案的专利,只要掌握了MVC的程序构架思想,你一样能写出这样的ASP程序、PHP程序。

许多人单纯地做一些语言本身的比较,有什么意义呢?就好像你谈JSP的时候不谈JavaBeans,不谈EJB,那么你谈JSP有什么意义呢?同理谈ASP的时候你不谈COM,有什么意义呢?不要忘了ASP的核心就是COM。谈PHP的时候如果不谈它强大的平台——Unix/Linx,PHP照样什么也不是。

不过有一点是可以肯定的,那就是:ASP的入门门槛最低。这按理说应该算ASP的优点,它秉承了微软技术一贯的作风——简单,入门门槛低。也正是因为这一点,使得大量的Web开发领域的新手能够很快地开发网站。但也正因为这一点,使许多掌握了ASP的一点皮毛知识的人自认为对ASP很懂,结果写出很垃圾的程序,让别人看了ASP的笑话。其实我接触过的一些JSP程序员也很垃圾,他们处理数据库操作的时候低级错误百出,但是因为他们是用Java开发的,所以给别人的感觉好像就高人一等。其实真的优秀的程序员如果明白了ASP的一些原理的话也能把ASP驾驭得很好。有些人玩不转ASP,你不能因此说这是ASP的问题。玩不转ASP的人大多是没有正确理解Web,而不是没有正确理解ASP中的语法。

ASP的语法很简单,Java的语法也复杂不到哪里去,C++和C虽然复杂但是只要是一个智力正常的人也没有理由学不会。

问题是语法本身很简单,但是Web很复杂。我们不是在这里浅尝辄止地玩弄一下某种脚本语言,我们是在做Web开发。

Web开发虽然有不同的解决方案,但是基本的原理是相通的。如果你清楚Web端程序的一些运行原理,你就会明白你使用的开发技术的语法难度只不过是一种入门级的难度,真正的难度不在于你用什么技术方案去开发Web应用程序,真正的难度在于错综复杂的Web应用自身。