看完《C++ primer》后,我都收获了什么?

​ 迫于读研和未来就业的压力,我研一上自学了C++的这门语言,自我感觉比较认真的看完了《C++ primer》这本书的大部分章节,算是系统性的过了一遍C++这门语言。期间,结合自己本科时学习汇编和C语言的经历,我想谈一谈我对学习编程的一些想法,希望能够对屏幕前的你有一些启发

1 - 语言只是一个工具

​ 无论是计算机科班生,或者是非科班生,在最开始接触编程的时候,脑海里总是会思考我应该学习什么语言好。我当初也是有过这样一段经历:

​ 大一工科选修了一门C语言,上课完全听不懂老师在讲什么,期末考试前花了一周多时间对付了考试,算是蒙混过关,至此算是和C语言结下了梁子,什么二维数组啊,指针啊,文件读取,结构体等等,一概把我欺负得死死的。

​ 18年大二的一个寒假,偶然间接触到了Python,那时候大家可劲儿的把Python吹上天了,利用空闲时间也是去尝试学习了Python,刚开始学习的时候感觉挺新鲜的,不需要在每行代码后打冒号,丰富的插件和库。但我不是计算机学院的,虽然我跟着一个公众号,把基础的Python语法学习了一遍,甚至用pygame跟着做了个飞机大战,蛮有成就感的,但是这背后的这个东西是什么,有什么用,我并没有思考清楚,只是迷迷糊糊地学了一门语言的基础语法。

​ 大三的时候又开始不务正业的玩上了arduino,学习arduino的时候,是跟着一些网上的资源做的,但是碰上一些比较复杂的程序,我一是不明白别人的程序组成,二是不明白开发板背后的基本原理。因此又跑去学了一段时间的51单片机,学习单片机的过程还是挺有趣的。那时我在MOOC上跟着北京交通大学的一个老师学,他用的是汇编语言,于是乎我也是跟着用汇编语言。在使用汇编语言编写单片机代码的时候,对代码的理解更加深刻了,虽然已经好几年没有碰过单片机了,但是那些指令:MOV AX, LOOP AGAIN等至今还是历历在目。

本科期间对编程的不痛不痒式学习,导致我并没有在计算机方面有更深的了解以及掌握。相反,折腾来折腾去,我始终没能入得了编程这个门,还处于纠结学习什么语言更好的一个层面上

​ 而现在,我读了传统工科的硕士,这学期有一门课叫做《计算方法》,该课程有一个上机报告,需要学生用习惯的编程语言完成实验报告。我硕士最开始想做“机器视觉”<没选好导师,我估计大概率不会做这个方向了>,我进校后就开始了自己的C++自学之路。首先是在B站上观看了黑马的C++视频,看了一段时间后买了书《C++ primer》。书看了前四章,我为了检验自己的C++学习水平,就开始尝试着使用C++进行上机报告程序的编写。我记得很清楚,第一个题的程序我花了很多的时间,从给函数传递数组作形参、到使用vector取代数组、再到计算数据量太大,在堆区new了一个二维数组。然而,不得不说,当人有了一个具体的目标,学习速度真的会更快一些。在之后,由于后面的题目涉及到 f ( x ) f(x) f(x)曲线图形的绘制,我又自己去搜索如何让C++像Python的一样绘图,尝试了easyx,pltplot等插件都不太好使后,我开始思考:是否应该使用Python进行程序的编写?

不要再纠结语言选择了。哪一门语言更加适合你目前的工作要求或者使用起来更加顺手,就使用哪一种的语言

​ 于是乎,为了让我的实验报告更加好看,我又在我的电脑装上Python,重新用Python编译整个程序。因为有了C++的基础,我花了不到一天,我就编写好了一个Python程序,能够解决我所需要解决的问题。也正是从那个时候开始,我自己切身体会到了语言只是一门工具,哪个工具更合适。

​ 而如今,当我看完了《C++ primer》的大部分章节后,我更是认同这句话的重要性。无论你是因为什么原因去学习一门计算机语言,哪一门语言最能解决你的问题,你就去选择哪一门语言。在我现在看来,编程语言就好比一个中介,一个让我们和计算机交流和沟通的传话人,我们需要使唤计算机帮我们解决生活中的问题,但是我们无法直接和计算机沟通,我们只能依赖于一门或者多门编程语言和计算机进行交流。而不同语言之间的差别,其实只是在交流的方式上存在着差别,就好比是你习惯面对面交流还是书信交流,或者是电话交流。

2 - 光学会一门语言还不够

​ 如果你对计算机方面有更多的追求,希望自己能够使用编程技术帮助自己在校期间赢得一些比赛、或者通过编程做一些有意思的东西以及通过编程技术在IT公司找到一份高薪工作。那么,仅仅掌握一门语言,是远不能够完成上面的目标的。

​ 就拿我举个例子吧,我现在跟了一个方向不喜欢的导师,不打算毕业从事硕士期间的研究方向的相关工作,我自己计划自学编程,跨行去互联网企业谋一份高薪工作,在我看完《C++ primer》后,我下一步的学习计划如下:

  • 数据结构与算法
    • 数据结构和算法是计算机学科中非常重要的一门课程,俗称编程四大件之一,也是一个优秀程序员的必修素养之一。如果你们希望未来能够利用计算机做更多更厉害的东西,数据结构和算法是绕不开的。
  • 计算机系统原理相关知识
  • 计算机网络相关内容

如果你希望在C++上掌握的更加精通,那么在《C++ primer》的基础上,还需要继续阅读《Effective C++》,《STL 源码剖析》、《more Effective C++》等书籍。毕竟,C++作为一门最为复杂的语言之一,想要“熟练”掌握,不多读几本书,多写写代码是不可能做到的。

3 - 结语

​ 好了,以上就是我本人在看完《C++ primer》后一些收获和感悟,希望能够帮助到阅读我文章的你。如果你对文中某些内容有什么不解或者文中有什么讲得不对,欢迎在下面进行评论哦!

Guess you like

Origin blog.csdn.net/qq_42518941/article/details/113196014