为什么C++是最难学的编程语言?

很多已经做了几年的C++程序员已经很自信觉得这门编程语言算是熟悉阶段了,但是当重新对这门语言来个彻底大扫除的时候发现,又有新的语法出现,最糟糕的是之前掌握的很多套路未必是对的。以至于很多程序员段子手留下了很多精彩的话语

你会发现等你把C++用熟练了,再去学习别的语言,那感觉爽呆了。

难在你因为很懂她,最后还不知道为啥莫名其妙的生气。

c++最大的缺点是让你花费大量时间学习这门语言的语法上,而不是解决问题本身上

等我学会了C++我就回家结婚

这个世界本来就是残酷的,所以你不能怪C++向你展示了世界的本质

大家都觉得很难等你攀登到高峰的时候发现,原来前面还有比这更高的山峰,等着你去继续攀登。

当然这其中有很多程序员自嘲的语意多一点,但是C++的确难道很多英雄好汉,让很多在深陷其中无法自拔但又不舍得抽身离去。

为什么C++让人觉得这么难学?

1.C++设计理念本身想通过各种规则克服C语言里面由于语法规则不清晰导致在运行过程中出现的一些错误,这下让初学者倒霉了,很多初学者在学到泛型编程会觉得编译过去太费劲了,好多条条框框卡的死死的,必须要按照语法规则走才能进行下去,而且就语法细节来讲,零散的需要掌握的细节多如牛毛,有的程序员已经做了好多年对于有些C++语法规则还是觉得陌生的很。

2. C++语言的更新速度也是相当惊人,其语言本身还在进化,其实大家还在学着一门还在不停升级到编程语言,而且还会出现这种情况,等你费了九牛二虎之力掌握了一些语法细节之后,发现新的更新完的时候,已经把之前的都丢弃了。

3.C++也是可以操作指针,本身指针已经很具有复杂性,再加上泛型编程,整个更加热闹了,既追求性能的极致化,还想编程模式灵活性,背的担子异常沉重,以至于很多人在学完C++之后,再去学习C语言会感觉异常的轻松自如,突然有种解决的感觉,其实很多C++语法学习不是让你如何去使用,更多的是告诫你不能怎么用,这是最难受的,学了一堆语法发现不能立即用上,还需要在特殊的场景才能使用上,对于绝大部分对于这门编程语言还没熟悉之前,算是一种精神的折磨。

但有一点不可否认,C++是很多架构师的最爱,也是很多编程大咖的最爱,记得十年前在某著名编程网站的论坛里面,特别是C++论坛里面经常见很多C++大咖在里面指导江山,很多小白忙活了半天的代码,让大咖几句话搞掉,在真正掌握这门编程语言,并且深深的掌握其内在规则之后,使用起来会感觉特别舒畅,仿佛把之前所有的阴霾一扫而空。

现在很多有名的软件框架都能看到C++的影子,其实很简单,在进行面向对象的框架设计还能不影响效率首选只能是C++,现在大家使用的安卓手机的框架层很多代码都是C++,还有大家天天使用的浏览器内核代码几乎全是C++,在很多领域C++有着不可比拟的优势,学会了会明白为啥这门语言属于编程语言的王者,为什么有这么多人学不会还要硬着头皮继续学,可以说C++是一门啃着最有滋味的编程语言,痛苦并快乐着。

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

原文发表时间:2018-08-13

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

自学iOS开发,从新手小白到高级工程师正确的打开方式

自己目前大四汪一枚,自学iOS开发一年左右,先后学习了swift和Objective-C。由于是自学(而且全院貌似就我一个人在学),深知自学之痛。所以在此分享一...

3098
来自专栏编程

学好C加加,首先得学好C语言,下面来说一下:必须要掌握四个知识点

很多初学C语言的小伙伴,在学习之初并没有一个大概的概念,学习这门语言需要掌握多少知识点。 怎么才算学的差不多? C语言的精髓点在哪? 学到多少东西才能够达到做项...

2138
来自专栏java系列博客

java程序员必读书单

3954
来自专栏闵开慧

给程序入门者的一点建议

Java自学之道(一) 给程序入门者的一点建议     在书场上看到很多有关Java的书籍,但这就像进了瓜地里挑瓜挑的眼花,很多人不知道自己到底该选那本书好。很...

3116
来自专栏大数据钻研

为什么程序员总是写糟糕的代码?这3个原因

我最近一直在想我们作为一个行业为什么总是产出糟糕代码的原因。 1.明显原因…… 我一下子想到的最明显的原因是,有好的程序员,也有不那么好的程序员,有的人技术水平...

3318
来自专栏C语言及其他语言

给所有初学编程的人的干货

现在IT新技术日新月异。就常用编程语言而言,有C/C++、汇编、Java,C#、Python等;

1242
来自专栏程序人生

如何从零开始学一门程序语言?

今天一大早排队挂号给孩子看病,耽搁了,现在才发。 说实话,『能花钱的,就不要花时间』是篇即兴之作,本该随着时间被有限的听众渐渐淡忘。但没想到前有 @老赵 微博转...

3526
来自专栏Python小屋

Python教学与学习过程中应注意的九句话

1、Python是以快速解决问题为出发点的,不建议把太多时间花费在底层语言细节上,例如内存分配与管理,千万别像教/学C语言一样教/学Python。

1054
来自专栏养码场

针对“Java老矣,尚能饭否?”,我们想说:驰骋码场,Java你英姿依旧!

养码人B:JAVA是学院派的玩具,功能和架构非常完善,但笨重,开发效率太低,javascript、python和go语言将不断蚕食JAVA的市场。

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

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

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

3308

扫码关注云+社区

领取腾讯云代金券