I’m currently in the midst of reading Eric S. Raymond’s The Art of Unix Programming.
Highly recommended.
The book is not a Unix programming book, and it’s not a philosphy book.
It’s both…and neither.
Good read; Joel Spolsky has an excellent and insightful review of this book, so I won’t clog up the Blogsphere with my own idiotic ramblings and ruminations (wait! why should today be different?).
It’s an interest book for what it says about Unix history, the art of programming – in general – and the art of programming in Unix, specifically.
As I’m not a seasoned Unix hacker, it was good to read some of the tenents Raymond puts forth (he did not invent them; he’s just documenting them).
One of the more interesting ones – to me – was the concept that a routine/function or whatever should succeed silently. This is the opposite of what most users would expect – users want confirmation.
Programmers want silence, lack of clutter – only display when something goes wrong.
Which made me feel a little better (and smarter): I had just written a bunch of PHP functions and my decision was to return FALSE unless there was an error (then an error message will return). In this way, the program just keeps chugging along if all is well without any success echoes.
This is better for the program, but somewhat counter-intuitive: Return FALSE for a SUCCESS?
This book says that’s a good thing.
Wow. I got something right.