Friday, May 16, 2008

OpenSource Jam & Literate Programming

I gave a short talk yesterday about LP at the OpenSource Jam (bi-mensual open source meeting, at the Google London Office). So, here is the pdf of the presentation (just click on the above image to get it). People seemed to like the talk, and there was some interesting comments about the lack of good documentation tools (particularly, the need for multi-level documentations), the similarity with DSL, and some in-house LP tools used by some companies.

update: A blog post describing the event and pictures have been posted by the open source team...


Anonymous said...

To me, literate programming looks more like a useful tool to write books in the style of "The Art of computer programming" than a tool that you could actually apply in a real-world scenario -- do you know of any bigger-scale application written in the literate programming style?

Nicolas said...

Hi gunther,

Nope, I don't know of any big-scale application written in the exact same way. What do seem to exist quite often though, is projects incorporating "some" LP features (i.e., POD documentation in Perl, there's something similar in Python, doxygen, DSLs, simonyi's intentional programming, some more LP-like dev environments do exist too...). And what do seem to be valid too (from this talks comments) is the lack of good documentation tools in general (and as I said, multi-levels documentations, i.e. describing the code, the features, etc.)

My fuzzy own impression is that there IS something important and useful out there, underlying all those attempts, and while LP (in the Knuth way) is not perfect, it's an interesting approach and is at least generating some discussion (not much though, due to the typical lack of historical knowledge of their own field by programmers).

My personal take would be to try to integrate much better documentation tools and code repositories, ideally switching between code and documentation views of a repository... That's one thing I'd like to work on when david's smalltalk implementation for etoile will be working ;-)

Also, there's many related things (to me) to this discussion; notably the whole "the code is the documentation" idea, unit tests as documentation, Ward Cunningham's FIT which I didn't talk in the presentation, etc.