Beginning Linux Programming, 2nd Edition
What I'm reviewing here is actually a pre-press draft of the second edition of "Beginning Linux Programming", the first edition of which I reviewed here on Slashdot back in August. Unfortunately this review is two months late; enclosed in the cover jacket I found scrawled message from the publisher addressed to Hemos: "Here's the review copy ... Sept 23 is publication date so a review on Slashdot for then would be great!" ... DOH! Sorry Rob M.
So let's review what I griped about in my previous review of the first edition of this book:
- Content was not Linux specific
- Little mention of perl
- Content was dated to around 1996/97
- No mention of newer API's like GTK+
diff first_edition second_edition: Most of the book is the same content as the first edition (with newer illustrations and some areas elaborated in more detail), which again see my previous review for more details on that, with these new sections have been added:
Foreward by Alan Cox: Yes, the king of all patch writers himself lends 5 paragraphs to kick off this new edition summing up by pointing out we now have a new final chapter (Device Drivers) that "is your chance to join the world of kernel hackers" ...so... "put on your pointy hat, grow a beard, drink Jolt Cola, and come join in the fun."
POSIX Threads: Now for Chapter 11 we have 25 pages on POSIX Threads with gotchas specific to Linux. Thread scheduling, semaphores, and mutexes are demonstrated in code.
GNOME and GIMP Toolkit: Chapter 17 is 30 pages devoted to GNOME and the GIMP Toolkit (GTK+) The code examples walk you thourgh creating a simple window, adding widgets to the window, dialogs, button bars, canvases, slider bars, then the CD includes source the ubiquitous Audio CD catalog application written in GNOME. (The authors score bonus points with me by showing a screen shot of the CD column with Nirvana's "In Utero" prominently selected in a multi-column listbox.)
Perl: Chapter 18 is a 30 page introduction to perl covering hashes, special variables, regular expressions, file I/O, etc. Bonus points to the author for explaining how to use CPAN to install modules and the perldoc command.
Device Drivers: Chapter 21 is 75 very useful pages that dig into kernel hacking. By the fourth page in this chapter we have a simple "Hello World" code snippet written as a kernel module, then simple instructions on how to compile your kernel module, load your kernel module (insmod), view messages from your module (dmesg), list loaded modules (lsmod), then unload the module (rmmod). The rest of the chapter discusses kernel API specifics such as timers, task queues, the /proc file system, interupt handling, and memory management. The chapter then discusses the simple RAM Disk Module example included on the CD, and debugging your kernel modules.
What's Good Not only does all the material from the previous edition included in this printing, but more meat, diagrams and screenshots have been added to each existing chapter. Again, I also like the style of presenting code examples right up front in each chapter rather than making the reader wade through endless pages of droning before seeing concrete examples. What's Bad I'm hard pressed to find anything outright bad about this book. I suppose I could make catty remarks about the ties the author are wearing in the cover photo, but I don't wear ties so what the hell do I know?Purchase this book at fatbrain.
Table of Contents- Chapter 1: Getting Started
- Chapter 2: Shell Programming
- Chapter 3: Working with Files
- Chapter 4: The UNIX Environment
- Chapter 5: Terminals
- Chapter 6: Curses
- Chapter 7: Data Management
- Chapter 8: Development Tools
- Chapter 9: Debugging
- Chapter 10: Processes and Signals
- Chapter 11: POSIX Threads
- Chapter 12: Inter-process Communication: Pipes
- Chapter 13: Semaphores, Message Queues and Shared Memory
- Chapter 14: Sockets
- Chapter 15: Tcl: Tool Command Language
- Chapter 16: Programming in X
- Chapter 17: Programming GNOME using GTK+
- Chapter 18: The Perl Programming Language
- Chapter 19: Programming for the Internet: HTML
- Chapter 20: Internet Programming 2: CGI
- Chapter 21: Device Drivers
- Appendix A: Portability
- Appendix B: FSF and the GNU Project
- Appendix C: Internet Resources
- Appendix D: Bibliography
0 of 55 comments (clear)
No comments match the current filter.