There's an interesting article in the Communications of the ACM (Software as art by Gregory W. Bond, August 2005/vol 48 #8, pp 118-124. You might be able to get to it here) that relates a bit to my recent Tight code post. I still think it's a bit of a stretch (I think the examples show more craft than art), but I enjoyed reading it because it reminded me of Don Knuth and all the work we did here with both TeX and Metafont. Knuth was a big proponent of what he calls literate programming. I heard him talk about it once when he had just started. He likened it to the goodness of 'sliced bread', but really didn't think sliced bread was anywhere near as good. After his first experience in being able to rearrange, format, and print out a program the way he wanted, he felt as if this should eliminate bugs, the program was so clear to him. Didn't work out quite that way, but it does make programs easier to read.
Lots of people have adapted Knuth's Weave and Tangle programs to programming languages other than the Pascal it was designed for, although I think Pascal needed it more than most. We did a version for C here in OCLC Research and used it for several years. One thing I was never sold on was the reordering that Tangle offered. As the printed/displayed program gets farther from the actual source code it can get confusing trying to debug and change the base program.
--Th
Comments