感想

因为快要找工作了,也因为总是心虚,几个月前我就开始复习了。

从C开始。写了一年的UNIX C了,自认为已经不错。不料还是发现很多没有完全懂的东西。然后是C++。看C++ Primer我忽然发现大部分知识我都没有用过。之后操作系统,网络,编译。那时候上课都觉得听得懂,教材通读过2遍以上,作业都是自己写的也成绩不错,考试前还可以给别人讲题的。考试成绩也不错。但是这样看下来,发现自己似乎一直没有真的懂过。我似乎是格外的笨,明明已经一再重复,还是掌握不到实质。然后回头看UNIX。重新看APUE。我发现自己可以看得更快了。同时我也发现,之前读过N遍的APUE,原来还是有没有明白的地方。

真是太可怕了。我还自我感觉很良好呢。

昨天晚上看Stevens的TCP/IP详解,边看边想起当初学网络和做网络实验的时候,学校给的教材是英文版的自顶向下那本,我看不进去。于是找了AST的那本来看。很认真的,花了几天,边看边笔记,才学得明白了。大家都说自顶向下的学得容易,可是我听课的时候好像只听到一个个概念,像政治课一样。但是看AST的这本书就一下全明白了。我以为是因为AST讲的仔细。也确实是这样。但是昨天晚上,想到TCP/IP详解卷一叫做协议,卷二叫做实现。实际上我们学的都是协议,但是怎么实现根本没有提及过,因为照学校的逻辑,实现TCP/IP是人家UCB的事情,我们不必了解。包括学校选择自顶向下那本教材,也是抱着这样的心理,因为我们将来是不会触及底层的,所以从上面开始讲,能听多深就听多深吧,反正最后用不到。但是这样我学的时候就也觉得网络不过是一个"东西"罢了。不需要了解他是怎么来的怎么做的,只需要知道他的外部表现如何,将来能够用,不就够了?

但是才不够呢!

我从学校只学到了计算机是什么,这是what,但是并没有学到why,更别说how了。因为学校要求的只是一个可以拿来做工的程序员,知道他是什么就足够了。但是我觉得,如果不了解why,不了解发展的过程,那么计算机只是一个东西。当然大家都知道为什么要有计算机,大家也都知道为什么计算机要有网络,操作系统,但是再往深里问,为什么进程地址空间有堆栈这种东西,为什么网络要有ICMP这种协议,这些东西我以前从来没有思考过。我一直在做的,是把这些理论当作是一种常识性知识背下来。但是计算机发展到现在,每一步都是有明确的历史原因的,这些我不曾了解,也因此不会了解这些理论的实质。我始终停留在what阶段。

再说how。我才明白为什么要学习这些理论知识。如果只是让我做程序员,何必学这些用不到的呢?但是就像很多前辈说过的,学到这些才能对程序有更深的了解。 。我终于才明白。所以我学过linux实现再看APUE就感觉不一样了。所以我学到这些再去写程序更顺利了。

Dijkstra说要做一个humble programer。自此这成为了我的座右铭。既然天资已经到这儿了,就多下苦功吧~我决定再多看看,争取到how的层次。那时候才敢说自己是个程序员呢~(笑)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值