毕业生的商业软件开发之路 ---- C#语言简介
C#(读C Sharp)是微软主打的一种基于.NET框架的快速开发语言。它功能强大,使用方便,学习起来也比较快。已经成为一种主流的计算机软件编程语言了。
C#是微软公司2000年6月发布的,是由著名的Anders Hejlsberg领导研发的,此人是Turbo Pascal的主要作者,是Delphi的创作者。
从语法上看,C#是属于C语言家族的,和JAVA有不少共同点,现在有不少人认为C#抄袭JAVA,不过现在多种现代编程语言之间是相互借鉴的,C#包含了不少VB的特性,新版的JAVA也包含了不少C#特性。
从运行平台上看,JAVA强调的是跨平台的,一次编译到处运行。
从应用范围上看,有图有真相,下图是近年全球软件业界各种计算机编程语言的使用率变化图,
在这个图形中,最黑的那条线是C#的,从这个图形可以看出,C#已经是一种主流的计算机编程语言,而且使用率还在稳步上升。下表是今年全球软件业界使用的计算机编程语言排行榜。
Position |
Position |
Delta in Position |
Programming Language |
Ratings |
Delta |
Status |
1 |
2 |
Java |
18.160% |
+0.20% |
A |
|
2 |
1 |
C |
16.170% |
-2.02% |
A |
|
3 |
3 |
C++ |
9.146% |
-1.23% |
A |
|
4 |
6 |
C# |
7.539% |
+2.76% |
A |
|
5 |
4 |
PHP |
6.508% |
-2.57% |
A |
|
6 |
10 |
Objective-C |
5.010% |
+2.65% |
A |
|
7 |
7 |
Python |
4.583% |
+0.49% |
A |
|
8 |
5 |
(Visual) Basic |
4.496% |
-1.16% |
A |
|
9 |
8 |
Perl |
2.231% |
-1.05% |
A |
|
10 |
11 |
Ruby |
1.421% |
-0.67% |
A |
2001年,ECMA国际组织批准了微软的C#编程语言为标准,并与2003年被ISO国际组织确定为国际标准。类似的C,C++语言都已经成为ISO国际标准,而JAVA尚未成为国际标准。
.NET框架简介
.NET框架是微软提出的先进的企业级应用开发框架,功能强大,使用方便。是Windows平台上最为流行的软件开发技术。
下图就是微软对.NET框架的结构图。
C#是一种计算机编程语言,它比较简洁的,是面向对象。它和C,C++,JAVA等都属于C语法家族。掌握C++的再学C#应当不难。
.NET框架是微软推出的软件开发基础框架。它采用了类似JAVA的虚拟机技术,并进一步实现了中间语言运行技术。C#语言和.NET框架是有区别的,它们的应用架构如下图所示
微软提出了一种中间语言的规范,初学者可以看做一种不限于CPU类型的标准汇编指令集,各种各样的计算机编程语言编写的程序代码都可以编译成符合中间语言规范的程序。中间语言规范已经定为国际标准,任何人都可以实现符合这种标准的计算机编程语言及其配套编辑器。目前微软提供了C#,VB.NET和J#的中间语言程序编译器。
微软针对中间语言实现了中间语言虚拟机,它能将跨越硬件的中间语言指令转化为运行程序的电脑CPU类型的机器指令然后调用CPU执行这些指令。
为了提供很好的开发时和运行时支持,微软实现了.NET程序框架,其中包括了大量的实用软件组件库,还有用于实现ASP.NET的针对IIS的扩展程序库等重要软件模块。.NET框架就运行在Windows操作系统上。
JAVA技术实现了跨操作系统平台但不跨语言,而.NET技术实现了跨语言但不跨操作系统平台。理论上由于中间语言规范是国际标准,.NET技术是可以跨平台的,而且业界著名的MONO项目也初步实现了.NET技术的跨平台,但相信微软由于其商业利益不会实现微软.NET框架的跨平台的。
综上,.NET框架是一种软件开发框架,一种虚拟的电脑,在其中能运行多种编程语言开发的应用程序;C#只是能.NET框架上运行的其中的一种编程语言,但它是.NET开发中最重要最常用的编程语言。
这个图结构复杂,内容很多,对于刚刚接触.NET开发的人来说,其主要特点是
1. 提供一个大而全的类库和控件库。.NET框架包含一个很大的类库,能方便的实现对文件、网络、数据库、安全控制、图形绘制方面的功能。
2. .NET平台是一个开发平台,并不限制为某种计算机语言。我们可以使用C#、VB.NET,VC++.NET、Delphi.NET或者其他语言在其上面进行开发,这样以前会这些语言的开发者仍然可以方便在.NET平台上开发,以前掌握的开发语言不会扔掉。不过建议新手在.NET平台上的开发可以一步到位的学习使用C#语言。
3. .NET平台具有很大的覆盖面,凡是Windows操作系统能运行的地方都可以运行.NET平台,包括PC机和智能手机。未来.NET平台还可用于大型机和嵌入式开发。而业界有一个名为Mono的开源.NET平台具有一定的跨平台特性。由于.NET平台具有很大的覆盖面,使得在其上面开发的程序也能运行在很多环境下,而且移植工作量小。比如我们在PC机上编写的源代码,大部分也能运行在智能手机中。