Tuesday, January 04, 2005

How to write good software...

These days I consider myself a software engineer, but my background was never computer science, at times that makes me feel like everyone else must know more than I do about how to develop software. At other times it feels like I'm the one eyed man trying to lead the blind. Some of the accepted computer science paradigms make no sense to me, and I'm not sure whether it's because I don't understand them, or whether everyone else has just missed the point, which after all has to be to write good software, right?

Trying to find better ways to write my software, I am finely balanced between the sometimes opposing view points of Joel Spolsky and Paul Graham, who incidentally has a new essay entitled "Made in the USA" on his site. At times these two people seem to have the only sane outlooks on the increasingly crazy world of software development. Perhaps because, despite accepted wisdom, as far as I'm concerned software engineering isn't yet computer science, it's still a work of art, a creative process. At least if you're going to write good software, writing software is art. After all, any idiot can churn out cookie cutter code. But that's not what it's all about, is it?

Hackers & Painters: Essays on the Art of Programming
by Paul Graham, ISBN 0596006624, 225 pages, £11.16

Eric S. Raymond, author of The Cathedral and the Bazaar, writes in the foreword to Hackers & Painters: "Paul's writing is, as you'll soon learn from the rest of this book, wonderfully lucid stuff. Reading Paul's essays is like having a conversation with a genius who doesn't need to score any points by proving it to you, except that most geniuses aren't as articulate as he is. You get to share Paul's sense that the Universe is a fascinating place, and his knack for looking at it from an unusual angle."

Joel on Software: And on Diverse and...
by Joel Spolsky, ISBN 1590593898, 362 pages, £11.77

The publishers write, "This is a selection of essays from the author's Web site. Joel Spolsky started the web log in March 2000 in order to offer his insights, based on years of experience, on how to improve the world of programming. His extraordinary writing skills, technical knowledge, and caustic wit have made him a programming guru. This log has become infamous among the programming world, and is linked to more than 600 other websites and translated into 30+ languages! This book covers every imaginable aspect of software programming, from the best way to write code to the best way to design an office in which to write code. The book will relate to all software programmers (Microsoft and Open Source), anyone interested in furthering their knowledge of programming, or anyone trying to manage a programmer."