Friday | 5 September, 2008
Computerworld
The A-Z of Programming Languages: INTERCAL
Computerworld's investigation into the history of programming languages takes a humourous turn as we examine INTERCAL

Don Woods
Don Woods
Computerworld Buyer's Guide - Vendors Matched to this Article
Additional Resources
Executive Guides
Whitepapers
Zones
Zone logoZones provide focussed content from Computerworld and leading technology partners.

Newsletter Subscription

Sign up for our Computerworld newsletters!
Computerworld's twice-daily news service keeps you in touch with the latest, most important headlines from Australia and around the world.
Keep up with the latest virtualisation technologies, products, news and features.
RSS Feeds

Computerworld is undertaking a series of investigations into the most widely-used programming languages. Previously we have spoken to Alfred v. Aho of AWK fame, S. Tucker Taft on the Ada 1995 and 2005 revisions, Microsoft about its server-side script engine ASP, Chet Ramey about his experience maintaining Bash, Bjarne Stroustrup of C++ fame, and to Charles H. Moore about the design and development of Forth, and Stephen C. Johnson on YACC.

In this interview, Computerworld ventures down a less serious path and chats to Don Woods about the development and uses of INTERCAL.

Woods currently works at Google, following the company's recent acquisition of Postini, and he is best known for co-writing the original Adventure game with Will Crowther. He also co-authored The Hackers Dictionary. Here we chat to him about all things spoof and the virtues of tonsils as removable organs.

How did you and James Lyon get the urge to create such an involved spoof language?

I'm not entirely sure. As indicated in the preface to the original reference manual, we came up with the idea (and most of the initial design) in the wee hours of the morning. We had just finished our -- let's see, it would have been our freshman year -- final exams and were more than a little giddy!

My recollection, though fuzzy after all these years, is that we and another friend had spent an earlier late-night bull session coming up with alternative names for spoken punctuation (spot, spark, spike, splat, wow, what, etc.) and that may have been a jumping off point in some way.

Why did you choose to spoof FORTRAN and COBOL in particular?

We didn't. (Even though Wikipedia seems to claim we did.) We spoofed the languages of the time, or at least the ones we were familiar with. (I've never actually learned COBOL myself, though I believe Jim Lyon knew the language.) The manual even lists the languages we were comparing ourselves to. And then we spoofed the reference manuals of the time, especially IBM documentation, again since that's what we were most familiar with. Admittedly, the language resembles FORTRAN more than it does, say, SNOBOL or APL, but then so do most computer languages.

What prompted the name Compiler Language With No Pronounceable Acronym? And how on earth did you get INTERCAL out of this?

I think we actually started with the name INTERCAL. I'm not sure where it came from; probably it just sounded good. (Sort of like FORTRAN is short for "Formula Translation", INTERCAL sounds like it should be short for something like "Interblah Calculation"). I don't remember any more specific etymology. Then when we wanted to come up with an acronym, one of us thought of the paradoxical "Compiler Language With No Pronounceable Acronym."

How long did it take to develop INTERCAL? Did you come across any unforeseen problems during the initial development period?

That depends on what you mean by "develop". We designed the language without too much trouble. Writing the manual took a while, especially for things like the circuit diagrams we included as nonsensical illustrations. The compiler itself actually wasn't too much trouble, given that we weren't at all concerned with optimising the performance of either the compiler or the compiled code.

Our compiler converted the INTERCAL program to SNOBOL (actually SPITBOL, which is a compilable version of SNOBOL) and represented INTERCAL datatypes using character strings in which all the characters were "0"s and "1"s.

Computerworld Buyer's Guide - Vendors Matched to this Article
Market Place

Computerworld Member Login


 

Prioritizing Services with IT Service Management (ITSM)

Computerworld Live Webinar
Wednesday 20th, August 2008
11:00am EST (Sydney, Australia)

To be repeated on:

Thursday 4th, September 2008
11:00am EST (Sydney Australia)

Sign up and receive a free copy of The Forrester WaveTM Service Desk Management Tools, Q2 2008 at the conclusion of the Webinar.

Attend and discover:

  • How to deliver value to your business through ITSM
  • Best practice ITSM implementation
  • Why emphasis is changing from optimizing IT management processes to better servicing customers and demonstrating real dollar value
  • If service-oriented ITSM is best for your business
Whitepaper

Wireless LANs: Is my enterprise at risk?

Achieve an overall understanding of the risks associated with wireless LANs. Discover their inherent properties, as well as what makes them different from wired networks. Read on to uncover a list of recently published articles on real-life breaches and incidents illustrating the need for proactive measures to mitigate wireless security risks.

Enterprise IT Buyer's Guide
Find Technology Vendors Fast
 
Find vendors by name | Find by category
Sponsored Links