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
Naomi Hamilton  04 July, 2008 13:09

Would you do anything differently if you had the chance to develop INTERCAL again now?

I'm sure there are fine points I'd change, and I'd include some of the more creative features that others have proposed (and sometimes implemented) over the years. Also, some of the jokes and/or language features are a bit dated now, such as the XOR operator being a "V" overstruck with a "-", and our mention of what this turns out to be if the characters are overstruck on a punched card.

In your opinion, has INTERCAL contributed anything useful at all to computer development?

Does entertainment count? :-) I suppose there are also second-order effects such as giving some people (including Lyon and myself) a chance to learn about compilers and the like.

Perhaps more important, when you have to solve problems without using any of the usual tools, you can sometimes learn new things. In 2003 I received a note from Knuth saying he had "just spent a week writing an INTERCAL program" that he was posting to his "news" web page, and while working on it he'd noticed that "the division routine of the standard INTERCAL library has a really cool hack that I hadn't seen before". He wanted to know if I could remember which of Lyon or myself had come up with it so he could give proper credit when he mentioned the trick in volume 4 of The Art of Computer Programming. (I couldn't recall.)

Where do you envisage INTERCAL's future lying?

I've no idea, seeing as how I didn't envisage it getting this far!

Has anyone ever accidentally taken INTERCAL to be a serious programming language?

Heavens, I hope not! (Though I was concerned YOU had done so when you first contacted me!)

Have you been impressed by any other programming languages, such as Brain****?

I've looked at a few other such languages but never spent a lot of time on them. Frankly, the ones that impress me more are the non-spoof languages that have amazingly powerful features (usually within limited domains), such as APL's multidimensional operations or SNOBOL's pattern matching. (I'd be curious to go back and look at SNOBOL again now that there are other languages with powerful regular-expression operators.)

The closest I've come to being impressed by another "limited" programming language was a hypothetical computer described to me long ago by a co-worker who was a part-time professor at Northeastern University. The computer's memory was 65536 *bits*, individually addressable using 16-bit addresses. The computer had only one type of instruction; it consisted of 48 consecutive bits starting anywhere in memory. The instruction was interpreted as three 16-bit addresses, X Y Z, and the operation was "copy the bit from location X to location Y, then to execute the instruction starting at location Z". The students were first tasked with constructing a conditional branch (if bit A is set go to B, else go to C). I think the next assignment was to build a 16-bit adder. Now THAT'S minimalist!

Where do you see computer programming languages heading in the near future?

An interesting question, but frankly it's not my field so I haven't spent any time pondering the matter. I do expect we'll continue to see a growing dichotomy between general programming languages (Perl, Python, C++, Java, whatever) and "application-level" languages (suites for building Web-based tools and such). It seems that we currently have people who use the general programming languages, but don't have any understanding of what's going on down at the microcode or hardware levels.

Do you have any advice for up-and-coming spoof programmers?

Try to find a niche that isn't already filled. Hm, you know, SPOOF would be a fine name for a language. It's even got OO in the name!

And finally, as already discussed with Bjarne Stroustrup, do you think that facial hair is related to the success of programming languages?

I hadn't seen that theory before, but it's quite amusing.

(See here)

I don't think I had any facial hair when we designed INTERCAL, but I've been acquiring more over the years. Maybe that's why INTERCAL's still thriving?

Is there anything else you'd like to add?

In some sense INTERCAL is the ultimate language for hackers, where I use "hacker" in the older, non-criminal sense, meaning someone who enjoys figuring out how to accomplish something despite the limitations of the available tools. (One of the definitions in The Hacker's Dictionary is, "One who builds furniture using an axe.") Much of the fun of INTERCAL comes from figuring out how it can be used to do something that would be trivial in other languages. More fun is had by extending the language with weird new features and then figuring out what can be done by creative use of those features.

Computerworld Buyer's Guide - Vendors Matched to this Article

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

Login or register to link comments to your user profile, or you may also post a comment without being logged in.
The content of this field is kept private and will not be shown publicly.
Don Woods
Don Woods
Add to Google
Computerworld Buyer's Guide - Vendors Matched to this Article
Zones
Zone logoZones provide focussed content from Computerworld and leading technology partners.
Newsletter Subscription
Newsletter Subscription
Sign up for our Computerworld newsletters!
Syndicate content Syndicate content
 

Computerworld Webinar

Thursday, June 11th, 2009
10:30am EST (Sydney, Australia)
Screening at your PC

Computerworld is hosting a 30 minute live webinar to help you to learn how unified communications can save you money, foster innovation and business agility by making it easier for people to find, reach and collaborate with one another.

Register Now

Computerworld Community Comments
Whitepaper

5 steps to getting started with data loss prevention

Lost and leaked data from stolen laptops, compromised networks, and malware-infected client devices all affect Australian businesses. Read on to discover the five critical steps to prevent data loss within your organisation.

Enterprise IT Buyer's Guide
Find Technology Vendors Fast
 
Find vendors by name | Find by category
Sponsored Links
 
Send Us E-mail | Privacy Policy
Features List | Media Kit | Advertising | Contact Us

Copyright 2009 IDG Communications. ABN 14 001 592 650. All rights reserved.
Reproduction in whole or in part in any form or medium without express written permission of IDG Communications is prohibited.