- 论坛徽章:
- 0
|
回复 1# send_linux
1、请叙述一下您与《UNIX环境高级编程》以往版本的初识、学习经历或其他难忘的故事和回忆(必须是自身经历);
《UNIX环境高级编程》(第二版)(人民邮电出版社)。2011年11月16日购于当当网,至2012年3月底全书21章阅读完毕。本次阅读采用的策略是粗读,书中的绝大部分实例中的程序代码我都没仔细研究,只是了解了该实例要实现怎么样的功能,使用了哪些关键的技术。在阅读过程中一些一下子搞不明白的地方也没有深究,只是在书中留下记号。本书在保持前一版风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用实例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案,还有一个非常有用的索引。以前学习C语言的时候,就只知道编写一些简单的程序,至多也只是调用那么几个C库函数,从来没有考虑过自己的程序与所在的操作系统的关系。这一点跟开发嵌入式的单片机程序很像,因为那程序是裸跑的,单片机上没有搭载操作系统。但是真正应用广泛的,具有更强的功能的以及可移植性的程序都是跑在某个特定的操作系统里面的。基于UNIX的操作系统有很多,其中使用比较广泛的Linux也是我自己最近在学习的。我在看这本书之前先是学习了操作系统课程,然后自学了《深入理解LINUX内核》。所以对这本apue,我感觉阅读起来难度不大,书中提到的很多与操作系统相关的一些知识我都事先了解过了。事实上,这也是本书的一大亮点。它不单单是讲解在UNIX环境中编程需要用到哪些函数、策略。它还比较深入地具有针对性地讲解了所涉及到的一些操作系统相关的知识。这令人读起来很舒畅。书本的第一章是UNIX基础知识,这是这类的每一本书籍所惯常有的,可以使读者先大致了解一些相关的情况。第二章比较重要,它讲解了贯穿本书的三个标准:ISO C, IEEE POSIX, Single UNIX Specification 。每一个标准都是前一个的超集。这也是程序员在开发可移植性强的程序时所必须考虑的。然后接下来就详细讲解了各种I/O,因为这是程序最常用到的。接着是进程相关的内容,这也I/O一样,是本书的两大重点之一。当然,讲解完进程少不了对线程的介绍,这是能大大地提高程序性能的一种技术。书本的后半部分主要讲解进程间通信,我感觉这是一种比较高级的技术,在大型程序当中特别重要。读完之后觉得意犹未尽。真是一本神书!它讲解得太好了。不过回想起来,7百页的一本书,怎么这么少内容的?是我把先前看的内容都忘记了太多还是我已经把书读薄了?
2、作为程序开发人员,从APUE里的哪些思想对您来说帮助很大?
首先我想谈谈APUE封面的漫画。
1、A:“站在那别动,伙计!”
2、A:“瞧你那一脸邋遢的络腮胡……那两根吊带,还有那洋洋得意的表情。”
3、A:“十足一副高人一等的Unix电脑用户的样子!”
B:“给你五分钱。去给自己换台好电脑吧。”
从In The Beginning Was The Command Line一文中,我隐约理解到背景是这样的:1995 年,windows95 发布,引发人们对于unix ,windows , mac 的争论,形成多个阵营,阵营间互相鄙视。漫画中wally碰见了胡子拉碴大腹便便神气高傲的人,看样子就感觉是个unix 用户。于是口气刻薄,但这个unix用户淡定的听他说完,然后拿出5美分,让他买个更好的电脑(当然是指unix),更显示出了他的高傲。以上只是半猜测半理解,希望有大牛们给出更准确的答案。
apue给我最大的触动就是基础知识的重要性,对基础学科的精通,对于日后的发展可能有重要的影响。在大学时,常常会觉得:某某课没什么用,某某课(比如高数)以后用不上,给自己借口偷懒,不认真学习专业基础课,但走上工作岗位才后悔,总会感叹:要是在学校时学好基础课程就好了。在工作中,总能找到该书的闪光点,给自己一点启发。一位朋友说:“Stevens的书一定要全部认真地去读的。”我想他是对的。最后,对Stevens在天英灵说声:谢谢您!想必这时他正坐在上帝身边,继续从事他的写作。
W. Richard Stevens对我们这些学习Unix/Linux的程序员的影响是巨大的,每每捧读老先生的书都会被感动,不仅被他那丰富的知识所折服,更是被他那一丝 不苟,严谨治学的态度所倾倒。“他不清楚的,他下决心要弄明白。他知道的,他要努力传授给所有感兴趣的人们!”这就是我们的Stevens!
最后,感谢第3版的问世,让STEVENS长青!祝所有的程序员们更进一层楼!!!
|
|