关于C++优缺点的讨论,新手老手都可以来看看,欢迎讨论补充

mudunke775 2011-05-16 10:58:01
http://topic.csdn.net/u/20110513/11/6ad6986a-7f2b-447a-bb6d-73f2f9504c9b.html?4221
看了下那个JAVA的广告贴,觉得应该总结下C++的优缺点,一方面是给新人帮助,另一方面也希望老手提出补充,大家交流学习

简单总结了下C++的优缺点(包括C++程序员),供大家讨论:
缺点:
1.门槛高。C++指针管理、内存管理、线程管理等,对于程序员来说都是不得不学而又很难学的。
2.开发效率低。高级语言有很多现成的库可以用,C++程序员很多时候只能无奈的自己去实现那些功能。
3.成本高。C++程序员比其他程序员(同工作年限)的工资要高。
4.初级程序员易犯错误。初级程序员对指针、内存使用上容易犯错,导致程序崩溃或内存泄露等。

优点:
1.运行的高效。指针使得C++比其他高级语言更高效。
2.强大的可扩展性。基本上,我们在计算机上看到的一切皆可以使用C++来实现(软件、IE、服务器等等)(不考虑开发时间等因素)
3.程序员工资高。正因为语言的难学难用,才能体现我们区别于其他程序员的价值。
4.看待问题的深度。因为我们使用的C++更接近底层,所以我们对WINDOWS消息机制、底层网络机制、界面显示机制等都比其他程序员看的更深,也比他们更懂得原理,便于我们查找错误和发现问题。
...全文
524 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
无趣 2011-06-13
  • 打赏
  • 举报
回复
c++太复杂,没有几年锻炼、没有大项目的洗礼,还真拿不起来。
kakane 2011-05-23
  • 打赏
  • 举报
回复
支持C++
haogeai123 2011-05-22
  • 打赏
  • 举报
回复
坚定支持C++
chenjelly 2011-05-19
  • 打赏
  • 举报
回复
C/C++挺好的,除了指针
不二星空 2011-05-19
  • 打赏
  • 举报
回复
呵呵,好像是这样,负面的讨论比较激烈。。。
mudunke775 2011-05-19
  • 打赏
  • 举报
回复
哎,我发现现在发正面的帖子基本很少有人讨论,也没人跟帖。

发点负面的(找骂类型的),大家都喜欢跟帖。。。
chenjiawei007 2011-05-17
  • 打赏
  • 举报
回复
C++开发的周期长,迟则生变。其实不少公司用C++也不是很在意效率,只是最早的固有开发环境C++ 导致了一直在沿用C++。做软件多学几种语言还是不错的。
kyotrue 2011-05-17
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 mudunke775 的回复:]
引用 20 楼 akirya 的回复:

引用 19 楼 mudunke775 的回复:

我知道的是市场越来越难招C++的了,但很多应用还是离不开的。比如游戏,不管是2D的还是3D的,大多还是C++做的,因为工程小,运行效率高。我们每天都用电脑,你可以看看你的电脑上的程序(微软除外)有多少是C++做的,有多少是其他的?


好吧,我承认我机器上大多数都是C++写的。
但是,这个改……
[/Quote]
招聘C++的少了确实是因为需求少了的缘故的。你要站在产业的角度上来,需求是更快开发、更易维护、更低成本、更多可替代人员,性能上那点差距对于现在的硬件来说已经不是什么大问题了。这是由国内的软件大多数都是些上层应用的现状决定的。
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 mudunke775 的回复:]
这个不是C++的优缺点,我只是想说,招聘C++的少了不是因为需要C++的程序少了,而是学C++的人少了,其他语言都比这个门槛低。
而且现在软件的需求量太大,所以老板都很在意开发效率(那是钱啊),但是精品软件都是C++写的,哎,矛盾啊
[/Quote]
你对软件理解有些狭隘
现在用的csdn也是软件啊,各种网站,都是软件,不光是客户端称之为软件。
mudunke775 2011-05-17
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 zhang64056617 的回复:]

注重效率的程序必须C++,注重实现快,开发成本低的小程序就不适合用C++。
这算优缺点么。。。。。。。。。
[/Quote]

注重效率的程序必须C++,这个也不是一定的,还可以用汇编或是纯C

