Review – Advanced Linux Programming
Upon finding out about Advanced Linux Programming through one of my social streams, I slotted it into the “to-read” queue and went off on my merry way. Once I got my Kobo Touch, though, I bumped up the priority on ALP because, well, it’s available as an ebook (pdf) (which I put together into one PDF with pdfsam). Plus, I’m taking OS (operating systems) this semester, which is apparently very difficult and all sorts of crazy, so dipping my toe into the C world wouldn’t be a bad idea.
What was a bad idea was reading ALP right after reading K&R. ALP reads like a glorified reference after reading K&R, lacking that organic feel and concise non-contrived examples. There was a sense in K&R that the authors were mini-gods, black belts of C, and they knew enough to know how much material was enough. Obviously, I didn’t feel that in ALP (there is a certain mysticism grown up around K&R, which is probably screwing with my calibration. Word to the wise).
I understand that not all examples can be non-contrived, but references deserved to be in an easily indexed format, not a heavy PDF. Instead of a reference, something… more like Why’s Guide would be better for getting people started with programming real things with Linux (why is there an Advanced in the title? I don’t understand that, either. It feels pretentious). Actually, that’s a terrible example, because Why’s Guide goes off the deep end in the other direction, and also in some ways falls prey to the same reference-rigidity that ALP does… but at least it’s not obviously a reference tome! And you get cartoon foxes.
To top it off, ALP finishes off with a medium-size program source embedded in the book. I still don’t know why people put this sort of information in books, reference information and source code alike: electronic applications solve these problems to such an extent that I’m befuddled why something that provides fine grain information consumption hasn’t killed everything yet. Oh well, +1 to the reference counter for working on Notesoble…
Positives: I did learn more about how Linux is put together, but not enough to replace my OS books. In particular, the multiprocessing/IPC things were interesting, and knowing about “Linux System Calls” a few days before we covered them during the 2nd session of OS was helpful. I’ll admit, I skimmed over “Inline Assembly Code” and the “Sample GNU/Linux Application”, but I think you can finagle why.
Overall, I think the book was a net gain: I did learn things, and it kept me company from Seattle to New York. However, I do look forward to killing this ebook and it’s ilk.
My next book is going to be something sci-fi, and after that I’m going to go finish up Visualizing Data, which I left unfinished and I have lots of homework to do oh god