Profile for john christian > Reviews

Personal Profile

Content by john christian
Top Reviewer Ranking: 883,129
Helpful Votes: 0

Guidelines: Learn more about the ins and outs of Amazon Communities.

Reviews Written by
john christian (fremont, CA United States)

Page: 1
pixel
Compiler Construction: Principles and Practice
Compiler Construction: Principles and Practice
by Kenneth C. Louden
Edition: Paperback
Price: CDN$ 210.95
27 used & new from CDN$ 37.92

5.0 out of 5 stars An excellent introductory text, June 12 2001
Compiler design is a fascinating, and even more, essential subject in computer science. No one getting into software design shouldn't know how compilers work. Before reading this book (which I'm currently reading in my spare time) to me, compilers were black boxes, put your source in one end, it dissapears into the machine, and it spits out an object file.
This well organised book assumes a fundamental knowledge of C data structures and discrete math. I'd have to say thought that the description of finite automation was a bit unusual, to me. I'm already fluent in regular expressions thanks to my (nearly) full bookshelf of O'reilly titles, and found the mathematical approach a bit less pragmatic than what I'm used to (Oh yeah, if you're going to get into some heavy lex scanning, get 'Mastering Regular Expressions' by O'reilly). But, by the time I was finished with the chapter on scanners, I wrote a little C preprocessor, first with a hand-written DFA, then using flex. The book doesn't discuss many of the caveats of using (f)?lex, but maybe the problems I ran into were platform specific. (my Linux/GCC/flex proggie would throw a segmentation fault if, in my main source file, I declared "extern char* yytext" rather than using (even more incorrect ,for my settings) "extern char yytext[];", I finally ended up pasting my main source file into the bottom of lex template) But that's beyond the scope of this book, I guess.
So, anyway, if you're as interested in compilers as I am, this book is a great beginning, and will serve as a solid stepping stone to more advanced texts. I'm on the lookout for an intermediate text on interpreted language design (my primary interest in the realm of compilers) now.

GNU Autoconf, Automake, and Libtool
GNU Autoconf, Automake, and Libtool
by Gary V. Vaughn
Edition: Paperback
Price: CDN$ 33.60
30 used & new from CDN$ 0.72

4.0 out of 5 stars Excellent book, if you meet the prerequisites, June 12 2001
I had originally bought this book so that I could maintain a GNU autotools based build system for a company I was doing CM for at the time. I was basically a kid, and didn't have any professional C development background, and after reading the first several chapters, I was thinking to myself "This book is unnecessairly hard to understand, I just want to know how to use autoconf, show me a listing of the macros, etc, not this other, preipheral sic shell stuff!"
Months later, and after doing some actual Linux C development myself (a command interpreter, no less), I came back to this book, and was able to get a lot more out of it. Just be aware that it is geared toward someone doing really involved open-source/GPL'd C development.
This book may have been better if each feature of the autotools were discussed in a more abstract way, without following the development of this sic shell. It is interesting, but that kind of orginisation forces you to read it from front to end to effectively understand it, which of course you SHOULD do, but it's at the expense of being a solid reference. It's no biggie, though, because the free GNU documentation fills that gap.

Open Source Development with CVS
Open Source Development with CVS
by Karl Franz Fogel
Edition: Paperback
16 used & new from CDN$ 0.01

5.0 out of 5 stars A must have, in my humble opinion, June 7 2001
First off, I would have to say that you'll (or, at least, I did get) get the most out of this book if you read the Per Cederqvist (sp?) manual either beforehand or concurrently. This book uses more of a tutorial, heavily example-oriented approach, whereas the Cederqvist goes feature-by-feature, with small examples. And, before you gripe about the wealth of open-source info in this book, remember that CVS was originally created (at least so I've heard, don't quote me word for word here) to facilite decentralized open-source development. So, that considered, it is infact not at all out of place in this book, and in my case, just as interesting as the rest of the book. I'm a novice config mgr, and I've only been using unix, and more specifically GNU/Linux software for under a year now, but as my skills progress, I'll definately get more involved in the free software movement.
This book in some ways, starts where the Cederqvist leaves off, providing a much needed (for me), and much higher-level exposition of CVS's key features. For example, I didn't really get the 'update -j' semantics until I read this book. Not long afterward, I was writing a lengthy script to automate branch merges, and efter re-reading this book, I found out that you could, infact pass -j to checkout as well, and took a good 40% off of the overhead of my script. CVS wrappers such as log.pl and others are nicely described here as well. True, this book doesn't make the perfect reference, but I've found myself many-a-time frantically flipping through its pages to find out why something I'm doing Isn't working!
But, this book may soon become obsolete, by its author no less. Karl Fogel is part of a development team working on a much desired replacement for cvs. There should be more details at 'subversion.tigris.org' (check out the rest of tigris.org while you're at it)... I'm not sure what state it's in right now, but several months ago I tried checking out the sources to it on a i586 Linux box (i think the sources are covered by the apache license), and was unfortunately not able to build it (oversight on my part?). But, it's up there, for anyone who wants it, and by now it's probably a lot better than when I tried it. Can't wait for the full release :)

C Programming Language (2nd Edition)
C Programming Language (2nd Edition)
by Brian W. Kernighan
Edition: Paperback
Price: CDN$ 57.13
47 used & new from CDN$ 23.57

5.0 out of 5 stars Absolutely essential for learning/using C, May 30 2001
I've been programming for a little over a year now, I've had two (very light) semesters of C++, and I use perl quite a bit as well. I came to this book looking to get a solid foundation with C before pursuing my interests in compiler design and computer graphics programming. The examples, I thought, were a bit more plausible than in many other programming books, and infact many are (sometimes scaled down) equivalents of standard library functions. Moreover, the examples are very elegantly written, and get you thinking about clever ways to exploit this languages syntax. Some of the concepts in this book are so dense (sometimes unrealistically, but for good reason), I would stare at the same few lines of code trying to decipher what it meant. But that's what helped my C-contemplating brain-cells grow, and now I can decipher the meaning of many convoluted C statements very quickly.
I also thought 'Programming Perl' was a great programming book also, and I sometimes wonder if the popularity of these languages can be at least partially attributed to having great texts like this to learn them from.

Page: 1