大学四年, 专业心得

林锐有一本书, 叫做 <<高质量 C/C++ 程序设计指南>>. 其中附录里有他的一篇十分震撼的文章叫做 <<大学十年>>. 讲述了林锐从大学以来学习的经历和所获得的感想. 我看过后, 内心深深的被触动了, 都是大学 4 年, 为何差距如此之大? 都是学计算机专业, 为何水平如此悬殊? 我也时常回忆起大学四年中所作所为, 现今整理一下, 也反思一下自己的得失.

 

    本人自幼喜爱计算机, 对编程有着深深的好奇, 对操作系统尤甚. 抱着对计算机的喜爱, 我来到了北信科大, 学习计算机科学与技术专业, 可以说, 我赢在了起点. 如果让我给高三即将报考大学的后来者推荐学校和专业的话, 我会送个他一个数学函数:

 clip_image001_thumb

    关于这个函数我只做一点说明, 就是 ‘学校名气^10’ 是因为考虑到学习氛围以及所接触到的人导致的自身眼界问题所产生的差异. 其它的我不想解释, 仁者见仁.

    说道我的大学四年, 真是有太多的要写, 不过但从专业教育和心得来说, 我主要从看书自学和获得的成果来说. 的回忆如下:

 

大一上:

  • ‘认真’ 学习了谭浩强的 C 语言. 做出了第一个难住我的课后题, 就是输出这个形状: clip_image003_thumb. 我想大家对这道题应该有印象. 三年过去了, 我们再提起谭浩强的书, 更多的是看到了发行量从 1000 万册变成了 1100 万册….

大一寒假:

  • 这个假期最令我骄傲的就是我在 10 天时间内完成了谭浩强的 C++ 程序设计学习, 并做了所有习题.

大一下:

  • 利用课余时间学习 MFC, 看的是 <<孙鑫的深入浅出 VC++>>, 入门很不错, 推荐小学弟们买一本,看的时候不用求甚解, 因为你现在的水平一般人想解也解不了…, 但是一定要跟着做, 要么白看. 我依稀记得一个人在昌平自习室对着我的 12.1 寸小本, 傻子似的书上写什么就跟着学的我. 下午的阳光照进教室, 有种沧桑的美感.

大一暑假:

  • 我为祖国做贡献. 国庆六十周年群众游行训练中, 平均每天要站, 一动不动的站 8.5 小时. 晚上训练完后, 我便翻开那本黄色的 <<精通 MFC >> 跟着例子做…

大二上:

  • 看过 Linux Kernel Development 中文版, 当然, 看不懂是必然的, 硬着头皮看. 最终感觉没什么收获.
  • 后来看了林锐博士的 <<高质量 C/C++ 程序设计指南>>. 这本书客观的评价就是名字起的太大了, 书中的内容虽然不错, 但是配不上这个名字. 适合大二下半学期的同学看. 里面讲述了一些常见的误区以及一些好的编程习惯. 特别强调书中后面林锐写的 <<大学十年>>, 一定要看看, 尤其是北信的, 10 级以前的同学… 因为 10 级以后的同学就不认识周维真老师了. 如果你不知道我在说什么, 去读一读吧. 这本书总体感觉不难, 给我了学习的信心.

大二寒假:

  • 在 504 学习.

大二下:

  • 真正让我飞跃的是接下来要介绍的一本书 --- <<Thinking In C++ Volume One: Introduction To Standard C++>> 英文版. 这是一本神奇的 C++ 书籍! 里面用通俗易懂的语言讲述了 C++ 的几乎全部方面的知识, 以及一些常见的编程习惯, 和一些应该避免的问题. 如果说对 C++ 的掌握能用 100 分衡量, 那么就是这本书, 让我这个一直使用 C++ 的选手从 40 分变成了 60 分. 看这本书最好一遍看原文, 一边看译文. 而且是先看原文再看译文, 这样既锻炼了专业英语能力, 又对作者的思想有自己的认识. 所以你同时应该看了两遍书.
  • 此后, 我发现在实际编程中遇到了一些很实际很具体的问题, 诸如代码格式和注释风格, 以及命名约定等问题, 这些困惑促使我要 “规范” 我的代码, 让代码成为一种艺术品. 于是我买了 <<C++ Coding Standards>>. 这本书… 名字起的太泛了, 让我理解成了 Coding Style and Name Convention 了. 但实际上次数讲述了 coding 中需要注意的编程习惯. 这时的我还没能力完全领悟其思想, 只是看完以后的 3 分钟还有印象.
  • 此外, 我认识了一个影响我一生的女孩, 现在已经是我的未婚妻. 应该说, 不久之后就是我的妻子.

