日期:2014-05-16 浏览次数:20994 次
在上一篇文章中我们将框架进行了讲解,这篇文字我们重点来学习下ASP与ASP.NET的区别。
在讲解之前我们先来理解一下程序执行的两种方式,分别是解释性程序执行方式和编译性程序执行方式。
我们的计算机只能执行包含机器指令(也称为机器代码)的程序,不能直接执行我们编写的程序。用高级语言编写的程序基本上就是我们上面提及的两种执行方式,在大多数情况下,一种语言会选择其中一种执行方式。例如,用BASIC语言编写的程序通常是解释性的,也就是说另一个称为解释器的程序会检查BASIC源代码,确定该程序要做什么,再让计算机完成这些动作。使用解释性语言,执行过程是间接的,也就是说,每次执行程序是,都需要确定源代码的意图,所以解释性程序执行方式效率较低。
编译性程序执行方式,在执行之前,会有编译器将程序转换为机器语言的文件,以后再执行时就不用重新编译了,因为编译只做了一次,运行时不需要翻译,所以执行效率比解释性执行方式要高的多。
下面进入我们的正题,我们今天要说的ASP就是解释性编程框架,而ASP.NET是编译性框架,因为有了上面这么多的介绍,所以ASP.NET编译性框架要比ASP的解释性编程框架在运行速度和处理效率上要高的多这点就很容易明白了。
在用ASP编写应用程序的时候,ASP代码、HTML还有文本混合在一起。只要有需求,就可以在人员的一个位置来插入一段代码来实现特点的功能,这种方法在实现上可能听起来很方便,但在实际工作中会产生大量繁琐的页面,很难读懂,导致代码维护特别困难,代码的重用也就无从谈起了。ASP.NET与ASP相比,ASP代码与HTML设计以及文本完全分离,这样也就使得ASP的这些缺点难维护等迎刃而解了,这样通过继承机制也就很容易的实现了代码的重用。
ASP仅仅支持两种非类型语言:VBScript和JavaScript。而asp.net是基于.net框架的一种web容器和web服务器编程框架。而.NETFramework本质上就支持多语言,所以我们的ASP.NET也支持很多种强类型语言,如C#、VB等等。这样ASP.NET在多语言上也就更加的优越于ASP了。
除了上面那些区别以外,ASP没有调试机制,当安装新版本的DLL时需要先关闭Web服务器,而ASP.NET还有一些优异的性能,比如内置方法有Trace可以帮助调试页、提供声明性服务控件和无需注册组件等。
ASP.NET与ASP相比,我们只有真正的明白ASP.NET的优越性,我们才能将ASP.NET学习的更好,比较是为了更好的学习。