Two related links about the philosophy and practice of programming. They are both good, but I have my reservations about each of them.
Programming is Gardening, not Engineering is a portion of an interview with Dave Thomas and Andy Hunt (you know, the Pragmatic Programmers) about how programming is more like gardening than engineering. It’s an interesting read. But when are we going to stop trying to make programming be like something else? These analogies are a good way of exploring different facets of programming, but don’t be lulled into thinking they are complete. Programming is, on the whole, different from other endeavors, no matter how much certain aspects of it may be like other things.
The Manifesto for Agile Software Development is a manifesto for a certain way to look at developing software, written by, among others, Dave and Andy. I like it, but it is hard to get fired up about a “manifesto”. This isn’t capitalism being replaced with communism here. Agility is a great thing, but the manifesto isn’t so different from other inspirational pieces about software that have come before it. It seems evolutionary rather than revolutionary.