学习ASP的理由 分析小结

来源:asp之家 时间:2011-02-26 10:54:00 

在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)出现,比如JaxerJScript.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就能做到。

标签:学习ASP
0
投稿

猜你喜欢

  • vue项目中使用axios遇到的相对路径和绝对路径问题

    2024-05-13 09:37:40
  • mysql 5.7.13 winx64安装配置方法图文教程

    2024-01-25 19:43:37
  • Python编程中字符串和列表的基本知识讲解

    2022-02-19 16:39:25
  • SqlServer修改数据库文件及日志文件存放位置

    2024-01-15 15:17:22
  • Oracle CBO 的 _sort_elimination_cost_ratio 参数

    2008-07-22 12:24:00
  • vue中beforeRouteLeave实现页面回退不刷新的示例代码

    2024-05-09 15:11:16
  • python实现自动登录人人网并采集信息的方法

    2021-07-27 05:44:24
  • Laravel框架表单验证格式化输出的方法

    2022-05-25 04:49:52
  • 可能是最全面的 Python 字符串拼接总结【收藏】

    2023-10-06 14:29:20
  • 解读python基于netconf协议获取网元的数据

    2023-06-29 20:26:23
  • MVC4制作网站教程第二章 用户注册2.1

    2023-06-28 12:33:36
  • Python中的lambda和apply用法及说明

    2023-08-12 14:56:46
  • 基于Python的身份证验证识别和数据处理详解

    2021-04-22 04:43:09
  • pandas读取csv文件,分隔符参数sep的实例

    2021-05-03 11:38:58
  • python 对象真假值的实例(哪些视为False)

    2021-11-18 02:50:49
  • Python 经典贪心算法之Prim算法案例详解

    2024-01-01 18:18:27
  • 剑走偏锋:体验ebay的AIR

    2008-11-13 11:51:00
  • Bootstrap Table快速完美搭建后台管理系统

    2024-05-09 09:48:16
  • 基于go微服务效率工具goctl深度解析

    2023-07-12 03:57:13
  • mysql用户创建与授权的简单实例

    2024-01-18 00:20:18
  • asp之家 网络编程 m.aspxhome.com