我想了解一下,VC++.NET和C#.NET在开发对象上的区别,以及为什么选C++NET的人那么少???
对于有经验的C++程序员来说,使用MANEGED C++失去了很多特性,会感觉碍手碍脚,所以转向MANEGED C++和C#一样难,而C#是.NET 的主推语言,它们是以彼此为目的而开发出来的。
MANEGED C++并没有什么大的不足,只是使用起来要烦琐,不如C#那么直观
C++/CLI描绘的是一种多元组合,此处的 C++ 当然是指 Bjarne Stroustrup 在 Bell 实验室发明的C++编程语言。它支持速度和执行 文件的大小都得到优化的静态对象模型。但除了堆内存分配以外,它不支持运行时程序对对象的更改。它允许对底层机器进行无限制的访问,但对于正在运行的程序中的活动类型、以及相关的程序基础构造,它的访问能力却非常有限、或者根本就不可能。C++是一个混凝土语言。
“CLI”即公共语言基础结构,这是一个支持动态组件编程模型的多层架构。在许多方面,它所表示的对象模型和C++的完全相反。它是一个运行时软件层 ,一个虚拟执行系统,运行在应用程序和底层操作系统之间。对底层机器的访问受到相当严格的限制。支持对运行中程序的活动类型以及关联程序的基础构造 进行存取——发现和建构。斜线“/”表示 C++ 和 CLI 之间的一种绑定,
C++是写硬件驱动的,在写接近硬件程序的基础上写应用程序的;离开了硬件谈不上软件了,这个理由充分吧,其它如C#,VBNET,JAVA..(除汇编,C..等)是写应用程序的,C/C++/汇编是写系统及的程序的,如操作系统,数据库...,好象C/汇编的IDE很少或没有吧!你想想如果你是MS,你会帮别人把汇编及C的IDE作好,帮别人写操作系统及数据库了吗?C#,VBNET..是那些软件厂家的产品不是工具,它是开发应用程序的工具,如果你想增强某方面的功能,你非得向这家IDE厂商提建议才能给你功能,才能给你增加某个类,你说对吗?所以C++是接近底层,不会过时的,如果你再深入点学C/汇编,中国的软件一定会有希望!!你也可以写个G#语言及编译器,以及数据库,祝你成功!!