Programming languages as literary style

Programming languages as literary style

  • Comments 13

As proof of how focused and impossible to distract the XNA team is, this is where we ended up five emails into a thread that started with me asking for a code review. Drawing parallels between programming languages and the styles of famous authors, I suggested:

James Joyce = Lisp.  Why limit yourself to a fixed set of grammatical constructs? Invent new ones, different for every chapter or even paragraph, then express yourself in a language of your own devising. Stunningly beautiful, but often incomprehensible.

Gabriel Garcia Marquez = Python.  The meaning of words is more a matter of convention than rule, and can vary depending on the context in which they are used. It is common to dynamically redefine symbols, or overload existing ones to add additional meanings.

Hemingway = Basic.  Astonishingly powerful, despite (or perhaps because of?) the avoidance of complex abstraction and preference for short expressions using simple monosyllabic operators.

Dickens = Cobol.  Centuries old, but still popular enough that people are willing to wade through the truly ridiculous number of words needed to express even the most straightforward concepts.

To which my boss Gilman added:

Danielle Steele = HTML.  Immensely popular, everyone thinks they can do, difficult to do well. Addresses a broad swath of prurient interests.

  • Franz Kafka = Haskell.  Presented at first glance as a path of 'reason', it is in reality a slippery skein of logic woven by some perverse dark master.  On deeper use you hope that, maybe this time, you'll unlock its secret and be rewarded, but usually come away with a unsettling feeling that it's all one big in-joke.

  • Dan Brown = PHP.  Inexplicably popular, it contains all the latest fashionable ingredients, but piled together with little attention to detail. When you scratch the surface, there’s nothing there.

  • C = Chaucer.  Balanced on the cusp between medieval and modern language, it is riddled with anachronisms and difficult for many people to understand. But everything that has come since was built on this foundation, so you have to know it to properly understand where we are today.

  • If C is Chaucer, does that make Shakespeare C++? Foundation of modern language, difficult for some people to understand, but a requirement for any student of the language. Spans multiple genres, and often re-interpreted for more modern viewpoints.

  • I was also thinking C++ = The Collected Works of William Shakespeare. In some ways quite modern; in others quite old. Things don't necessarily mean what you expect them to mean and though you'll find some moments of pure elegance, you also run into quite a few things that are just bad. Most people have some familiarity, but to truly understand it requires years of study of arcane terminology and strange syntax, much of which is only loosely applicable to anything else you might do. Nonetheless it's so ingrained into all things which have come since that almost everyone is compelled to learn at least the basics. Even if it winds up seeming like a collection of formulaic incantations. I've given up my Quixotian endeavor to avoid it and have started down the long, dark road. Though I still think there's a lot less Hamlet and a lot more Titus Andronicus in it.

  • And that's why visual programming will never take off. Coding is a literary thing (and that's a good thing).

  • > And that's why visual programming will never take off. Coding is a literary thing

    I totally agree.

    Although...

    What programming language is most similar to Picasso?  :-)

  • Picasso = Perl. Simple!

  • > What programming language is most similar to Picasso?  :-)

    My first instinct was to say INTERCAL, but that didn't seem quite right. After a bit of searching, my choice for Picasso would be Befunge though I don't know that that fits with anything other than his cubist period.

    The only thing I could think of for Jackson Pollock would be a core dump file. And I've got nothing just now for Salvador Dali.

  • How about Piet for Picasso? :)

  • Should add to Marquez (at least the Marquez of Autumn of the Patriarch): Punctuation used sparingly.

  • There may be something to this; I love Marquez, and now I find I'm developing a fondness for Python...

  • Joseph Campbell = C#.  Although not a novelist, his life's work was to find the common threads running through all branches of human mythology. To take the best archetypes, comparing them, removing obfuscations and ultimately expressing them in such a way as to make them accessible to the layman.

Page 1 of 1 (13 items)
Leave a Comment
  • Please add 2 and 2 and type the answer here:
  • Post