C++ 生死

来源:互联网 发布:淘宝网登录不上去账号 编辑:程序博客网 时间:2024/04/30 20:50
我做程序员5年多了,擅长c#,b/s结构的项目开发.今天看到有人说c++薪水高,想讲两句。如果您正发愁该学哪种编程语言,那么我的意见也许能作为您的参考。在这里,我会从就业的角度来分析这几种语言。学技术是为了挣钱,这对于我是不变的真理。


随着计算机硬件方面的科技不断创新,相应的软件系统也越来越复杂和庞大,最初的汇编,C语言已经很难适应高层的开发,其主要应用场合仅限于底层硬件接口或性能瓶颈,相信不会有人傻到用汇编或C去写软件界面吧。其实不单是汇编,C,即使是C++,也几乎已经成为了底层的语言。而大型的软件系统,全省联网使用甚至全国联网使用的,基本上都是使用c#或java来开发,用c#和java的好处很明显,成本低,健壮性更强。因为高度封装,很多东西无需程序员考虑,自然出的BUG也就更少。而出的BUG,一般也比较容易调试。这种便利性等于是解放了程序员的双手,让他们可以专注于业务需求。因为专注于需求,于是做出的软件用户体验便相当出色,这种易用性与友好的用户体验在以前c,c++的年代是不常见的.


而c#,java之所以薪水难上去,也正是因为它们相对来说更简单。更简单 -> 更多人使用 -> 竞争更剧烈 -> 薪水更低。话讲到这里,也许你要想“那我还是学c++好了,学c++才挣钱多”,但事实上这种想法过于简单。听我分析:
当前中国的软件行业落后,这是人所共知的事情。但这也意味着这个行业的前景极为广阔。在将来,许许多多的单位和企业都会陆续更换高级语言写出的系统,因为高级语言写的系统更好用,更贴近需求。这个是趋势。
那么c++以及c++以前的c,汇编是不是要退出历史舞台了?答案是“是”,当然这会是一个非常长的过程,但最终职场上的底层代码编写者会越来越少,因为很多支持高层开发的底层代码一旦完成,便开始重复使用,只需很少人维护就可以了.这么一来底层的需求是肯定在减少了,一旦系统稳定,谁会轻易去动底层的代码?因此我们可以预见,以后在软件行业,投在c++方面的资金会慢慢减少,整个市场会逐渐变小。这里面的机会自然也会相应减少。所以我个人认为,如果你要跟大多数人一样娶老婆生小孩赡养父母供这一家子人,而你自己因为各种原因无法拥有强大的实力的话,那么还是量力而为选择不参与这个市场比较好。你刚毕业时有很强的学习动力,可一旦过了三十岁,身体开始走下坡路,生活中大大小小的事情把你整得焦头烂额,这个时候还要靠钻研技术来挣钱的话,就太累了。


而高级语言开发,就拿我擅长的c#来说,一般都对技术要求不高,这类开发的薪水一般来自两块:(1)你的编码劳动 (2)你的业务知识积累。代码是不值钱的,值钱的是业务知识。当你积累到一定层次的时候,自然有人打电话问你愿不愿意跳槽。到那个时候你拿的薪水,相信不会让自己尴尬。


但是你最初若选择c++这类底层,很可能到这时候还只是底下的一个程序员,每天负责解决各项技术难题。老板不会让你升迁,因为你一旦升迁底下重要的活就没人干了,要再找人也难。而你若是通过积累业务知识来提升自己,一方面你是在无压力的工作环境中完成提升,另一方面你一旦提升到合适的层次,自然就是凭着自己掌握的业务知识指挥底下的代码工人干活。那时的轻松自然不言而喻,而薪水也肯定不会太低。


当然,走这条路有极限,它很难像c++那样走的更远,但我之所以建议大家选择高级语言,也有我的道理:人的生命是有限的,在人生与财富之间你需要有一个权衡。如果你前半生都在拼命,等开始享受的时候发现自己早就老掉了,你会不会难过?所以能在压力比较小的工作环境中挣得稳定的生活,并逐渐提升自己,这样的人生应该是更值得追求的。而事实上在这条路上走的人,中途改行的可能性也更小。


其实也可以这样比喻:c++就像独木桥,桥的尽头有更多的金子等着你,只要你实力强能走过这根圆木你一定比大多数人更成功。而java,c#像一座大桥,你可以闲庭信步慢悠悠散着步走过去,代价是你挣的钱更少,能达到的高度比不了c++,但同时也有更多其他的人生体验。你想走哪座桥,你自己选吧。


有兴趣讨论的朋友可以直接跟帖回复,或加Q群 7065478,这不是专门的技术群,只是几个朋友偶尔凑在一起聊聊软件行业。加入本群无技术要求,只要你人品好,只要你在软件行业里供职,那么欢迎。


今天晚上,问了下学长。有点醉,c++如同独木桥,你有自信去闯,就会在后面,有独自的风景

0 0
原创粉丝点击