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

如果提到一种语言,可能说这辈子都不敢说精通,有相当数量的人辉选择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 条评论
登录 后参与评论

相关文章

来自专栏Python中文社区

十本书教你从Pythoner通往Pythonista

1、Python基础教程 本书是经典教程的全新改版,作者根据Python 3.0版本的种种变化,全面改写了书中内容,做到既能“瞻前”也能“顾后”。本书层次鲜明、...

40310
来自专栏儿童编程

理解编程语言只需四个词-编程知识体系介绍(带python及scratch案例)

学习编程有时候会给人一种高深莫测的错觉,容易让人“敬而远之”。事实并非如此,学习编程其实就是学习一种语言——一种与机器对话的语言。编程语言与人类语言有着很多相似...

1293
来自专栏PPV课数据科学社区

如果大数据是任何东西……If Big Data Is Anything at All, This Is It

除了我们几个人是第一次听说过“大数据”这个词,我们是在信息技术厂商开着的营销活动以宣传自己的产品和服务的背景下听到它的。正是这种营销活动使得“大数据”这个词取得...

3218
来自专栏blackheart的专栏

[程序设计语言]-00:目录

1. 开篇概览  前一周写了一篇博文“记-码农的“启蒙”之《程序设计语言-实践之路》和《面向对象分析和设计》两书”,其中说打算总结下这两本书中有哪些收获,就是关...

1925
来自专栏spring源码深度学习

业务开发工程师,你真的愿意做一辈子 CRUD boy 吗?

你是不是觉得数据结构和算法,跟操作系统、计算机网络一样,是脱离实际工作的知识?可能除了面试,这辈子也用不着?

8471
来自专栏java一日一条

记一次 Google 面试经历

这是我上周去面试的地方。很顺利,我觉得——至少我认为我已经尽我所能,并且无论发生什么事情对我都是有帮助的。

1481
来自专栏java一日一条

如何避免软件工程中最昂贵错误的发生

编者按:影响软件工程进度的原因有很多种,而代码重写无疑是最耗费时间的变更之一。那么重写的时候需要注意哪些细节才能把资源开销控制到最低或可接受的程度呢?本文作者E...

582
来自专栏CSDN技术头条

那一年,我邂逅了Java

撇开题目不谈,我个人认识一些非常厉害的程序员,他们有的是 bat 的大牛,有的自己创办了公司,有的在一些企业担任着重要的角色。正是这些让人仰望的存在,给了我们无...

1033
来自专栏Bug生活2048

[原创]你不知道的程序猿-Hello World

相信作为程序员或者相关职业者对「Hello World」肯定不陌生,这或许是你的第一个程序,也是你踏入这行的标志。

891
来自专栏华章科技

最多金的编程语言Top10:Python第3,R第10,你猜第1是谁?

本文绝非标题党,而是基于大量数据和为期两周的深入探究,在18年初,对IT行业的现状、趋势以及预测进行客观观察,让大家对编程语言有一个更清晰的认识,以选择最值得花...

2072

扫码关注云+社区