终于读完了这本书

读书

我是真的没想到 The Linux programing Interface 这本书加上习题能花了我这么长的时间,但终于在今天我结束了这本书,从四月中旬到现在足足过去了 5 个多月,虽然中途也有小两个月忙别的事情,但这本书一直是作为一条主线来推进的,我也建了一个[仓库](https://github.com/sunhuiquan/tlpi-learn)(虽然里面肯定有不少错漏)来记录我做的答案。 虽然我仍然很菜,但相比 5 个月前仅仅知道几个 shell 指令的我,现在终于可以说自己熟悉 linux 的使用和在 linux 上编写程序了。 为了学习系统编程这个方向,最开始我想看 APUE,但是翻看后和 TLPI 一对比,首先是 TLPI 的厚度是 1176 多页,而 APUE 只有 800 多页,明显 TLPI 的相对更加详细;然后 TLPI 是 Linux/Unix 系统编程手册,虽然也考虑 unix 和可移植性问题,但绝对是以 linux 为主,各种各样 linux 特有的机制和系统调用都有介绍,而 APUE 由于出书过早,显然这本书更加注重的是 UNIX 上的表现,同样由于时间问题,很多现在有的机制当时都是没有或不成熟的;再之后是自从 12 年左右 linux 打败 windows 成为服务器主要系统,而 unix 由于各种各样的原因相对 linux 发展缓慢许多,加上 unix 作为服务器的比例相对 linux 小太多了,我更倾向于以 linux 为主进行学习。 悲痛于 APUE 作者 W.Richard Stevens 英年早逝,记得 APUE 当时的被论文引用的数量非常之多,可谓是巨作,可惜时过境迁,对于初学者,我现在更推荐以 linux 为主看 TLPI 这一个路径,当然 APUE 当然也要拜读,不过不应该是现在。另外这只是我这个菜鸟的个人感受,仅供参考。 不过对于网络编程初学者,W.Richard Stevens 的 UNP 卷一和 TCP/IP 卷一仍然是不可不读的佳作。

挣扎

最后是写给我自己的,希望当我以后毕了业工作后,能够通过这些回想起我大学里的挣扎,来和我作为打工人的生活比比哪一个更惨。 记得我上上篇写的开始有趣起来的大二下,结果自然是谎言,事实上是一点也不有趣,而我这 6 个多月的生活如同战争一样,随着时间的流动,我深深陷入了战争的沼泽。 首先是课业一点也没有意思,很多不知所谓的水课占据了大量的时间,最可怕的是,如果我认真想想,发现所有课都是水课,因为课程质量实在不敢恭维。而且课程繁重,平均一周近二十节课加上一周三四个课程的实验作业,让我失去了太多时间,我痛恨于深陷时间沼泽,但无能为力。 于是我想休学一年,但由于种种原因,最后也选择没有去休学。而寒假看起来不错,但寒假竟然有课设,而且组员的划水我不得不一人干五个人的活。 然后就是新学期的开始,情形没有好转,课程很多,虽然几门核心课我都已经学会,但仍然有不少的水课和几门其他方向的课让我心累,软件工程和软件测试两个课最后都是参加比赛来作为平时分,占用了不少时间;微机原理的讲的电路让我不明所以,为什么我要学这个;oracle 数据库和密码学这两门课纯粹为了学分,结果都有大作业要做;虽然计网、os、计组我已经学的可以,但考的题大部分要么是语文题、要么是套公式的题,显然老师强调了考研,但这同样显然对我一点帮助都没有;最后是还没开始上的创新创业和形势政策两门课,更是水的可以。 我只好坚持着从大一上开始的上课不听课自学的策略,挣扎地前行,目的是希望自己能学到更多知识罢了。别人眼里缤纷多彩的大学,对我于监狱无异。