1 回答
TA贡献1828条经验 获得超6个赞
寸有所短,尺有所长。各个语言都有各自的特色和不足,不可以好/坏来评价。应该以自己需求来选择最合适的编程语言。
1、 效率方面:C++注重运行效率,如果对实时性有较高要求,首选C++/C语言。C#写成的代码,都是先被编译成中间语言(IL,Intermediate Language,在运行时,再由即时编译器(JIT,Just-In-Time)编译成本机代码,所以实时性上少欠一筹。
2、依赖性:C++可以生成native(本地代码),不用依赖于.net framework;C#需要相应版本的.net framework支持。
3、可移植性:采用标准C++编写的代码(或使用QT编写的代码)可移植性还是比较强的;采用C#编写的程序目前基本上只能运行于windows系统上,linux平台上有个mono项目用于将C#迁移到linux平台使用,但是目前该项目还有很长的路要走。
4、易用性:C++从C语言过渡而来,对C语言保持了最大的兼容性,熟悉C语言的用户很容易上手,但是也因为这一原因,使C++不是一个纯粹的面向对象的语言。而C#则是一个彻底的面向对象语言。C++中最特色的部分就是指针,但是现在普遍认为应该适度使用指针,因为它太容易出问题了,C++中可以设置全局变量;C#很少使用指针(还存在,在非安全代码中仍使用),没有全局变量。C++中程序员要自行处理对象的析构,容易出错;C#有垃圾回收机制(从java借鉴过来的,其实还有很多东西都像是从java学来的),程序员不用再过分担忧对象的析构了,一切交给系统来处理。初学者C#更容易上手。
5、数据库:大多数数据库软件都为二者提供了相应的访问接口,相对而言C#更容易使用。
6、网页编程:很明显,C#在Web编程上更现代,更灵活,更易用。
7、并行编程:例如nVidia的CUDA并行计算架构只对C++提供了支持,尽管有第三方提供了面向C#的接口,还是使用C++更方便一些。
- 1 回答
- 0 关注
- 1190 浏览
添加回答
举报