浅谈C++和C#的区别
从语言上讲,C#是C系统家族的东西,是C++的后续版,是对C++的发展,它一惯沿用了C++的思想,面像对像编程,等等,但又去除和限制了一些相对来说不好的技术,比如指针技术,从另一方面讲C++和C都是国际化的标准,有标准组织维护,它并不属于任何一个公司,但是C#去是微软自己在C++基础上扩充,发展出来的,C#并不是一个国际标准,它只是微软件的一家子之言.但从纯技术角度讲,C#在C++基础上扩充出来以后,或限制出来以后,更注重实际应用,思想上完全面像对像,限制掉了C++的一些东西,又增加了一些比如内存自动回收等功能,但这样一些功能的扩充,其实是限制了的C++版,在C#上编程,完全没有C++上自由,但这样一变去对软件开发效率思想上有很大的提高,所以C#是为了提升开发效率,和软件工业化的产物,相比之下,C#能作到的,C++都能做到,并且更完全,只不过C++更复杂。
C#与.NET 与C#一样.NET也是微软件独家的东西, .NET是微软件的一个平台,是微软的下一步战略,.NET是一非常大的战略,里面包含着非常非常多的东西,是一个远景目标,微软构架出来的一个未来框架,一个模糊面有庞大的框架,以后所有的东西都是.NET,包括家电,手机,等所有人类身边的长智能设备通过网络连接成一个有机体,成为.NET.它到底是什么,比尔盖茨目前自己也说不清楚,说得都是含糊其词,曾经有很多要在学.NET之前想弄清概念都失败了,其实他就是一个微软未来对的发展框架和,未来软件体的框架,而目前正在实现这一目标, 作为.NET的的核心编程语言就是C#,也就是说微软件发展的C#语言是为了专为.NET服务的,C#是专门编写.NET软件的语言, 在.NET初期,也就是我们现在用的.NET技术,其实和普通的编译没有什么两样,只是在WINDOWS开发环境上需要额外地装上.NET的类库,以扩充功能,增加.NET API调用,说浅点就是增加一些函数一样,.NET的程序最底层就是调用这些.NET API实现功能的,这个类库被称为Framework软件扩充包,在微软主页下载后安装就可以用运行.NET软件了,如果是WIN2003,不用装,系统本来就自带了类库的,所以现在看来C#是调用Framework的语言。