Illustrative Programming

Martin Fowler has a new post in which he coins the term Illustrative Programming for what I have been calling Example Centric Programming. He gives me a nice plug too. Martin is a keen observer of trends in programming, and his terminological inventions have had an enormous influence on the practice of patterns, refactoring, and now DSL’s. I see his latest neologism as an indicator of the increasing relevance of the idea.

5 Replies to “Illustrative Programming”

  1. Oh, the spreadsheet example again! My favourite. Martin has made his revelation, too. Soon he will curse textual code, as well 🙂 Anyways, this term feels a better name.

  2. I don’t think textual code is a problem in itself. The problem I see is thinking of the textual code as the authority for source.

    To me, textual code is a view. I think something like Java, which gets to the point of marrying the source code representation even to how the files are laid out, is an abherration. A very popular one, but still…

    I yearn for the day I’ll have two windows open, one with a graphical dataflow-like representation, and another with a textual representation (tweaked to my liking, so I can use ident as blocks or {} with a click on preference), and alternate small edits to both, and see the edit reflected in the other instantaneously.

    As well as seeing the “illustration” of it. 🙂

    1. I totally agree with this. Ultimately, I’d like a language which used some abstract representation internally and then allows the programmer to view this in many different views: flow chart, AST, dataflow network, textual code, whatever. Naturally, if you edit one view, the changes should be visible in the other views too. This would be the ideal programming environment: let the programmer view the code in the most appropriate way for the task at hand.

  3. Nothing is easier to learn than by example

    Daniel, you should have a look at intentional software. They solved the multi-editor scenario. Microsoft Oslo is on that road as well.


Comments are closed.