[跟我一起学.NET] 第一篇 初识.NET

先上个Logo

[跟我一起学.NET] 第一篇 初识.NET

什么是.Net Framework?

.NET Framework是由微软开发,一个致力于敏捷软件开发(Agile software development)、快速应用开发(Rapid application development)、平台无关性和网络透明化的软件开发平台。

这是*上的解释。我想说的是作为.Net程序员是幸福的。微软自2002年发布.Net 1.0 以来,逐渐发展到现在的4.5,可谓是越来越强大了,也囊括了越来越多的流行技术。

作为一个平台,简单的说.Net有如下优点:

  • 平台无关性
    • 微软的.NET Framework是.NET技术的旗舰级实现版本,运行于windows系统的各种版本。
    • 微软的Shared Source Common Language Infrastructure是微软的.NET框架的一个源码共用的实现版本。它可运行于Windows XP,FreeBSD,和Mac OS X10.2。
    • 还有Mono,作为一个开源的.NET运行时和开发库实现版本。目前除了Linux、Mac OS X貌似还支持手机系统IOS、Andriod。真正意义上的跨平台了
  • 支持多种语言
    • 微软的官方实现语言有C#, VB.Net, C++/CIL, J#, F# 等,此外还有Python, Ruby...不一一列举了,当然C#还是主要的,毕竟是微软专门为.Net开发的语言,而且个人认为其语法也是非常优雅,容易理解和阅读的(特别是对于入门语言是C或者类C的人来说)。

相对来说在.Net平台上的开发效率也是比较高的,另外由于MetaData的设计也使得Visual Studio的自动提示和完成功能异常强大。

好了优点就不多说了,要不然我就成微软托了。让我们有请平台的三位幕后英雄3C:CLR、 CTS和CLS,直接上图

 [跟我一起学.NET] 第一篇 初识.NET

CLR(Common Language Runtime): 公共语言运行时,是.Net的核心,主要作用是为我们定位、加载和管理.NET类型,同时也负责大量底层细节的工作,如内存管理、应用托管、线程处理、安全检查等,把我们的中间语言IL编译成机器指令执行,有了它才能实现跨平台。

CTS(Common Type System): 通用类型系统,一般编程语言都有各自的类型,如整型、字符型等,而CTS规范完整地描述了CLR所支持的所有可能的数据类型,各种具体的语言如C#,如果要在CLR上运行,则其类型必须是CTS的子集,或者可以通过编译器映射到CTS。

CLS(Common Language Specification): 通用语言规范,显然我们都知道编程语言的区别不仅仅在于类型,还有语言的很多特性的不同,比如运算符,可否多继承等。既然这些语言要在CLR上运行,自然也要符合一定的规范,而且CLS是其必须符合的。

此外还有IL(中间语言,也叫CIL或MSIL)、Metadata(元数据),C#等.Net平台上的语言通过编译后可以生成程序集(.exe或.dll),不同于windows原生的二进制dll和exe,.Net的程序集里面是IL和Metadata。

我们可以用.Net SDK自带的ildasm.exe查看程序集,也可以用强大的Reflector(可惜它现在是收费软件),不过没关系,在这我推荐一个免费的软件JetBrains dotPeek.

 

 

转载于:https://www.cnblogs.com/loye/archive/2013/03/07/2948531.html