- 论坛徽章:
- 2
|
//《Linux程序设计.第3版》(BLP)
// 评论的格式有些随便,写得有点杂,0_0, 不过,我想要一本 人邮的 APUE第二版 英文版
(Advanced Programming in the Unix Environment En 2nd Edition)(Unix环境高级编程)
我身边有这本书第二版的中文,而且这本书目前的英文版已经出到4th Edition了。我都留意过3rd和4th的电子版本,并且很有感触。
在Linux编程方面,毫无疑问,APUE始终是Bible,无论是初版还是再版,都无愧于Stevens先生的在天之灵。事实上,有很多人说APUE是一本好的Manual,好的Reference,但不是一个好的Guide。如果想要学着入门,那么UPE(Kernighan的)一定不会缺席,LPE(Linux Programming by Example—Robbin 的)也是不错的方式,也一定会有人记住这本书(BLP)的。
BLP的一版再版,就显示了他的地位,这不是一本教你24小时学会Linux/C编程的速成书,当然也在适合的地方写下了HelloWorld;这也不是一本教你如何配置Linux System的书,编程与维护在这里显得泾渭分明。
和别的入门书相比,这本书有一个亮点,那便是书中的CD数据库管理程序,先是用Shell实现,然后用C语言改写,并优化(改写,用CURSES管理,用dbm数据库管理,用C/S架构,用socket……),最后在介绍Perl语言时再改用perl改写了这个程序。(在第二版中的Perl部分,在第三版中被删除了。所以没有perl版本的程序。在第三版中加入了MySQL Server的管理程序版本。)
第3版新加入了MySQL一章,并且把CD管理程序放到了MySQL Server中处理,这也是一个有新意的地方,尽管现在C语言和SQL交互在更多人眼里显得过时,但还是有人在坚持。-_-。但是Perl一段被删了,我是觉得有些遗憾啦,虽然这些内容本来在书中显得单薄和鸡肋。
这是一本适合谁读的书?
这本书不适合没有Linux基础的人读,当然Linux下C编程到了高级境界的人也不需要这本书了,直接拿APUE当Reference吧。
这本书适合于那些希望在Linux下C编程进阶的人使用,也许在你而言win下APP的C语言开发只是小菜一碟,但在Linux下不是这样,你需要慢慢了解文件系统、进程间通信等内容;也许你对Linux充满兴趣,你习惯于常用的操作,喜欢去打扮你GNOME或者KDE的桌面,也许你会对grep、awk感兴趣,也许你想接触底层的操作,这本书适合你。
相信自己可以,看这本书相关章节可以配合APUE一起来,那样,你就不会有觉得知识量太少的抱怨了哈……书的内容当然有主次,重点安排在于文件系统、进程间通信、Socket方面,其它的一些问题则显得简略。自己好好把握吧。
个人印象:
优点:
适合有一定Linux基础和C语言知识的人,最好对操作系统有一定了解。浅显易懂,让你在Linux境界里登堂入室,当然,如果你想更进一步,配着APUE一起看~中文翻译也很赞的,比较易懂,个人觉得,这本书本身不难,中英文版本可以自己挑喜欢的看吧。
MySQL部分也可以看一看,CD实例也有,可以看看如何从Linux Programming角度来看数据库的.
如果有人愿意放个书架的话,这本书一定会放在Stevens先生的APUE、UNP、TCP/IP(三卷本)旁边,领着更多的新人走向Linux(Unix)编程的更高处。
不足:
版本更新,从2到4版本,大的框架没变,但细节方面变了很多。
在新版本中,没有了关于Perl和正则表达式的介绍,虽然本来这一处就显得如鸡肋,但个人认为如果想做一个好的Linux程序员的话,Regular Expressions是不可丢的,建议看看《Mastering Regular Expressions》,毕竟Linux下不止有C。
觉得在Shell编程模块可以有所扩展,grep、awk、sed这些工具可以留更多练习的余地,这一点,可以看看Shell编程的相关书籍。
毕竟这只是一个入门,想想Stevens先生的UNP二卷,TCP/IP三卷,还有APUE,不是三言两语说得清楚的,但从登堂到入室,这本书是有功劳的。
作为一本有实质内容的书,作者在几个重点上做了努力,这显得很有成效,当你有足夠的能力去把握书中的CD管理程序时,你已经有足夠的能力去领受更大的挑战了,APUE & UNP are waiting for U!
[ 本帖最后由 to407 于 2008-4-20 14:52 编辑 ] |
|