从大学开始学C++到现在的一些感悟
Since I choose this road, I will not regret it.
--Mereyct
端午过后的第二天,闲着没事,更新一下博客。
写这个博客的原因是,看到了群里有人问调用构造函数时能成功,调用析构函数却失败了。他在群里问大家问题,可是没有人回答他。其实,开始写这个博客的时候,我感悟挺深的。也许我会得罪咱们中国的应试教育,所以提前对应试教育说句好话:我就是因为中国的应试教育考上研究生,成为一名学计算机的小码农。称自己为小码农,是因为自己连码农的资格都没有。水平还属于超级底下。
我的启蒙语言是C语言,学校开了C++课程前,我已经学过C了。我第一次接触了C++这个新鲜的玩意。所有的printf变成了cout << ,scanf变成了cin >>,但是我天真的以为,也就这点区别吧。学校的用书是中国著名的老师谭浩强写的《C++》,当然C语言也是用他的。我们老师是一个博士后,大学毕业想考北大,因为受不了政治这门课,选择了报送,去了北京科技大学。后来又去了某大学读了博,还顺便读了博士后。我真的不是有意贬低他的教学方式有误,确确实实是故意说他教学方式真的不行(这里我就不再吐槽了),总之,课结束以后,大家都是靠刷题,才考过的。因为C++这门课是上机考。于是期末考试那几天,天天背题。最后还得了80多。所以我感悟很深的原因就是,看到刚开始学习c++这门语言的时候,很少有老师会带你入门。很多老师只是完成课程任务,上完课后,也许他们有公司,要打理自己的公司,有些有家庭,根本没时间理你。你问他问题:他觉得太简单,自己看。所以导致很多人加群,在群里问,但是刚入象牙塔的大学生,哪里知道百度Google才是他们真正的老师。我不敢说所有的学校的计算机专业都这样,最起码我看到的学校,很多学校都老师都并不能很好的给学生指引一条就业的道路。教授教授,他们只是搞学问的,也就是弄学术,发论文,他们大部分的人根本不懂代码。就我现在的实验室,某老师做项目的时候,只会和你说需求!完成他要求的需求就是优秀的学生!但是他提出来的需求,有时候根本不切实际,他们并没有站在码农的角度来想。你说完不成!他们就说:没有完不成的事,只有做不成事的人!某某软件怎么就做出来了呢?我心里踏过了无数遍的草泥马:刚读研的大学生啥项目都没做过,就要和大公司专业的做出来的东西比吗?当然了,高要求对自己并没有错。
其实,读研期间学到的东西真真实实比本科多,这是肯定的,但是也是不能和实际工作比的。要是我的大学老师,能指点我,和我说:今天你要看这些这些书,看完你就懂了!如果你想走什么方向,就要多做这个方向的项目,多看这个方向的书!我也不至于读研了,早就工作了。4年大学了,真的很少有老师和我们这么说,绝大部分的老师,都是上完课就走人。连我的班主任,走在路上都不认识我们。
很多人会说,学习是靠自己的,老师只是领你进门。这句话我真的非常同意。但是事实上?我的老师们并没有带我进门。
到了大四,学了很多很多的专业的课,却编不出一个程序。当然,最主要的原因是因为我自己吧,水平不够。平时做做我们学校的OJ,刷刷题,搞搞算法。对项目这个概念,真的非常的模糊。
大四我开始了考研。想通过考研这个方式来改变这个现状。希望自己能多做项目,也希望自己对计算机有更深层次的理解。如我所愿,我真的考上了。还进了我们学校最好的实验室。
大四的时候我开始深思熟虑,我到底是做JAVA还是c++,之后因为对C++这门语言先入为主的观念,我打算走c++这条路。做Linux下服务器编程。我当时励志想进大公司,给大公司做架构,给他们造轮子。因为linux下服务器编程,也就是一项做轮子的工作。
我开始疯狂的百度各种大神的学习经验,我先花了半个月看了 《C++primer》第四版,敲了上面的所以例子。学完这本书以后,我发现自己的以前所有看不懂的代码。我都能读懂了。大二纠结的那些问题,全部都迎刃而解。我还看了酷壳上博主写的C++程序员自信曲线图。深知做走这条路真的不容易,没有3、4年我都不敢说自己已经入门了。因为c++里面的东西太多。模板的运用、STL库的使用、BOOST库等等,以及你想搞SOCKET编程,你还得学习W.Richard Stevens传世经典的《UNIX网络编程》,这些书都是大砖块,你想学习完他们并不容易。你需要花大把的时间熟悉他们。当然会使用他们还不够,你还得知道他们的源码,例如,你还要了解例如STL源码里面的东西。侯捷说过:源码面前,了无秘密。只有都掌握了这些,你才能说自己是一名合格的C++程序员,你的简历上也才能写上熟悉C++。
在校的本科生,如何学习?项目+经典书籍+交流,这才是王道。不要一味闭门造车,学习一些新的东西并不是坏事。项目是增加你的动手能力,也是检验你的掌握程度。
现在和大二时候的自己,对C++的感悟肯定是不同的。觉得C++是从C里面演变过来的,这样的思想,现在觉得是多么的可笑,因为现在我觉得,她是一门和C并没有多少关系的语言。不管怎么说,既然选择这条路,我就绝不后悔(Since I choose this road, I will not regret it)。希望你们也一样。
#12楼 2015-06-21 18:24 东王
从大学开始学C++到现在的一些感悟的更多相关文章
- 当你觉得大学没学到Linux时的感想
你的大学生活是什么样的呢?你在大学有学到特殊的技能吗?你可以在大学毕业的时候找到一份满意的工作吗?当这些问题摆在你面前的时候,你会迷茫吗,绝大多数的人在毕业的时候并不能找到一份好的工作,那不是因为你的 ...
- 在 2016 年学 JavaScript 是一种什么样的体验?
转 译者:方应杭 嘿,我最近接到一个 Web 项目,不过老实说,我这两年没怎么接触 Web 编程,听说 Web 技术已经发生了一些变化.听说你是这里对新技术最了解的 Web 开发工程师? 准确地说,我 ...
- [No000002]大学本科文凭贬值了多少?
<大学本科文凭贬值了多少?> 朋友开网络公司,招应届毕业生.他们是小本经营,人手本就不多,面试的时候,忙不过来就会拉我过去,假装是公司的面试官.主管什么的,算是滥竽充数.我装模作样面试了几 ...
- 从零开始学ios开发(一):准备起航
首先介绍一下自己的背景,本人09年研究生毕业,大学就不介绍了,反正是上海的一所211大学,学的是计算机科学与技术专业,学生时代,从事过ACM,没有什么太大的成就,中国的牛人是在太多,我的水平,估计连高 ...
- 【转载】许纪霖教授在上海财经大学演讲——漫谈“大学生的四个Learn”
这几年,越来越多的大学毕业生抱怨找不到合意的工作.很多单位又感叹,找一个称职的大学生真难.这就形成一个非常大的反差和矛盾.那么,社会究竟需要怎样的大学生?我们的大学到底应该培养怎样的大学生?我们作为大 ...
- 从零开始一起学习SLAM | 学习SLAM到底需要学什么?
SLAM涉及的知识面很广,我简单总结了 “SLAM知识树” 如下所示: (公众号菜单栏回复 “树” 可获得清晰版) 可以看到涉及的知识面还是比较广的.这里放出一张SLAM圈子里喜闻乐见的表达悲喜交加心 ...
- 在 2016 年学 JavaScript 是一种什么样的体验?(React从入门到放弃)
jquery 年代 vs 前端模块化 http://blog.csdn.net/offbye/article/details/52793921 ++ 嘿,我最近接到一个 Web 项目,不过老实说,我这 ...
- JavaScript怎样学
嘿,我最近接到一个 Web 项目,不过老实说,我这两年没怎么接触 Web 编程,听说 Web 技术已经发生了一些变化.听说你是这里对新技术最了解的 Web 开发工程师? 准确地说,我是一名「前端工程师 ...
- 《逆袭大学:传给IT学子的正能量》
<逆袭大学:传给IT学子的正能量> 基本信息 作者: 贺利坚 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115347473 上架时间:2014-3-3 出版日期:201 ...
随机推荐
- 通过WebClient/HttpWebRequest实现http的post/get方法
///<summary>/// 通过WebClient类Post数据到远程地址,需要Basic认证: /// 调用端自己处理异常 ///</summary>///<par ...
- 使用Sqlite数据库存储数据
1.Sql基本命令 1.1.创建表 表是有行和列组成的,列称为字段,行称为记录. 使用CREATE命令来创建表: 1 CREATE TABLE tab_student (studentId INTEG ...
- How to Make LastPass Even More Secure with Google Authenticator
Google Authenticator LastPass supports Google Authenticator, which is officially available as an app ...
- style currentStyle getComputedStyle的区别和用法
先介绍下层叠样式表的三种形式: 1.内联样式,在html标签中style属性设置. <p style="color:#f90">内联样式</p> 2.嵌入样 ...
- Linux sz rz
借助XShell,使用linux命令 root 账号登陆: su root 1.编译安装 wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar. ...
- Java 基础(一)
Java不只是一种语言,更是一个完整的平台,有一个庞大的库,其中包含了很多可重用的代码和一个提供诸如安全性.跨操作系统的可移植性以及自动垃圾收集等服务的执行环境. javaSE: 整个java技术的核 ...
- CPU风扇故障导致自动关机
今天在使用电脑时,突然自动关机,重启后过一段时间又自动关机,于是打开机箱后盖,插上电源观察各个部位运行情况,发现CPU风扇不转,判断问题就是由于CPU温度太高了.于是换个风扇,再开机情况就正常了.
- Smart Client Software Factory安装
首先要安装 Visual Studio 2010 SDK 不然无法安装 Smart Client Software Factory 2010 然后按顺序安装 GAX 2010 http://visua ...
- 怎样使CSS3中的animation动画当每滑到一屏时每次都运行
这个得结合js来做的.比如这里有3个层,js判断滚动到当前层位置的时候给其加上一个class即可,而加的这个class就是带css3执行动画的 class <div id="a1&qu ...
- 翻译-让ng的$http服务与jQuerr.ajax()一样易用
Make AngularJS $http service behave like jQuery.ajax() 让ng的$http服务与jQuerr.ajax()一样易用 作者zeke There is ...