The Best Programming Language Ever?

I was having a conversation at work today about what people’s tastes in programming languages were and there was some discussion about human readability, which led me to mention HyperTalk. HyperTalk was the programming language used by HyperCard, it had the virtue of being incredibly readable and (unlike the similarly readable AppleScript) also very easy to write. I mentioned that “whenever you see — used to denote a comment, there lies the ghost of HyperTalk” to which someone replied, “like in HTML?”.

An HTML comment is denoted by “<!–” and “–>” (note that WordPress is screwing this up, I really do know what HTML comments look like) which seems like a non-coincidence. Tim Berners Lee invented HTTP and HTML using NeXT computers, which didn’t run HyperCard, but which were spiritually related to the Mac, and it’s hard to imagine that HyperCard wasn’t a major influence on the design of the web.

HyperCard has the distinction of being one of the most influential programs ever written, perhaps the most. (Bill Atkinson wrote HyperCard and MacPaint, two of the most influential programs ever written. Photoshop is, essentially, MacPaint running on modern hardware.) Paul Allen spent a fortune cloning it (Toolbook) and it was clearly a huge influence on Visual Basic. Director’s Lingo started out as a straight clone of HyperTalk. Even 3D Studio Max’s MaxScript bears its mark. If we assume that the web was directly inspired by HyperCard — a not unreasonable assumption — that makes it perhaps the most influential ┬áprogram ever written.

HyperCard was amazingly nice to code in. HyperCard 2 had a modern debugger, there was a third party compiler (written in HyperTalk that could compile to assembler), and it virtually never crashed. By default, all state was preserved (in fact, if you wanted to write a conventional application you had to jump through hoops to create “empty” documents). The main failing of HyperTalk was its lack of support for OO and functional programming (it was internally an object-oriented message-passing architecture, but you couldn’t build your own objects). It would be pretty simple to bolt that kind of functionality onto it, but no-one has, and HyperTalk has largely passed into obscurity.

Surprisingly, there are three modern HyperCard clones still being maintained. Toolbook has focused on authoring CBT, while Runtime Revolution tries to be all things to all people, and SuperCard is Mac only. Unfortunately, all seem pretty clunky by today’s standards. (And, frankly, for all its virtues, HyperCard was a bit clunky even when it was new. It never allowed you to build proper user interfaces.)

It would be interesting to see HyperTalk updated to support modern language features OR something like HyperCard built on top of a modern language like Python or Ruby. The obvious thing to do would be to build a web-based IDE on top of Django or Rails.

The Wire

I used to pay for HBO but I found its scheduling infuriating and ended up never watching much on it (even The Sopranos despite it being, at the time, one of my favorite shows). So, I come to The Wire very late.

My favorite books are either fiction with a lot of informative content, or non-fiction written in a great narrative style. So, some of my favorite books include Shelby Foote’s The Civil War: A Narrative and David Simon’s Homicide: A Year on the Killing Streets. The former is a work of art, but the latter is simply fascinating, especially if you’ve ever been a lover of crime fiction.

Only on HBO?

Much has been said of The Wire being (a) the greatest TV show ever made, and (b) something that could only be done (in the US, anyway) by HBO. It’s worth noting that Homicide: Life on the Streets (based on Simon’s book) was actually very similar in both theme and quality to The Wire lacking only in the bad language and explicit sex department. (And even on network TV it managed to have a bisexual detective who had sex in a coffin.) The big difference (format-wise) between Homicide and The Wire was that Homicide largely retained episodic foreground plots (in addition to large arcs) as a method for drawing viewers along, but that was more a consequence of the evolution of TV as a medium (TV viewers have been taught to follow arc plots, slowly, over the last 25-odd years) and subject matter (homicides vs. narcotics, at least initially) than network limitation.

Both Homicide and The Wire required viewers to pay attention. A single chance remark in one episode might have major ramifications a season later.

Even with strong competition from Homicide, I would agree that The Wire is the best TV show I have ever seen. It seems to me that the chief “advantage” of being an HBO show (aside from HBO’s lack of creative interference and willingness to green-light a show with mediocre ratings) is bad language and explicit sex, neither of which make The Wire a better show than Homicide. The Wire’s big advantages are that it simply deals with broader subject matter and has taken the “training wheels” of episodic foreground plot out of the format, allowing more time to deal with minutiae. Heroes, on NBC, does the same thing, but just happens to be infantile (if, briefly, enjoyable).

The Cops. The Crooks. The Big Rich.

As an aside, it’s always depressing to me that — at least for drama — the crime-driven story dominates television so thoroughly, and that the best TV shows ever made have almost all been cop/lawyer shows:

  • The Wire
  • The Sopranos
  • Homicide: Life on the Streets
  • Murder One (first season)
  • Hill Street Blues

There are a few other shows that might contend for greatness that don’t quite fit the crime drama mould … but they’re generally just very good Soap Operas (e.g. thirtysomething or ER). I guess there’s always the new Battlestar Galactica.

Why Watch the Wire?

It’s very rare for writers (and The Wire is fundamentally a literary work) to grapple with how the modern world really works. Stories tend to center on characters, generally a small number of characters, and it follows that the actual way in which things happen has to be compressed into something that is apparent to those characters. A typical episode of Law & Order, for example, focuses on perhaps seven people (the two cops, the two prosecutors, the DA, the defendant, and the defendant’s lawyer) and has them do everything of significance in the case, from interviewing key witnesses to figuring out obscure logical flaws in the defendant’s alibi.

Almost anything in the modern world is done by an army of characters who often don’t know or have anything directly to do one another. The Devil is in the details, and the details are often minor characters who perform vital tasks and are composited, merged, or ignored in the interest of brevity, clarity, and pace. Oh, and don’t forget we need to make the heroes look good.

Anyone who has seen the movie South Pacific but who has not read Michener’s book will probably be amazed to discover that the book was a grimly detailed procedural account of the amphibious invasion of a fictional Pacific island during WWII, told by attempting to perform a “vertical slice” of the action. Reading the book, we see how decisions made at the highest levels of command lead, for example, to decisions as to how many and what type of bandages to provision, and, ultimately, to whether individual soldiers live or die on the beach.

Similarly, in Richard Powers’s (in my opinion) finest novel, Gain, the author performs stunning tour-de-force — I’d call it the written equivalent of a “frozen pan” (as in “The Matrix”) or the cgi zoom-out at the beginning of the movie “Contact” — when, towards the end of the story, someone in a hospital room takes out a disposable camera and he suddenly shifts and describes how that camera was manufactured — from the way the paper for the box is chosen so as to print the special ink that all products of that brand use to the camera being discovered, forgotten, days later by an orderly and thrown in a waste basket.

The Wire is, pretty much, nothing less ambitious than an attempt to depict such an instantaneous cross-section of a modern US city in decline. I imagine that watching it all at once (which I will do when the final season ships on DVD) will be quite something, although if you wait until you can see all five at once, it may be shattering. It’s not a pretty picture, but it’s a picture very much worth looking at.