大二暑假:

  • 去浦华众城实习. 这是我人生的一个实习! 我记得当时非常非常激动, 因为自己在学校看过两本书, 一瓶子不满半瓶子咣当, 觉得自己已经可以工作了, 于是想出去试试身手, 以为自己能有一份作为… 实际上是, 我做了一份无技术含量的工作 --- 网络推广, 换句话说, 就是在论坛上发帖. 这一个假期, 我拿了 600 元的交通补助.

大三上:

  • 在看完了 Thinking In C++ Vol.1 时, 我就决定要看 Vol 2 了. 这回有时间了, 我还是看得英文版 <<Thinking In C++ Volume Two: Practical Programming>>, 并配合中文版看. 但是个人感觉这本书讲的不如第一本好接受, 可能是知识层次深了.
  • 我又心里痒痒了, 同时看 <<Exceptional C++>>(中英文两本) 和 <<The C Programming Language>> 以及 <<Inside The C++ Object Model>>. 这段时期真是太痛苦了, 每天都有相当繁重的看书任务, 正赶上课程多, 所以日子过得很快, 也很快乐.
  • 这学期看得左后一本书是 <<The Elments Of C++ Style>>, 这本书其实是我大二想看的, 但是现在才知道这本书的名字. 此时的我已经形成了一部分自己的编程风格了, 不过大多数都是公认的, 只有少数是我个人独有的. 此书大部分我都不用看了, 少部分看了也接受不了了. 可以说时间的一个眨眼, 使这本书对我的价值约等于 0.

大三寒假:

  • 杭钢项目.

大三下:

  • 各种课程各种考试… 当然, 前面说的都是借口, 最主要的原因是我心思都在她那里. 这里我不对我的行为作价值分析, 仁者见仁. 时间也许会告诉我们结果.

大三暑假:

  • 参加杭钢项目.
  • 空三所实习.
  • 忘了在哪里获得了如下理念: 大学期间要精通一门主流的, 可以编写大项目的语言, 此外还要掌握一门动态语言. 我瞄准了 Perl, 为什么呢? 因为我之前接触过 Regular Expression. 了解 Perl 或者 Regex 的人就懂了…
  • <<Expert C Programming>> 英文版是一本好书, 已经大三的我, 看了这本书还是发现了自己的漏洞, C 语言的漏洞, 你能想象么? 一个 C++ 选手发现自己的 C 语言漏洞时间很兴奋事情, 因为普遍 C++ 选手都以为自己 C 语言, 至少是语法已经完全掌握了… 可能是我自大了. 此书强烈推荐大三的同学看看. 大二下半学期也可以尝试着, 不过吸收程度肯定和大三的不一样.
  • 前面说过, 我很喜欢操作系统, 当然, 每个程序员都有过写 OS 的梦, 我也是, 而且我还比他们更进一步, 开始学汇编. <<80x86 Assembly Language and Computer Architectre>> 英文版给了我回忆汇编, 并消除了我对汇编的恐惧感. 汇编并不恐怖, 此时我还开始使用汇编重写 C 语言的函数. 不为别的, 只为加深自己对汇编的掌握和对 C 的理解. 当然, 如果有一天 C 语言突然不让用了, 那我写的汇编还可以再造一个 C… 就让我做做梦吧…

