VB.net学习笔记(一)net FrameWork概述



net framework目的:试图将多种语言在“任意系统”中无阻碍地运行,解决语言过度依赖系统,也解决一些突出

                                      的问题(如dll hell)

于是,提出解决方法是:

            多个语言都生成一个中间代码,中间代码在任意操作系统中(这个系统只要安装了net framework),就可再次

            生成本地可执行文件,从而解决两个问题:

            1、多语言集一身

             2、任意移植不同系统

于是,重点就是推出net framework(如下图),上层是任意语言开发,最终到netframewwork中被分成两大类:web与窗体

VB.net学习笔记(一)net FrameWork概述_第1张图片








因此,从vs2002开始,它努力的方向就是尽量把语言纳入一个IDE中,因为它努力将它们转化成一个不差别相互识别的中间语言。

               有人说,各种语言就是外在不同的表现,就如同你喜欢红色的衣服,而另外的人喜欢黑色的衣服一样,只是不同的口味而矣。

              至于微软怎么做,最终是否达到,我们试目以待。

VB.net学习笔记(一)net FrameWork概述_第2张图片









如下图,这是整个net framework的工作过程。

1、先由IDE中的vb.net、C#等语句编写出源代码;

2、由net framework中的语言编译器,编译成中间代码

      注意中间代码是不可执行的,但它在net framework透明的,即vb.net编的中间代码是“识别”C#编译的中间代码。

上面过程就是程序员编写、并生成安装程序的过程。

3、它程序安装或第一次执行时,它会再次被net framework中另一个编译器JIT再次编译,生成本地可执行代码。

      注意,它只是第一次才编译,后面就直接运行已经编译的,所以第一次执行时都会感觉很慢,后面就好了。

第3步,就是移植安装的过程。

两者都是要有net frmework。因此net framework中有两个编译器。

VB.net学习笔记(一)net FrameWork概述_第3张图片




net framework有点类似vb,和Java,但两者是有显著的区别:

vb  是解释性语言,边解译边执行。

java 是在虚拟机中翻译执行,每次都要这样。

net framework却不同,它的成品程序,只在JIT中即时编译一次(这一次就点象jave或vb),

              正因为仅这一次,它生成了本地可执行的二进制代码,因此下一次它将不会再次经JIT编译。

VB.net学习笔记(一)net FrameWork概述_第4张图片



总结,net framework就是一中介公司,你只须和中介公司接触即可,它会自动处理不同语言的交互,与底层硬件和不同的

           操作系统打交道。因此开发效率更高、错误更少、伸缩性更强。

你可能感兴趣的:(VB.net学习)