猿创征文|跌跌撞撞的C++成长之路

文章目录

  • 前言
  • 相遇
  • 相识
  • 陌生
  • 相知
  • 相爱
  • 书籍推荐
    • 代码规范
    • 语言本身
    • 数据结构与算法
    • 编程规范
    • 数据库
    • 计算机网络
    • Linux编程

前言

你若是想要拥有未曾拥有过的东西,就必须要做未曾做过的事。

相遇

2020年的秋季,我满心欢喜的踏上了远走他乡的路,亦是一条求学的路。没错,那是我迈入大学校门的第一年,由于我所学的专业是电子信息工程,C++成为了我专业课中最重要的一门,那时的我对它并不了解,听了第一节C++课后,我开始梦想着有朝一日可以用C++做出属于自己的软件。

相识

渐渐的随着大学课程的深入,我逐渐了解了C++的用途和一些基础知识,课后的编程题目总是让我焦头烂额,每每想起那些百思不得其解的题目,即使是深夜依然难以萌生困意,就这样,跟随着学校的课程,我完成了第一遍C++的学习,实际上是草草了事,而那时的我却以为我已经对C++有了足够的了解,足以独当一面·····当时的这种想法像是我的围城,把我傲娇的心灵埋藏在这里,不愿出去,现实世界亦不能闯进来。

陌生

随着时间的推移,这种平衡被慢慢打破,那是入学的第二个秋季,学校的每个实验室都如同桂花一样绽放,把它那鲜艳的花瓣和沁人心脾的花香伴随着秋风送入我这个准大二学生的每一个感官之中,我沉浸在那一片花的海洋,逐渐对学校的实验室产生了无尽的向往。心动不如行动,我向几个做C++开发的实验室投递出了简历,然而,事情与我预料的完全相反,每一次面试对我而言不是大显身手的舞台,而是押赴刑场的囚车,似乎每一个问题都是我的盲区,毫无疑问,每一个面试我都挂了,我的名字被一次次处决,一次次的打击着我的内心,知道最后一个实验室的淘汰通知发到我的手机上,那一刻,我彻底崩溃了,一个人坐在阳台上失声痛哭,不知过了多久,也许是几十分钟,也许是几个小时,我的眼泪似乎已经流干了,我第一次觉得C++是如此的陌生而又深邃,它像是庄严肃穆的塔戈尔,把我心中的一切波涛毫不留情地掩埋在黄沙之中,我深陷其中,越是挣扎,越是难以自拔。我想过放弃,想要就这样放弃我心中的渴望。当学校的公众号推送某某个C++实验室刚刚开放招新时,我猛然间惊醒,心中再次燃起了希望,或许这是我最后的机会了,我立刻投入面试的准备中,把前几次面试被问到的问题和答案整理出来,一遍一遍的揣摩。走入面试房间时,这一次,惶恐和不安消失在了我的脸上,我似乎已经不在乎结果了,不知道这是走了什么狗屎运,这次面试的问题几乎都能在前几次的面试答案中找寻,我也出乎意料的在近百人中得到了面试老师的青睐,成为了那百分之十拥有实验室队员身份的学生。
以上这些只是想要告诉大家,C++的学习需要不断检验学习的成果,这是非常重要的一部分,盲目的学习,往往会陷入盲目过度自信的状态,和真实水平相差很大的情况,这时不断的检验自己的学习成果显得尤为重要,现在有牛客,有leetcode这些都是非常好的网站,我们可以在这里找到自己的不足,也可以把已经掌握的知识运用起来。一定要有检验的过程!!!这真的很重要。

相知

进入实验室以后,根据实验室的计划,开始了新的学习,对我来说,我的C++当初只是草草了事的,所以最初的学习任务对我而言无比艰巨。我开始重新审视这个令我懊恼的语言,也有了自己的计划,将它重新学习一遍,我打开了那本让我受尽挫折的书,开始钻研,与第一次学习时相比,这一次对书中内容的领悟有明显的不同,而且在学习的速度上也大大超过预期。逐渐的,我几乎可以熟练的使用每一个知识点,我也对C++有了一个新的认知。相对于其他语言来说,C++可能更难一些,我们不必太过在意学习的进度,要注重学习的质量,每天学过的东西,可以问问自己,真的学会了嘛?还是为了赶进度而囫囵吞枣呢?最重要的是动手写代码,莫要以为看懂了就是学会了,能够把看懂的代码输出出来才是真正的学会了,有时会有一些误区,我明明看懂了代码每一句的意思,怎么自己写的时候就两手一麻,脑子放空呢?可能是因为你只是看懂了语法的逻辑,并不理解整个算法的思路,我推荐一种比较好的方法,伪代码,至于伪代码是什么,大家可以去百度或者是在博客上搜索一下,如果你能把看懂的代码转化为伪代码的逻辑(往往这个是最难的部分),在由伪代码转化成真正的代码。

相爱

由于科研的需要,实验室制定了数据结构与算法以及其他的学习计划,看到这些奇思妙想的解决问题的手段,我承认,我的DNA动了,每天几乎把所有的空闲时间都用在C++上,我似乎爱上了这个曾令我丧失信心的东西。只有找到真正的兴趣所在,才能全身心的投入进去,如果你在有了一定的基础和解决问题的能力后,依然觉得C++不能调动你的好奇心和求知欲,大可放下来,去寻找自己热爱的东西,兴趣是最好的老师。花些时间尝试和寻找自己所热爱的人和事是值得的,那种感觉真的很特别,就像是你找到了自己真正喜欢的人一样惊艳,那时你会发现,你所有的等待和付出都是值得的,这也会成为你源源不断的动力。

书籍推荐

我个人对于书籍较为偏爱,觉得书中的内容比较详细而且引发人的思考,可以做笔记,而且如果有什么需要重新审视的东西,很快速就能找到,教学视频是达不到这样的效果的,所以给大家推荐几本书。
有图片的是我已经阅读过的,没有图片的是大多数评价都不错的。

代码规范

这里没有书籍,大家可以去找一找大厂对与C++语言的规范,然后以此要求自己就可以了。

语言本身

编程最重要的还是语言本身,一定要把基础的知识理解的彻彻底底,C++不是一遍就可以全部领悟的,反复的体会,才能有更深的领悟。
这里推荐的是C++ Primer Plus 第六版
猿创征文|跌跌撞撞的C++成长之路_第1张图片

数据结构与算法

学完了语言本身,那么就要学习一下算法的思想来解决问题了,但是算法是离不开数据结构的,所以他们两个的学习应该是一起的。学习要以算法为主,当遇到了不懂的数据结构时在来翻阅这本数据结构教程,没有必要全文通读。

这是一本授人以渔的算法书籍,我个人对这种书籍十分推崇。

这本书把数据结构是如何实现的讲解的非常透彻,可以作为辅助用。
猿创征文|跌跌撞撞的C++成长之路_第2张图片

编程规范

C++程序员分为两种,一种时读过Effective C++的,另一种是没读过的。可见EC的影响力有多大,想要在C++领域有所建树,Effective C++ 一定可以助你一臂之力。这个系列共有两本,
猿创征文|跌跌撞撞的C++成长之路_第3张图片

数据库

作为一个C++工作者,怎能不了解数据库呢?
学完MySQL建议学学Redis.

计算机网络

《TCP/IP详解 卷一》

Linux编程

APUE、《鸟哥的Linux私房菜》两本、《Linux网络编程》、《Linux高性能服务器编程》、《Linux内核设计与实现》、《Linux多线程服务器编程》。

你可能感兴趣的:(Linux编写C++程序,c++,开发语言)