欢迎来到一览职业成长社区!收藏本站 软件英才网一览首页|登录|注册|受邀加入

软件职业成长社区

打造全方位的软件交流学习平台

当前位置:专题 > C++为什么不能被取代?

C++为什么不能被取代?

  很多人觉得C++学习起来比较困难,而且也并不看好C++,那究竟C++有哪些难点和优势呢?

  1、知识点广泛而且难度高。按照几年前Scot Mayer在Effective C++中对C++的定义来看,C++是一门多范型语言,包括了C、面向对象编程和泛型编程。程序员需要正确理解很多基础概念,比如,堆和栈的区别、指针、指针的指针、虚函数的内部原理、继承引发的对象内存布局、多继承引发的模棱两可、模板以及编译器推导、STL算法等。C++的内容如此广泛,因此每个知识点的学习和积累都不是件容易的事情, 自然误用的情况常会发生。

  2、C++打开了直接面向操作系统API编程的大门,因此使用C++完成工作,很多时候需要学习大量的平台相关的API,这些API有的非常复杂。比如被称为噩梦般的技术,Windows提供的COM/COM+库,其实就是需要了解一大堆基础知识才能操纵好。再比如:面向接口编程、虚函数表、设计模式中的工厂模式、Windows DLL地狱的由来、Windows注册表、序列化、Windows安全、RPC、IDL语言、支持脚本语言的自动化技术(IDispatch)、对象引用计数器,线程安全和套间和ATL模板技术等。

  3、而在C++的演化过程中,因为缺乏商业公司的大力赞助,缺乏良好设计的跨平C++类库,多数人只能使用标准C++库,但跨平台效果也不佳。直到近几年Boost为代表的现代C++库起到了很大的作用。同时,Java程序员早就享受着非常好的支持,SUN的丰富的JDK,大量活跃的开源社区(比如Apache) 对Java的推动也是非常明显的。

  4、C++程序员成长周期长,特别是中国很多靠做项目挣钱的成长型企业面对选用C++作为编程语言会有所顾虑。

  5、优势同样很明显:假定程序员能很好的运用C++,那么程序可以获得很高的性能,消耗较少的资源。在云计算时代,C++在很多关键业务上起到不可替代的作用,也为这个地球节能。举个例子,我有一次要在美国服务器上部署一个JSF编写的网站,安装GlassFish失败是因为虚拟机核心线程和进程的总数被限制,只能换成C++编写的网站。这台服务器还同时运行着C++编写的TCP服务程序和NoSQL数据库。

  你觉得C++会被别的编程语言取代吗?

引自:C++为什么不能被取代?  作者:程序员帮主

原文地址:http://www.yl1001.com/article/2281409651875675.htm

我要回复

您尚未登录,请登录后再提交你的评论!
没有账号?立即注册

程序员帮主

2014-09-02 18:04:40 程序员帮主

C++可以直接操作内存。C++与硬件贴得更近,操作系统、各类底层库、虚拟机等方面。

赞(0) 回复(0)

1

相关专题

更多专题>>

最新招聘

更多>>

相关职位

关于一览  |  联系我们  |  用户反馈

深圳市一览网络股份有限公司 版权所有 ©2006-2024 粤ICP备08106584号 增值电信业务经营许可证:粤B2-20070017