大学四年, 专业心得

林锐有一本书, 叫做 <<高质量 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,一经查实,立即删除!

相关文章

计算机视觉基础(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…

java qq通信_结对博客(Java通信项目QQ)

项目名称&#xff1a;JAVA通信项目——QQ成员&#xff1a;邢正&#xff0c;郑振兰项目需求&#xff1a;QQ每个人都用过&#xff0c;它的意义就不再讲了。之所以选择做QQ事因为它有挑战性&#xff0c;涉及到通信、传输、swing等各种知识。(好吧我不装逼了&#xff0c;说的直白点…

java深度克隆大数据_Java - 深拷贝技巧

先让我描述一下问题&#xff1a;我在某Action(struts2.x)-A中写了一个功能P,以当前用户的某个标识F 1时需要走这个功能,而且这个功能因某些原因已经侵入到了其他一些method中。顺便一提,A中获得当前用户session的method已经被父类封装好了。然后我的代码已经push上去了,第二天…

设计模式—适配器模式

一、概念 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。——Gang of Four Adapter模式的宗旨&#xff1a;保留现有类所提供的服务&#xff0c;向客户提供接口&#xff0c;以满足客户的期望。 对象适配…

android UI进阶之实现listview的分页加载

上篇博文和大家分享了下拉刷新&#xff0c;这是一个用户体验非常好的操作方式。新浪微薄就是使用这种方式的典型。 还有个问题&#xff0c;当用户从网络上读取微薄的时候&#xff0c;如果一下子全部加载用户未读的微薄这将耗费比较长的时间&#xff0c;造成不好的用户体验&…

java stringutils_Java 笔记----- StringUtils 拼接字符

import org.apache.commons.lang3.StringUtils;StringUtils 提供了 join 方法用来 按照自定义的拼接符拼接join实现源码&#xff1a;感兴趣的可以看看public static String join(Iterator> iterator, String separator) {// handle null, zero and one elements before buil…

java xml接口实例化_Spring简介及xml配置

Java Web发展史第一阶段:JavaBeanServletJsp逐步发展第二阶段:面对EJB重量级框架带来的种种麻烦第三阶段:SpringMVC/StrutsSpringHibernate/myBatis第四阶段:享受SpringBoot"约定大于配置"的种种乐趣&#xff0c;很多繁琐的配置都变成了约定第五阶段:以Dubbo为代表的…

员工薪酬管理设计方案

待遇管理模块目前我遇到的要分两种方案&#xff0c;第一种是集团版的(有子公司、区域公司)&#xff1b;第二种是标准版的(就是一个标准的公司&#xff0c;不存在什么子公司)&#xff0c;下面就谈谈标准版个人是如何处理的。 特别感谢&#xff1a;江琴童鞋、罗静童鞋两位财务人员…

文件上传简介1---上传到指定的目录

preparation 本节摘要&#xff1a;本节主要介绍上传文件到指定目录。 引入&#xff1a; 文件上传是开发中常用的功能&#xff0c;本节主要介绍用commons-fileupload-1.1.jar包实现基本的文件上传功能&#xff0c;即上传文件到指定的目录中&#xff0c;同时介绍上传过程中使用到…

java驱动pl sql优点_用PL/SQL和Java开发Oracle8i应用程序

用PL/SQL和Java开发Oracle8 i应用程序随着Oracle8i的发布&#xff0c;Oracle 在数据库里支持了二种主要的编程语言??PL/SQL和Java。今天&#xff0c;Oracle的许多客户既使用PL/SQL建立数据库应用程序&#xff0c;也使用Java建立数据库应用程序。既然存在二种数据库编程语言&a…

java客户姓名添加和查找_java类与对象 演练 客户姓名添加与查看

java类与对象 演练 客户姓名添加与查看java类与对象 演练 客户姓名添加与查看https://www.ixigua.com/6870483106223096327?logTag_YUmIb2rn9-6JpoNipj9r属性由于需要保存很多名字因此来一个字符串的数组保存字符串的名字即可考虑&#xff0c;定义多个长度的数组&#xff0c;例…

应用程序调试技术(更新程度:完毕)送源码及PPT

课程简介 调试技术实务分为调试基本概念和设置&#xff0c;Windows下常用到调试工具VS和Windbg的使用&#xff0c;自动化调试技术&#xff0c;以及实际调试场景示例等。不仅仅是介绍枯燥的程序调试技术&#xff0c;而是深入的从操作系统实现以及.NET虚拟机实现的本质出发&#…

安装ie浏览器的js脚本调试工具

在ie中&#xff0c;如果不依赖外部工具进行js调试&#xff0c;而使用原始的alert的话&#xff0c;会大大增加js调试的难度。而微软的office、visual studio里边都带了可以支持ie调试的工具。 在安装office(2003、2007带此工具&#xff0c;2010不带此工具)时&#xff0c;选择自定…

领域驱动设计和开发实战总结

原文见&#xff1a;http://www.infoq.com/cn/articles/ddd-in-practice 转载于:https://www.cnblogs.com/ego/archive/2012/03/03/2378104.html

linux php 上级目录,Linux目录架构详解_php

linux和Windows操作系统的显著区别之一就是目录架构的不同。Linux操作系统的目录架构遵循文件系统层级结构标准。不知你是否使用ls命令浏览过Linux的根目录“/”&#xff0c;亲爱的读者&#xff0c;您都了解这些目录的含义吗?ls -l / 遍历文件系统(点击看大图)本文将引领您浏览…

screen执行php,Linux中screen命令及使用方法

Screen简介Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话&#xff0c;并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。GUN Screen&am…