不可一慨而论
C#有C#的优势,未来发展的趋势
而C++可用于底层的开发,硬件驱动等等!!!
C#有C#的优势,未来发展的趋势
而C++可用于底层的开发,硬件驱动等等!!!
解决方案 »
- 在线拍照如何改变分辨率
- 不让DropDownList刷新页面,但OnSelectedIndexChanged事件需要触发,怎样实现
- 有关datagrivew保存的问题
- 菜单项menuStripItem切换时,显示对应的界面怎么实现?
- 【问】为什么 Effective C# 原则11:选择foreach循环 ?for的效率低?
- 计算时间差
- ActiveReport动态指定DataField
- 一个JS转C#问题 100分求解
- 应用现有的exe程序和文件夹后,程序打包发布需要注意什么事项?
- 高分求救!!证书打印难题
- 请教,大侠帮帮忙啊!!!
- 关于 未处理的“System.StackOverflowException”类型的异常
但如果要底层操作功能的话,最好的还是C++(UNSAFE,UNMANAGED)
CLR其实也是VM
就现阶段而言,C++.NET也是唯一能写LOCALCODE的语言。
C++编译出来的真正的可执行代码,而C#仅仅是一个中间态的代码,需要CLI的运行时才能执行,因此执行效率上是无法和C++的代码相比的。
但是,C#有自动的内存管理机制,在写应用服务时对系统的稳定性有很大的优势,C++则适合于写对性能要求较高的应用,如驱动程序等。
在语言上,C#比Java更接近C++,包括运算符重载等。
而C++得多继承、模板、指针等高级功能,因为太复杂,不宜使用而在C#中没有出现。总的来说,C#与C++有不同的发展方向,C#不太可能完全取代C++.
C#的对手是Java,不是C++
Neither is C#, so is it.C++ is my first lover, and i'll lover it forever.
我觉得至少在目前来说C#还不能取代C++,特别是在一些底层和多媒体的开发方面用C#实现还比较困难。
C#适合快速的企业级开发, 而C/C++适合在关键性
事务上发挥长处当然最好的是C#良好的协作能力, 才能借助C#不具备的
功能, 而又可以使用这样的功能!关于跨平台的问题, 倒不是什么大问题啊, 现在异构的平台
一起共存才是事实啊
良好的交互功能, 是C#的又一长处C#前途光明, 我坚信
任何一门语言都有它自身的特点,
你说,它不取代c++取代谁呢,每种语言都是在发展的,c语言家族也是一样!!
当然现在c#还没有成气候,以后微软的windows,会不再公布api,
而只已.net类库的形式提供.(api能操纵底层,.net类库也一样能)那时估计就是c#开始取代vc++的时候了.我估计可能要3-5年.
miles_z(www.2yup.com/asp/)C#并不是java,它有unmanaged code,
.net类库一样可以使用unmanaged code来操作底层。这本身就是它提供的
功能,怎么能分开来讲呢。另外因为c++的指针虽然效率高,但很烦琐,易出错,c#就使用,
引用型变量,和指代来取替指针,这本身就是对c++编程语言的
改进和提高。你说它不取替c++干嘛要修改语法。另外,我并不是等ms封装一切,我更喜欢一行行的手写代码。
c#的代码也并不是象vb6,那样简单。
方便c++程序向c#移植,其实c#中完全可以不用指针.指针的功能完全可以用delegate等类型来代替,java并没有完全的取代c++,这是因为java开发的系统并没有实现100%的
跨平台,运行速度也太慢,也没将技术规格呈送给ECMA,但就是这样,
它也抢走了很多本是c++的应用领域.我个人觉得c++的复杂性(以vc为例),已经严重影响到了,它在商业软件中的应用,虽然程序员都以程序的复杂性为荣,但vc的复杂,并不在程序的具体实现
上,总在一些细枝末节上,已到了要改的地步了.现在c#还不能写驱动程序,不过并不表示以后不能
----------------------------------------
To teach a fish how to swim.
写驱动程序不难,但是调试驱动程序很麻烦。to ouyang76cn(c#痴+c#迷)
指针和delegate虽然概念相近,但是在实现差别很大,指针的效率远远高于delegate。
如果一个程序玩完全全使用unmanaged code,那和C语言也没啥区别。
如果想写设备驱动,就不要想GC了,也不要象.NET Framework了,那东西为了对象化,分的层次太多了,效率实在太低了。 我想.NET要开发目前的驱动程序,5-6年之内不太可能,即使可能,随手学一把也无妨--不过目前阶段要赚这部分的钱还是老老实实用C去做吧!