Wall, Escher and Berners Lee: An eternal golden braid

ITworld.com, Ebusiness in the Enterprise |  Development Add a new comment

I read a book once called Godel, Escher Bach: An Eternal Golden Braid[1] by Douglas Hofstadter. It was my first exposure to the art of the great M.C. Escher[2]. Looking at wallpaper[3] has never been quite the same experience since.

Ok, I jest. Tessellations[4] are only one part of Escher's impressive oeuvre. For example, on a recent trip[5] to Rome, I came face to face with one of Escher's most famous prints known as Drawing Hands[6]. Once you internalize this image, it is hard to get it out of your head. Especially if you spend your days struggling with software.

With my ever-present geek-glasses on, I see the hand of the left as symbolizing data. The hand on the right symbolizes code. The code is of course also data which in turn, can be viewed as code. Somebody once said that a data structure is nothing more than a poor, limited programming language. I like that. Two hands. One hand, inter-twingled in the drawing of the other hand.

With my ever-present geek-glasses on, the hand on the left in Escher's print also belongs to Larry Wall[7], inventor of Perl[8]. Perl is a good example of a computer code format that is good at embedding computer data formats. The hand on the right belongs to Tim Berners-Lee[9]. Inventor of HTML. HTML is a good example of a computer data format that is good at embedding computer code formats. Two hands. One hand, inter-twingled in the drawing of the other hand.

The struggle to put one of these two aspects of software - the code and the data - into a linear order where ones does not have to be understood in terms of the other, is the eternal struggle in application software. I think of it as the eternal golden braid. The e-chicken and the e-egg. The vacuum cleaner disappearing up its own hose. You get the idea.

So which hand is on top? The code or the data? Does it matter? Can the question be answered? Does anybody care? Personally, I think more people should care. I have literally lost count of the number of HTML new templating systems and new HTML generating systems I have encountered in the last six months.

You can think of HTML templating systems as systems in which the Tim Berners-Lee hand dominates. The HTML data is on top and the program code is inside. You can think of HTML generating systems as systems in which Perl (or languages like it) dominate. The Perl code is on top and the HTML data is inside. It is as if every Monday morning somewhere on the planet, somebody re-invents the software equivalent of an Esher hand drawing another hand.

Maybe at some stage, developers the world over will tire of writing more and more of these pesky things. Surely, there are bigger fish that need to be fried? I hereby propose a mechanism for at least slowing down the rate at which these things are being created. Anyone seeking budget approval from their boss to build yet another HTML templating system or HTML generating framework should be forced to stare at Escher's famous Drawing Hands print until the urge goes away.


[1] http://seanmcgrath.blogspot.com/bookshelf.html#0140289208


[2] http://www.mcescher.com/


[3] http://www.mccallie.org/myates/Symmetry/wallpaperescher.htm


[4] http://www.tessellations.org/tess-escher1.htm


[5] http://seanmcgrath.blogspot.com/2005_01_09_seanmcgrath_archive.html#110539378634012979


[6] http://www.worldofescher.com/gallery/A13.html


[7] http://www.wall.org/~larry/


[8] http://www.perl.com/


[9] http://www.w3.org/People/Berners-Lee/




    Add a comment

    Post a comment using one of these accounts
    Or join now
    At least 6 characters

    Note: Comment will appear soon after you have activated your account.
    Obscene/spam comments will be removed and accounts suspended.
    The information you submit is subject to our Privacy Policy and Terms of Service.

    ITworld LIVE

    DevelopmentWhite Papers & Webcasts

    White Paper

    HP NonStop SQL Fundamentals whitepaper

    This whitepaper offers a detailed look into the fundamentals of HP NonStop SQL solutions. See how this system delivers unprecedented levels of application availability with fail-safe data integrity and meets the needs of enterprises with large-scale business critical applications.

    White Paper

    Nebraska Medical Center case study

    See how the Nebraska Medical Center implemented a SQL solution to make information more readily available to streamline operations, improve patient care and facilitate medical research with an enterprise solution running on HP NonStop servers.

    White Paper

    Concepts of NonStop SQL/MX

    For DBAs and developers who are familiar with Oracle solutions and want to learn about NonStop SQL/MX, this whitepaper provides an overview of the similarities and differences between the two products-with a specific focus on implementation.

    White Paper

    6 Things Your CIO Needs to Know About Requirements

    If your organization is not predictably successful on technology projects, there is likely an issue in requirements. CIOs must take action and own requirements maturity improvement. There are 6 main things a CIO must know about requirements.

    Webcast On Demand

    User Experience Monitoring

    In this webinar, you will learn hints & tips for improving end-user response times from Forrester Research analyst, Jean-Pierre Garbani.

    Sponsor: Nimsoft

    See more White Papers | Webcasts

    Ask a question

    Ask a Question