有一种编程语言永远不敢说精通

如果提到一种语言,可能说这辈子都不敢说精通,有相当数量的人辉选择c++,看看大家如何评述c++,

用了两年的c++,转学别的语言发现从未有过的轻松感。

c++这门语言比较特殊,是大家公认的人类不能精通的一门语言,如果精通了基本确定这人是非人类了。

从大一就开始学,毕业十几年了还是在学,还是有很多不会。

还没毕业写简历写着精通C++,工作了好多年之后,简历中写着熟悉C++

C++到底有多难惹得大家这么惧怕,为啥这么多人觉得学不会C++

记得有人说过这么一句话,要学会C++几乎相当于学会了好几种语言,C语言,OOP,STL等,每一个都够你学上几年。

C++语法细节繁多,特别是编译的过程

c++为了增加运行过程的安全性,严格控制编译的每个技术细节,这下可是苦了,入门的或者技术底子不厚的程序员,每一次重构模块或者大的模块升级,简直就是经历一次噩梦。重构了几百个函数,基本上能产生上万个编译错误,笔者曾经用chromium的javascript的引擎V8代码直接对接网页播放器,为了提高性能用c++层面对接,在一次升级中,发现V8中的基础接口都能大规模的变动,50多个函数需要重构,整整一天一动没动才编译过,晚上做地铁回家直接倒床就睡一觉到天亮。这就是c++经常带来折磨。

每次经历这种事情之后都会觉得C++还需要继续提升,就会拿出c++的泛型编程以及类库的实现重温一遍。还发现一个现象,在开源项目中只要是C++写的代码,重构的概率会特别高,同样是一个代码模块这次拿下代码研究的时候是这么实现的,没过几天梳理代码的时候发现实现方式又有写的变化,看明白了发现功能基本一致,实现的模式却不尽相同。google的工程师这种事情干的太多了,研究过chromiun源码的小伙伴估计会有这种印象。

C++中的编程思想框架组合极多

c++的版本还在不断的更新,每次更新都会带来大量的新鲜玩意,当你还没适应完上一个版本的规则的时候新的版本又会带给你新的冲击。c++中泛型编程变幻无穷,为了防止内存泄露用上的类模板,消耗的心思都快赶上自己去管理内存了。所以造成一种感觉在写代码的时候,永远觉得还会有更好的实现方式,所以在重构次数最多的编程语言中,c++频率是最高的,在这种痛苦的折磨中会产生难以割舍的感情。

做的时间越长,越是觉得这门语言的博大精深,越是觉得自己掌握的浅薄。笔者前几天查看了实际编程语言排行榜,发现c++稳居前三,不能只看到国内的排行榜,放眼全球c++在编码界还是不折不扣的强势语言,更多是在底层搭建框架,我们大家现在使用的安卓手机的框架层很大一部分是c++实现,很多软件的底层框架都是c++来担当。

为什么还是有那么多人喜欢用C++?

目前世面上恐怕没有一种语言,执行效率高同时又具备丰富的编程框架。正是这两种特性,所以大多数的底层框架设计c++是不二人选,其实c++语言本身暗合了优秀程序员自身很多特质,优秀的程序员都喜欢不断尝试更优的程序,会不断的重构自己的代码,而c++自带这么多的组合,不得不在写完代码之后回过头来看看还有没有更好的方法。优秀的程序员还会喜欢迎接挑战,c++提供了最优的平台,在这种相爱相恨中,变得更加紧密。

很多的架构师都对c++语言爱不释手,喜欢拿C++里面的思想来磨练自身的基本功,做的时间越长越觉得神圣。所以很多高手一般都不建议入门语言选择c++,可能直接把很多优秀的编程苗子挡在大门之外。

痛并爱着,可能是最高的编程境界了。

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2018-03-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯大讲堂的专栏

知乎高赞答案!你看过/写过哪些有意思的代码?

1174
来自专栏申龙斌的程序人生

搞定GTD - 合乎自然的项目规划法

这次介绍GTD总流程图左侧的项目分解的步骤,对于需要多个步骤的项目,需要留出专门的时间进行项目计划,分解出多个行动来。《搞定1》里称为一个项目的纵向规划,而在《...

2918
来自专栏数据科学与人工智能

【机器学习】何谓机器学习 机器学习能做些什么?

最近我和一对夫妇共进晚餐,他们问我从事什么职业,我回应道:“机器学习。”妻子回头问丈夫:“亲爱的,什么是机器学习?”她的丈夫答道:“T-800型终结者。”在《终...

2096
来自专栏python+iOS学习交流

iOS程序员请改掉影响你升职加薪的36个坏习惯!

IT行业的科技公司们一直苦苦追寻传说中以一当十的超级程序员,最新的研究表明确实存在这样一小撮效率奇高的“程序金刚”,但是一位普通程序猿如何能够蜕变成代码金刚呢?

1000
来自专栏noteless

1.计算机发展阶段 计算机发展历史 机械式计算机 机电式计算机 电子计算机 逻辑电路与计算机 二极管 电子管 晶体管 硅 门电路 计算机 电磁学计算机二进制

再后来有了一些数学理论的发展,纳皮尔棒/计算尺则是借助了一定的数学理论,可以理解为是一种查表计算法.

663
来自专栏程序猿的那些趣事

这个bug有点狠,到大西洋送外卖?成功逼疯前端工程师

写半天代码,改一天BUG,这就是程序员的日常。大大小小的bug充斥着工作的边边角角,有些bug很有趣,但有些bug,可能会让你后悔不准备一把菜刀。找到bug后,...

662
来自专栏大数据钻研

前端工程师应该具备的三种思维

如果你是一个天才等级的工程师(马上可以离开),可以独立完成一个很多事情,你可以是一个怪咖,因为我相信没有一个人不会不佩服你。但现实归现实,多数人都不是天才,而我...

2665
来自专栏九彩拼盘的叨叨叨

mini前端学习小组介绍

我们前端学习社群的总人数已经过80人了,人多了就不容易沟通,也会有很多干扰信息。我们前端学习社群还会存在,希望大家在群里,更多的以推荐文章,资源为主。

834
来自专栏随想随记

为什么学习前端框架

我是13年开始实习,第一份实习工作是PHP + 前端的一些页面开发工作。那时候也是jQuery鼎盛时期,流行各种插件拼接页面。做了一段前端相关的工作,正式参加工...

1062
来自专栏MixLab科技+设计实验室

我的全栈开发日记之色彩app

第一款应用, 把全栈开发的各个环节都摸了个遍, 接下来就可以轻车熟路的开发 第二款app啦~ 在2.25号我开始构思产品原型。 出发点是要做一套[设计师工具],...

2245

扫描关注云+社区