This site will look much better in a browser that supports web standards, but is accessible to any browser or Internet device.

Anomaly ~ G. Wade Johnson Anomaly Home G. Wade Home

July 21, 2004

Programming Magazines

This is not really a book review. But, due to my recent change in commuting, I've been able to begin catching up on past issues of the programming magazines that I read. Due to one thing or another, I've gotten behind in my magazines over the past few years. But, I'm making up for that now.

Here is a list of the programming magazines that I read regularly. (At least the ones I read right now.)

C/C++ Users Journal
I've been reading CUJ for a long time (since it was the C Users Journal). I consider it to be a wonderful source of information about the C and C++ languages. It also covers related languages such as Java and C#.

Dr. Dobb's Journal

This is, of course, a classic. I've been reading DDJ for longer than I've been reading CUJ. I like the coverage of general programming trends and topics that impact our industry indirectly, as well as the more technical coverage. I also enjoy the various columns. I don't always agree with what they have to say, but I always like reading it.

Linux Journal

I rely on the Linux Journal for information on all things Linux. In addition to the advocacy, this magazine provides hardware and software information for anyone interested in Linux.

The Perl Journal

I have thoroughly enjoyed the Perl Journal over the years, even though they have gone through some hard times. I followed them from the original print magazine, through their stint as a section in SysAdmin Journal, and into their current incarnation as a web-published magazine. The magazine has ongoing articles from some of the names in Perl and usually manages a light-hearted view of everything. Although that has not been as evident as it was in the beginning.

The Perl Review

Recently, I rediscovered the Perl Review, another online magazine. In many ways, the Perl Review reminds me of what first attracted me to the Perl Journal. It contains good, solid information about solving problems with Perl. Unlike many magazines, it does not take itself too seriously. This combination of useful information and light-hearted attitude makes it a joy to read.

There are several others that I have read over the years. But, given the constraints of time and money, these are the ones I've settled on for the moment.

Posted by GWade at 08:50 PM. Email comments | Comments (0)

One Moment Please...

Unfortunately, my professional life has intruded into my ability to write much lately. Issues with a new company, new commute, and such have kept me away.

Hopefully, I'll be able to get back to writing this blog a bit more regularly.

For the few people reading this, I apologize for the delay. "We are working to resolve the problem. Please stand by."<grin/>

Posted by GWade at 06:48 AM. Email comments | Comments (0)

July 06, 2004

Review of Compiler Design in C

Compiler Design in C
Allen I. Holub
Prentice Hall, 1990

I decided to take a break from the relatively new books I've been reviewing and hit a real classic.

Over a decade ago, I saw Compiler Design in C when I was interested in little languages. A quick look through the book convinced me that it might be worth the price. I am glad I took the chance. This book describes the whole process of compiling from a programmer's point of view. It is light on theory and heavy on demonstration. The book gave an address where you could order the source code. (This was pre-Web.) All of the source was in the book and could be typed in if you had more time than money.

Holub does a wonderful job of explaining and demonstrating how a compiler works. He also implements alternate versions of the classic tools lex and yacc with different tradeoffs and characteristics. This contrast allows you to really begin to understand how these tools work and how much help they supply.

The coolest part for me was the Visible Parser mode. Compilers built with this mode displayed a multi-pane user interface that allowed you to watch a parse as it happened. This mode serves as an interactive debugger for understanding what your parser is doing. This quickly made me move from vaguely knowing how a parser works to really understanding the process.

Many years later, I took a basic compilers course in computer science and the theory connected quite well with what I learned from this book. Although the Dragon Book covers the theory quite well, I wouldn't consider it as fun to read. More importantly, nothing in the class I took was nearly as effective as the Visible Parser in helping me to understand the rules and conflicts that could arise.

Although this book is quite old, I would recommend it very highly for anyone who wants to understand how parsers work, in general. Even if you've read the Dragon Book cover to cover and can build FAs in your sleep, this book will probably still surprise you with some fundamentally useful information.

The book appears to be out of print, but there are still copies lurking around. If you stumble across one, grab it.

Posted by GWade at 10:29 PM. Email comments | Comments (0)