大四上:

  • 之前就看过 <<精通正则表达式>> 中文版, 但是没看完, 一直断断续续, 终于看完了. 英文版的我也有, 但是实在... 逻辑性太强, 此时我英语还是达不到这个程度的. 个人感觉, 只要掌握某些章节就可以了, 因为 Regex 是相当相当深奥且需要经验积累的, 如果不靠它吃饭还是略懂为好. 就像数据库一样, 略懂往往会在效率上想一个小丑... 关于取舍, 自己衡量.
  • 和同学参与一个 Linux 聊天程序项目, 正好学习了一直以来不会的网络编程, 我看的书是 <<Linux/Unix 网络编程>>, 主编是甘刚. 这是一本实践性非常好的书, 细致的讲述了 socket 编程中的一些原理和实现。 如果想亲自实践 socket 编程, 这是我个人推荐的一本初级教程。
  • 同时, 在 Linux 下使用 GNU Make, 所以顺便看了看 GNU make 中文手册 ver – 3.8. 其实看了和没看只在管理大型项目的时候才能体现出来.
  • 因为学习了汇编, 我就向 OS 迈出了第一步, 接下来我要系统学习操作系统的原理: <<操作系统: 精髓与设计原理>> 一书是我个人很推荐的, 讲的比较透彻. 这本书是在很多个早上起床并吃饭后的 1 小时里看完的, 因为 9:30 还要去实习.
  • 之前大三暑假的时候买了一本 <<C 语言常用函数大全>>, 是个叫陈超等编的, 黄色的封皮. 此书多出错误, 讲述混乱, 粗糙. 实为国产书籍之次品. 买了就扔了吧.

 

    以上是我的主要学习经历, 你会发现我压根没提学校的课程, 并是不他们不重要, 而是因为他们是你的本职任务, 就像吃饭呼吸一样. 另外, 我所参与的项目也尚未提及, 因为项目多是实战性的, 所以我认为你无法从我的描述中获得什么有价值的东西, 而且我也写不清楚.

 

    一定要知道, 你是为什么而学, 为了当官还是为了显摆? 还是为了老师表扬? 都不是, 应该是为了知识, 为了真理, 为了你自己. 如果你有才, 还应该为了全世界.

转载于:https://www.cnblogs.com/walfud/articles/2320643.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/422603.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HDU 2222 Keywords Search

HDU_2222 今天开始学AC自动机了&#xff0c;这个就是我AC自动机的处女作了。这个题有个小trick就是单词列表中可能有重复的单词&#xff0c;但这些重复的单词应看做不同的&#xff0c;因此建字典树时做标记的时候&#xff0c;把原来的赋值为1的操作变为自加1的操作即可。 最后匹…

java前言_Java Web前言

Java Web是什么&#xff1f;首先我们得搞清楚这个问题&#xff0c;以上是百度百科给出的答案。然后我们抠出关键词&#xff1a;Java技术 web(web服务器和web客户端)以上是Java百度词条给出的答案&#xff0c;通篇浏览可以有个大概的了解同上&#xff0c;建议全篇浏览所以这里我…

转:html id与name区别

id与name的作用,作为标签的标识符,基本上是一样的.name是老方法,id是在name基础上发明的,比name"现代化"一点,用的范围广一点. <A..> 中的name原来(刚发明时)就是用于本页按一下转向过去用的。我们一般认为&#xff1a;ID就像是一个人的身份证号码&#xff0c;…

PHP企业级开发环境配置全攻略-IDE+SVN++(转)

zend studio一直被认为是最好的php IDE&#xff0c;然而zend studio对javascript和css的支持一直很弱。刚刚发布的zend studio 8 加入了javascript调试的功能&#xff0c;对css的支持也改进了。然而zend studio是要收费的。我在这里推荐一套开源免费的可比拟zend studio的php开…

java 生成url_JAVA 通过URL生成水印图

