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.
Read up on the latest ideas and technologies from companies that sell hardware, software and services. Technology Requirements for a Successful Master Data Exchange
Providing Business Continuity and Disaster Recovery for Microsoft Cluster Server and Windows Server 08 Failover Clustering Apps
Multiple suppliers - a common culture
Data Centre Assessments: The First Step to Optimisation
5 steps to getting started with data loss prevention
A Platform for Master Data Management to Help You Know and Trust Your Data
Keeping your SQL Server Going 24x7
Reducing the risk of insider abuse
Zones provide focussed content from Computerworld and leading technology partners.















Comments
Really Funny
Maybe there should be a language called SPOOF (Special Formula for Object Oriented F**king around)
This INTERCAL programming
This INTERCAL programming language looks really interesting to me. Adam from learn how to jump higher guide.
Another great review of
Another great review of computer language. Thanks
MikeCrabe
Post new comment