
Why Programming Is Like Dancing - joshuacc
http://dshipper.posterous.com/106071264
======
AlexeyMK
Plato's work has had a lot of support/maintenance over the years, as it has
been ported from the spoken word to parchment to book to e-book, and finally
translated to English, which is how I assume Dan read it.

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).

~~~
dshipper
I really like this. It shifts the importance of the production from the
physical e.g. the actual code, the actual book to the idea. Great comment.

------
zavulon
> I guarantee that no software we write today will still be in use after 2,400
> years.

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.

~~~
dshipper
Hahaha I think universities will still be teaching Java too :)

------
sjm
"if you program and want any longevity to your work, make a game. all else
recycles, but people rewrite architectures to keep games alive." - _why

~~~
tobiasSoftware
I've found good longevity for my code, I work in image processing and file
organization. I think I would categorize it as tools. I still use a lot of
tool like software too, like Notepad, Paint, I use a video processing software
called TMPG that I bought about 8 years ago, I occasionally use audio
processing software that I bought around the same time, and I use some file
processing software that I got a few years ago along with a basic video
editor. I think when you find a tool type software you like, you tend to stick
with it.

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.

------
kpennell
I liked this.

