你可能会被迫认为C ++是一种陈旧发霉的编程语言。
C ++是由贝尔实验室的比雅尼·斯特劳斯特鲁普在1979年开发的。它是许多技术的基础,也是学校里第一种流行的编程语言。
尽管出现了流行的面向对象编程语言,但C ++在技术世界中占据了特殊的空空间。
任何绝对需要快速机器性能的应用程序都可能得到C ++的支持。需要高级图形功能和速度的AAA视频游戏在C ++上运行。任何带有图形用户界面的东西都倾向于基于C ++构建。
更不用说物联网、嵌入式系统以及资源密集型的VR和AI应用的兴起,这些通常都是基于C或C ++的。
C ++生活丰富。C ++是初学者最聪明的第一语言之一。
2020年为什么要学习C ++?
真正理解计算机、编译器和语言是如何工作的
C ++接近金属——离汇编代码只有几步之遥。其他编程语言是围绕业务领域构建的,而C ++是围绕计算机构建的。这让您对编程的所有构建模块有了更深入的了解。
C ++允许你从头开始学习编程。你必须解释你所做的一切,这样你才能更深入地了解所有部分是如何工作的。
精通C ++将使您熟悉:
高效的内存管理和指针——它们为什么重要,它们做什么
元编程——程序如何检查自身的信息
编译时间和加载时间——它们之间的区别
优化——它的真正含义以及编写代码时如何优化
动态库——它们实际上是如何工作的,以及如何使用它们
泛型编程——在编译时评估的程序
更容易选择其他语言
大多数其他主要编程语言都有基于C ++的语法。如果你对C ++有很好的理解,你可以很容易地选择其他更长的语言,比如Java。C ++有助于理解所有编程的逻辑结构。
实际上,从另一种编程语言开始,然后转向C ++要困难得多。像Python这样的语言已经针对人类思维进行了优化,不会教你计算机如何思考。如果你使用C ++,你可能需要重新学习编程。
C ++没有将你绑定到特定的编程范式,所以你可以在学习过程中轻松尝试各种技术。
成为公司雇佣的开发人员
这个行业严重短缺
不缺开发商——事实上,如今就业市场上的开发商更多了。大学和编程营是专门培训特定编程语言或框架的开发人员。这些开发人员可以直接进入自己专业的工作,开始选择自己的专业。
真正的不足在于最初的问题解决者。这是招聘经理在面试中要找的。这是任何机器或AI都无法替代的技能。
C ++教你如何成为一个真正的原创问题解决者
学习C ++的一个常见抱怨是其中几乎没有抽象。您必须定义几乎每个属性,代码才能正常工作。与更优雅的语言不同,这可能会导致编写和挖掘更复杂和冗长的代码。
没有垃圾收集-您必须显式标记要删除的对象。内存管理是手动完成的。你完全可以控制。当有东西坏了,它就在你身上。
这是培养真正编程技能的地方。代码运行缓慢?你需要弄清楚内存浪费在哪里,以及如何动态分配。有虫子吗?你需要去袖手旁观搜索代码。不便是肯定的,但可以建立个性,赢得发展。
您将学会采用更清晰、更一致的编码风格,在编写代码时对代码进行注释,并将类内部的可见性限制在外部世界——所有这些都是面向对象编程的重要方面。
更轻松地学习C ++
正如您可能已经收集到的,C ++不是最容易快速掌握的编程语言。学习曲线非常陡峭。但是有了正确的心态和可用的工具,学习C ++对任何开发人员来说都可能是有趣和丰富的。学习时请牢记以下几点:
成为问题解决者
任何一个初级程序员在遇到一个新的语法函数时,都应该问自己一个问题:
“这解决了什么问题?”
所有的编程都是为了解决问题。通过专注于解决你所学的每一个新东西的问题,你会对语言和编程有更深的理解。
如果你不能回答问题,有很多资源可以利用。你知道C ++问题在StackOverflow上的回答率最高吗?
熟悉最新版本的C ++
C ++ 20是C ++的最新版本,但它是C ++ 11的增量更新,是最新的重大升级。你必须从这里开始。有许多新功能旨在使C ++对初学者来说更容易,还有许多方法可以使您的代码更短、更容易阅读。
和你的好老师一起学习,按照自己的节奏学习
大多数程序员都会同意,一个好的老师可以掌握C ++和碰壁的区别。没有什么能代替好的指导。
在学习过程中练习也很重要。你需要在学习过程中使用实时代码,并有机会按照自己的节奏前进。
要想提高编程能力,学好C语言C++编程!弯道超车,领先一步