从大学开始学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 ...
随机推荐
- js自定义方法名
自定义方法名: <script language="javascript" type="text/javascript">window.onload ...
- Ubuntu Server 14.04 下root无法ssh登陆
今天安装了Ubuntu Server 14.04 在终端配置了root密码后,使用SecureCRT和putty竟然不能ssh登陆,SecureCRT一直提示密码不对,但是可以肯定输入的密码100 ...
- java开发规范总结_命名规范
规范需要平时编码过程中注意,是一个慢慢养成的好习惯 1.文件 1.属性文件后缀为properties,并且符合java中i18n的规范: 2.对于各产品模块自己的配置文件必须放置在自己模块的con ...
- ueditor爬坑
在使用UeEditor中遇到几个个坑 1.添加的html代码中使用的样式class被guolv掉 解决方案:在ueditor.config.js中,xss过滤白名单中,每个元素添加class,如下图 ...
- pthread_rwlock_t读写锁函数说明
读写锁 索引: 初始化一个读写锁pthread_rwlock_init 读锁定读写锁 pthread_rwlock_rdlock 非阻塞读锁定 pthread_rwlock_tryrdloc ...
- 个人工作记录---工作中遇到的sql查询语句解析
在工作中写了人生的第一个查询语句,虽然是在原有基础上改的,但仍然学到了不少知识 代码: select distinct m.id, (select z.jianc from model_zuzjg z ...
- C# 窗体间传值方法大汇总(转)
第一种方法:创建一个类,里面声明用于存储接收的字段.传的时候存储于字段中,要用的时候,直接类名.字段名 进行调用.(这种方法传递是双向的) 第二种方法:1.在Form1里定义 public strin ...
- 【转】python中List的sort方法(或者sorted内建函数)的用法
原始出处:http://gaopenghigh.iteye.com/blog/1483864 python列表排序 简单记一下python中List的sort方法(或者sorted内建函数)的用法. ...
- Leetcode: Reverse Integer 正确的思路下-要考虑代码简化
题目: Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 Have ...
- OC学习总结之面向对象和类
OC学习总结之面向对象和类 Objective-c是c语言的母集合,它的原意就是在原始的c语言的主体上加入面向对象的特性.1.面向对象和面向过程 面向对象和面向过程是编程的两种思考方式.面向对象 ...