Overridepublic OutputStream watermark1(String ossURL, String logoOsskey, HttpServletResponse response) {lock.lock();OutputStream os null;InputStream imageStreamnull;//水印String logoPath ossService.getOssURL(logoOsskey,bucket);//原图ossURLtry {osresponse…

前端学习(381):CSS3 的视口单位vw、vh实现自适应(带有px,em,rem的简单介绍)

一、px&#xff0c;em&#xff0c;rem&#xff0c;vw的简单介绍 1、px px其实就是像素的意思&#xff0c;全称pixel&#xff0c;也就是图像的基本采样单位。对于不同的设备&#xff0c;它的图像基本单位是不同的&#xff0c;比如显示器和打印机。而我们通常所说的显示器分辨率…

SAP 那点事BW HANA

作为在去年10月份SAP公司大会上隆重推出的产品&#xff0c;不得不提&#xff0c;HANA是十分强大的&#xff0c;它与BW是相辅相成的&#xff0c;但又可以独立于BW之外&#xff0c;虽然建模功能不如BW强大&#xff0c;但是它的ETL较之BW快上了至少10倍以上&#xff0c;速度和可实…

java数组中相同的元素个数_java求两个数组中相同元素出现的次数

法一public class Methodfifth {public void mixed(int array1[], int n1, int array2[], int n2){int i 0, j 0,number0;while (i < n1&&j < n2){if (array1[i] array2[j]){number;i;j;}else if (array1[i]>array2[j]){j;}else if (array1[i] < array2…

实例1.2:获得应用程序主窗口指针

主窗口指针保存在CWinThread::m_pMainWnd中&#xff0c;可以先调用AfxGetApp函数获得应用程序的指针&#xff0c;然后通过应用程序的指针获得其主窗口的指针。 //获得应用程序指针CMy1_2App* pApp (CMy1_2App*)AfxGetApp();//获得主窗口指针CWnd* pMainWnd pApp->m_pMainW…

【C++ 学习笔记】 MFC CEdit

环境&#xff1a;VS2008 -关联变量 方法一&#xff1a;在控件上右键-变量-CEdit类型变量-输入变量名。 方法二&#xff1a;添加代码 头文件中定义变量CEdit m_edit_fileName;源文件中变量关联DDX_Control(pDX, IDC_FILENAME, m_edit_fileName); -取得文本 取得CEdit中输入文本的…

java log4j 配置_Java:log4j与log4j.properties的配置说明

[来源&#xff1a;Java |作者&#xff1a;Java |时间&#xff1a;2007-7-20 |去论坛]--在强调可重用组件开发的今天&#xff0c;除了自己从头到尾开发一个可重用的日志操作类外&#xff0c;Apache为我们提供了一个强有力的日志操作包-Log4j。Log4j是Apache的一个开放源代码项目…

Linq(03)基础之Orderby group-by

说明&#xff1a;本内容来自微软的MSDN&#xff0c;好记性不如烂笔头&#xff0c;加深印象。 我的心得&#xff1a;开头 Let子句 1) 在查询表达式中&#xff0c;存储子表达式的结果有时很有用&#xff0c;这样可以在随后的子句中使用。 2) 该关键字可以创建一个新的…

linux-tar命令详解

转自&#xff1a;http://www.21andy.com/blog/20060820/389.html linux解压 tar命令 tar命令 tar [-cxtzjvfpPN] 文件与目录 .... 参数&#xff1a; -c &#xff1a;建立一个压缩文件的参数指令(create 的意思)&#xff1b; -x &#xff1a;解开一个压缩文件的参数指令&#xf…

java tcp端口复用_windows server tcp端口重用问题

我们的服务器端和客户端都是windows的Serverclient(192.168.1.11)发送socket连接到windows服务端&#xff0c;windows处理完数据返回报文后就close掉了(server端是java写的)。比如client使用12345端口发送数据到server的7777端口。client收到server的fin包后完成4次挥手后clien…

计算机视觉基础(11)——语义分割和实例分割

前言 在这节课&#xff0c;我们将学习语义分割和实例分割。在语义分割中&#xff0c;我们需要重点掌握语义分割的概念、常用数据集、评价指标&#xff08;IoU&#xff09;以及经典的语义分割方法&#xff08;Deeplab系列&#xff09;&#xff1b;在实例分割中&#xff0c;需要知…

使用vs2010+WCF发布json数据,ExtJS4.0进行调用

花了近一天的时间调试解决&#xff0c;希望对有相同需要的朋友有帮助&#xff1a;1、新建一空网站,添加一个web页面webform1.aspx&#xff0c;添加ExtJs相关引用<link href"ExtJs4.0.7/resources/css/ext-all.css"rel"stylesheet"type"text/css&qu…

mysql的 怎么处理_本人的MySQL连接到底怎么处理才好……

RT&#xff0c;代码本人直接贴了……using MySql.Data.MySqlClient;namespace WindowsFormsApplication1{public class ClassConnect{MySqlConnectionStringBuilder cs new MySqlConnectionStringBuilder();cs.Server “127.0.0.1”;cs.Port 3306;cs.Database “user_syste…

js解密

js解密http://www.cfansblog.com/tools/jsEncode.html转载于:https://www.cnblogs.com/skillCoding/archive/2012/02/03/2336700.html