注重实现快,开发成本低的小程序就不适合用C++。这种小程序真没见过,你举例说明一个呗
大地七枷社 2011-05-17
  • 打赏
  • 举报
回复
注重效率的程序必须C++,注重实现快,开发成本低的小程序就不适合用C++。
这算优缺点么。。。。。。。。。
mudunke775 2011-05-17
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 akirya 的回复:]

引用 19 楼 mudunke775 的回复:

我知道的是市场越来越难招C++的了,但很多应用还是离不开的。比如游戏,不管是2D的还是3D的,大多还是C++做的,因为工程小,运行效率高。我们每天都用电脑,你可以看看你的电脑上的程序(微软除外)有多少是C++做的,有多少是其他的?


好吧,我承认我机器上大多数都是C++写的。
但是,这个改变了C++的优缺点么?
[/Quote]

这个不是C++的优缺点,我只是想说,招聘C++的少了不是因为需要C++的程序少了,而是学C++的人少了,其他语言都比这个门槛低。
而且现在软件的需求量太大,所以老板都很在意开发效率(那是钱啊),但是精品软件都是C++写的,哎,矛盾啊
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 mudunke775 的回复:]

我知道的是市场越来越难招C++的了,但很多应用还是离不开的。比如游戏,不管是2D的还是3D的,大多还是C++做的,因为工程小,运行效率高。我们每天都用电脑,你可以看看你的电脑上的程序(微软除外)有多少是C++做的,有多少是其他的?

[/Quote]
好吧,我承认我机器上大多数都是C++写的。
但是,这个改变了C++的优缺点么?
mudunke775 2011-05-17
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 akirya 的回复:]

引用 13 楼 mudunke775 的回复:
C#,JAVA很多时候都是无法替代C++的,比如你要做个客户端,或者就是一个单一的程序,使用对象是普通大众,请问你还能要求每个客户都在电脑上装Framework吗?还是让他装个JAVA虚拟机?

特殊应用。。。。。。
通用软件基本上C++,但看招聘就知道,市场越来越小了。

很多时候是可以要求客户端装虚拟机的,还有应用要求装office……
[/Quote]

我知道的是市场越来越难招C++的了,但很多应用还是离不开的。比如游戏,不管是2D的还是3D的,大多还是C++做的,因为工程小,运行效率高。我们每天都用电脑,你可以看看你的电脑上的程序(微软除外)有多少是C++做的,有多少是其他的?
__lhy 2011-05-17
  • 打赏
  • 举报
回复
hello_stranger 2011-05-17
  • 打赏
  • 举报
回复
不关心语言问题
只要能养家就好
不二星空 2011-05-17
  • 打赏
  • 举报
回复
C++弄服务器,是个不错的选择。。。不清楚还有其他高级语言弄服务器的吗?网游的很多服务器都是C++的
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 mudunke775 的回复:]
C#,JAVA很多时候都是无法替代C++的,比如你要做个客户端,或者就是一个单一的程序,使用对象是普通大众,请问你还能要求每个客户都在电脑上装Framework吗?还是让他装个JAVA虚拟机?
[/Quote]
特殊应用。。。。。。
通用软件基本上C++,但看招聘就知道,市场越来越小了。

很多时候是可以要求客户端装虚拟机的,还有应用要求装office。
再说了C#程序可以不用 Framework。
mudunke775 2011-05-17
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 wjc13142yiyan 的回复:]

完全没觉得工资高。。。
[/Quote]

别的地方行情不太清楚,大连JAVA和C#的毕业生工资一般是2K左右,而C++一般是在2.5-3K之间
mudunke775 2011-05-17
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 akirya 的回复:]

从BOSS眼光看,使用C++成本高...
都觉得C++程序员工资高。
还不如用C# java之类的,除非特殊应用,否则效率可以接受。
最多买高性能的机器就是了,反正机器都是一次性投资,雇人的话可就说不清楚多少了。
[/Quote]

C#,JAVA很多时候都是无法替代C++的,比如你要做个客户端,或者就是一个单一的程序,使用对象是普通大众,请问你还能要求每个客户都在电脑上装Framework吗?还是让他装个JAVA虚拟机?
加载更多回复(13)

1,662

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