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.

This entry was posted in General. Bookmark the permalink. Both comments and trackbacks are currently closed.

5 Comments

  1. Dercsár Péter
    Posted July 1, 2009 at 3:36 am | Permalink

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

  2. Posted July 1, 2009 at 10:29 am | Permalink

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

    • Posted July 2, 2009 at 2:45 am | Permalink

      Now there’s a nice neologism: an abherration, presumably an abhorrent aberration.

    • Posted August 7, 2009 at 11:30 am | Permalink

      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. Jalal
    Posted July 1, 2009 at 11:54 pm | Permalink

    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.

    Jalal