Why Programming Is Like Dancing
dshipper.posterous.com
dshipper.posterous.com
Programming languages and environments just evolve quicker than human ones. As with books, the best ideas get ported over: you can read Plato, but other than (Socrates/Plato/Aristotle), how many Greek philosophers were around whose ideas failed to survive? VisiCalc was first implemented in seventies for the Apple II, but its ideas have survived and been ported to Excel (and now Google Spreadsheets).
I don't know about that.. pretty sure COBOL software used by big banks written in 1960's and 70's will still be used.
I think the key is to make it as abstract from the system and algorithmic as possible. For example, with image processing, you have a small GUI component and you have a small image type to RGB converter, and the majority of the code is algorithmic RGB array to processed RGB array code. Algorithms don't decay much, but GUIs and file types do, so software that is very tool like and algorithmic has much more longevity as long as the small non algorithmic components are updated occasionally.
I'll add games to enterprise software as the two places where you'll have the most longevity for your code.