Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming It's funny.  Laugh. IT Technology

Interview With Author of the First Spoof Language 102

An anonymous reader brings us Computerworld's interview with Don Woods, one of the creators of Compiler Language With No Pronounceable Acronym (INTERCAL). INTERCAL and its documentation were created in 1972 as a parody of that era's languages and instruction manuals. Among other things, Woods had this to say: "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. I admit I'm surprised at its longevity. Some of the jokes in the original work feel rather dated at this point. It helps that the language provides a place where people can discuss oddball features missing from other languages, such as the 'COME FROM' statement and operators that work in base 3."
This discussion has been archived. No new comments can be posted.

Interview With Author of the First Spoof Language

Comments Filter:
  • Bah! (Score:5, Funny)

    by Anonymous Coward on Friday July 04, 2008 @07:49PM (#24062937)

    Intercal has nothing on Brainfuck [wikipedia.org]. Brainfuck makes every other spoof programming language look like a joke. I'd write the Hello World! program here, but Slashdot's content filter doesn't support Brainfuck code.

    • Re:Bah! (Score:5, Funny)

      by Amiga Lover ( 708890 ) on Friday July 04, 2008 @07:54PM (#24062963)
      Brainfuck is inherently crystal clear in comparison to HYPERTARD.

      It's a language created on the Amiga in the 1980s, named after hypercard, but completely unrelated. The only legal characters are whitespace. Tab, space, linefeed, carriage return etc.
    • Re:Bah! (Score:5, Informative)

      by Goaway ( 82658 ) on Friday July 04, 2008 @08:19PM (#24063079) Homepage

      Most people entirely miss the point of Brainfuck. It was never meant to be esoteric for the sake of it, or to "challenge and amuse programmers" as Wikipedia puts it.

      It was designed to create a compiler as small as possible. The original AmigaOS compiler was 240 bytes in size. Even smaller compilers have been created by people who truly grasped the spirit of the language.

      • P ' ' (Score:5, Informative)

        by tepples ( 727027 ) <tepplesNO@SPAMgmail.com> on Friday July 04, 2008 @09:08PM (#24063293) Homepage Journal

        Most people entirely miss the point of Brainfuck. It was never meant to be esoteric for the sake of it, or to "challenge and amuse programmers" as Wikipedia puts it.

        It was designed to create a compiler as small as possible.

        That, and Brainfuck is a realization of P ' ' [wikipedia.org], the first imperative structured programming language ever to be proved Turing complete.

        • by Goaway ( 82658 )

          It is, but whether this is intentional or accidental is unclear. The original documentation, what little there is of it, makes no mention of this.

      • Re: (Score:1, Insightful)

        by Anonymous Coward

        That is essentially the spirit of wikipedia: people write what seems to be right, instead of bothering to research the issue and find out what actually is right.

        • by Goaway ( 82658 )

          Then somebody else writes the truth further down in the article, and then nobody bothers to edit the article to make it actually consistent with itself.

        • That is essentially the spirit of wikipedia: people write what seems to be right, instead of bothering to research the issue and find out what actually is right.

          So by that standard, "what actually is right" is out there in the world, just waiting, plainly available, to be researched.

          Can you show me a wikipedia article where someone has written what seems to be right? Can you show me where this information is, in fact, wrong, perhaps because they didn't "research the issue"?

          People act as if wikipedia is like an empty book and retards show up to draft the articles that will fill its pages. In this reasoning the collaborative efforts of wiki communities, along

    • Re: (Score:3, Funny)

      by grcumb ( 781340 )

      Intercal has nothing on Brainfuck [wikipedia.org]. Brainfuck makes every other spoof programming language look like a joke.

      Not sure whether that was intentionally humourous or not, but well done, nonetheless.

      But seriously[*] kids, nothing holds a candle to ACME [cpan.org]. All the programming foolishness you'll ever need, implemented in glorious Perl!

      --------

      [*] Whatever....

    • Re: (Score:2, Informative)

      by eltaco ( 1311561 )
      let's not forget ook. http://esoteric.voxelperfect.net/wiki/Ook [voxelperfect.net]
    • Re: (Score:3, Informative)

      by KDR_11k ( 778916 )

      Nonsense. Brainfuck is just a complicated but still pretty direct way of describing a Turing Machine. Brainfuck is interpreted in a single direction and the code is static. Intercal lets you use COME FROM statements (act like goto except you jump from the label to this line, in threaded intercal you can have multiple COME FROMs for one label and each spawns a thread), has ABSTAIN FROM that deactivates certain commands at runtime until reenabled, expects you to say PLEASE every so often (or it rejects your c

    • by focoma ( 865351 )

      ...makes every other spoof programming language look like a joke...

      No shit? :-P

    • Hi, guys Online reservation for budget accommodation in the most visited destinations in Europe : London, Paris and Barcelona. List of hotels, apartments and hostels. Sana budget accommodation [clickbed.com]
  • It's gonna be a slow news night on Slashdot if they're pulling this one out.
    • Yeah you'd think Slashdot would report on economic issues, high oil and gas prices, or how the government and our employers are spying on us, using technology for each of them.

      Instead they report on a Spoof language and it isn't even April Fools day yet, OMG ponies!

      I suppose next they'll report on how some company is still using COBOL on an IBM 360 Mainframe to write up reports and someone ported Java to the IBM 360 Mainframe to serve those reports as PDF files using Jasper reports? Or maybe they will write

      • I think the Slashdot guys can only handle so much of you guys masturbating your fury all over the site, so they post stuff like this to take a break from it.

  • by Anonymous Coward on Friday July 04, 2008 @07:54PM (#24062965)

    Microsoft announces new language for the .NET platform, IronINTERCAL.

    With all the features of regular INTERCAL, but only runs on Windows Vista (tm).

    Miguel De Icaza had this to say about the exciting new development - "No Me Gusta." He's clearly speechless about this fabulous new language available only on Windows Vista (tm).

    • by smittyoneeach ( 243267 ) * on Friday July 04, 2008 @09:07PM (#24063291) Homepage Journal
      The first IronINTERCAL project announced will be a MMOG version of a 43-Man Squeamish league.
      A crucial feature of this mock-sports extravaganza will be on-the-fly and occasionally randomized rules generation.
      Lead developer Q. Wolfgang Imboodaga denied vehemently the accusation that this is really a DARPA project to write a US Congress simulator.
      • Re: (Score:3, Informative)

        The first IronINTERCAL project announced will be a MMOG version of a 43-Man Squeamish league.

        Fail. The game was 43-Man Squamish.

        I still remember the invocation of the coin toss: "Mi Tio esta Infermo pero la Carretera esta Verde!*" (Portugese grammar corrected for me by Giglermo Regades, an Argentinian auto mechanic of my acquaintance in 1966.

        (*"My uncle is sick but the highway is green.")

  • COME FROM revival (Score:5, Interesting)

    by listen ( 20464 ) on Friday July 04, 2008 @07:57PM (#24062977)

    If you hunker down and squint at it the right way, COME FROM is really an early form of aspect oriented programming - non local transfer of control to the point of definition - yeah, yeah CLOS fans we know that real generic functions subsume AOP and date from the mists of the 80s - but this is from the early 70s so it is pretty interesting. Over application of hyped technologies for the win!

    • by tepples ( 727027 ) <tepplesNO@SPAMgmail.com> on Friday July 04, 2008 @08:38PM (#24063165) Homepage Journal

      If you hunker down and squint at it the right way, COME FROM is really an early form of aspect oriented programming

      Even before the alleged fad that is AOP, processors have had hardware support for COME FROM for a long time. It's called a breakpoint [wikipedia.org].

      • Re: (Score:2, Funny)

        by jonadab ( 583620 )
        Yes, but the real breakthrough in computing, which I'm sure will be coming any day now, is the computed COME FROM statement, wherein the COME FROM statement gives a *formula* (which can include arithmetic, variables, function calls, ...) for calculating the line number to COME FROM. When combined with the ability to COME FROM a single line to multiple other lines, as found in Threaded INTERCAL, this becomes very powerful. Especially when you can toggle it with ABSTAIN and REINSTATE, either globally (PLEAS
      • As an assembly programmer, I find it not even vaguely similar, at least in spirit and purpose.

        A breakpoint is essentially a one-byte CALL. No more.

        It's used by debuggers as a makeshift COME FROM, yes, but there's no way to use it in assembly code as an invisible COME FROM. (Except if you do self-modifying code, but then in that case you can do anything whatsoever, not just COME FROM.) If you actually wrote that instruction in an assembly program, it would work as a CALL, and it would be visible right there,

        • by tepples ( 727027 )

          A breakpoint is essentially a one-byte CALL. No more.

          On some CPUs and some debuggers. Other CPUs have hardware support for a small number of breakpoints, causing an interrupt/exception/signal/whatever when the instruction pointer hits a specific value.

    • Exactly what I was going to post. Whenever someone talks to me about AOP, I try hard to understand why it's a less-bad idea than a conditional COME FROM statement.
  • The SPITBOL interpreter is available under the GPL, and a turnkey version of the OS it ran under is available. One of these days, if we can ever turn up a copy of the original INTERCAL compiler, I want to turn out an ISO image that's an IPLable, running OS and tools to run INTERCAL under Hercules...

  • LOLCODE (Score:4, Funny)

    by Anonymous Coward on Friday July 04, 2008 @08:22PM (#24063101)

    LOLCODE [lolcode.com] might actually get this brain-damaged BASIC refugee trying their hand at programming again after all these years.

  • by Anonymous Coward

    Back in the 1970s somebody told me about an operating system. I can only remember a couple of statements:

    KILL SUPERVISOR

    JUMP SECRETARY

  • All of us here thought it was for real! But at least, this explains the slip of our operating system project...
  • by russotto ( 537200 ) on Friday July 04, 2008 @08:51PM (#24063225) Journal
    INTERCAL has nothing on APL. Or even on Stroustroup's parody of C, which people actually think you're supposed to use.
  • by Tumbleweed ( 3706 ) on Friday July 04, 2008 @09:35PM (#24063397)

    Oh please.

    Has noone here ever used perl? :)

  • by Nom du Keyboard ( 633989 ) on Friday July 04, 2008 @09:42PM (#24063413)
    Google should just agree to turn over their source code in the Viacom suit [slashdot.org] after running it through a {sane language} ==> INTERCAL translator.
  • by Nom du Keyboard ( 633989 ) on Friday July 04, 2008 @09:48PM (#24063441)
    Then there's the Apple version: iNTERCAL.
  • by Mr Z ( 6791 ) on Friday July 04, 2008 @10:05PM (#24063505) Homepage Journal
    Interestingly, TI's C64x family of DSPs has special instructions that speed up INTERCAL. The "SHFL" instruction directly implements INTERCAL's "mingle" operator. The "DEAL" instruction implements common special cases of the "select" operator. Nifty, eh?
  • A Postscript to PDF converter comes in handy ( http://www.ps2pdf.com/ [ps2pdf.com] ), as the documentation is provided in postscript and plain text (which is badly formatted).
    • by linzeal ( 197905 )
      An actual PS reader like GhostView [wisc.edu] is far more handy. Sciences other than programming use something besides HTML and PDF pretty often to distribute their work.
      • True, but if you use GhostView to view the linked postscript file, it will only display the first page. presumably there is some obscure comand-line way to access the other pages, but at that point, PDF converters are just easier.
        • Re: (Score:1, Funny)

          by Anonymous Coward

          Um, which program are you talking about? If you're referring to the X11 program Ghostview, then you should be using gv, in which you can access other pages by the not-at-all-obscure non-command-line approach of clicking on the "next page" button. If you're referring to the Windows program GSview, on the other hand, then it's slightly harder: you access other pages by clicking on the "next page" button.

          Um, in other words, what the fuck are you smoking?

  • Real Challenge... (Score:4, Interesting)

    by stuffman64 ( 208233 ) <stuffman@[ ]il.com ['gma' in gap]> on Friday July 04, 2008 @11:14PM (#24063801)

    How about instead of the Obfuscated C Code contest, we have an Unobfuscated INTERCAL Code contest where the object is to make INTERCAL code look as close to or at least as understandable as "normal" C (or other language) as possible while still performing a set action?

  • Woah! (Score:5, Funny)

    by Zwicky ( 702757 ) on Friday July 04, 2008 @11:44PM (#24063917)

    Wow! Researching these esoteric programming languages has been more than a brainfuck [esolangs.org] - it is positively a brainfuck++ [esolangs.org]. Nay, I'm sure just reading of them is causing an irreversible [esolangs.org] loss of knowledge of real programming languages - that must surely qualify as a quantum brainfuck [esolangs.org] whereby both cannot be fully comprehended [esolangs.org] at the same time.

    Man, now I really feel like a dumbf*ck [esolangs.org]! Fuck, Fuck! [esolangs.org] Double fuck! [esolangs.org]

    The bad news is that my pointy [esolangs.org] haired boss [esolangs.org] has ordered that all development switch to his new favorite language [esolangs.org]. I think he may have been smoking something [esolangs.org].

    This is bad for me because he has now had to ask me to go ahead and come in on Saturday. This means I will have to cancel my date, who has real come hither [esolangs.org] eyes, and I was so confident it was going to be a real beneficial [esolangs.org][0] night[1].

    Argh! [esolangs.org]

    I wish I could get all my ducks in a row [esolangs.org] so I could give him a swift kick with my size nines [esolangs.org] so he walks funny [esolangs.org] for a week, flick him the V [esolangs.org] and leave this crummy company; that would rock [esolangs.org]!

    [0] High five!
    [1] Unlike the last one, on which the lady gave me an unexpected present [esolangs.org].

    • by armanox ( 826486 )
      If I still had mod points I'd mod you up.
  • Putridos (Score:3, Interesting)

    by techno-vampire ( 666512 ) on Saturday July 05, 2008 @12:52AM (#24064133) Homepage
    Those of you who think INTERCAL or some of the other languages mentioned here are weird have never run across the weirdest OS ever conceived: PutriDOS. [well.com] Among other things, the Clear Screen command blew all the phosphors off the inside of the CRT so that it could be examined, it had a "pretty printer" for its assembly language that reformatted the output into stars, flowers and other images, and an "upgrade" of FORTRAN called 4.1TRAN. It was supported by three companies, PutriDOS, PutridDOS and Putritech, who tended to forget which company wrote which program and upgrade each other's products in incompatible ways. Generally, your best bet was to find a user's group and request a hex patch.
    • That's pretty funny, but it should perhaps be pointed out that INTERCAL actually exists (i.e. there are real compilers available).
  • Languages as we know them have well-known paradigms such as functional decomposition, object orientation, casts, blah blah. And we're limited to these ways of thinking, useful as they are.

    But to invent a parody language which doesn't really have to be useful ... could produce ideas we wouldn't have thought of along traditional lines.

    Anyone who reads Edward de Bono (who teaches thinking skills including how to have creative ideas) knows about the 'provocation': you make some nonsensical statement about

  • Speaking of obscure programming languages: I used to work with Don Woods at Sun Microsystems, where we wrote a user interface toolkit in object oriented PostScript. (TNT: The NeWS Toolkit -- for the James Gosling's Network extensible Windows System [wikipedia.org].)

    -Don

    • Ah, NeWS and TNT. I have fond memories of my first year at Sun (1990), prototyping a system in TNT (which would have been nearly impossible to do any other way, given the other technology options at the time.) We used a notebook metaphor (with tabbed pages), and for fun, I made the tab corners rounded, and included 3 "holes" in the windows to make them look like lined 3-hole notebook paper. The code to implement it was surprisingly clean and elegant, but took a bit of doing to get your head around it.

      Goo

      • Cool! That was the same year I started there. I don't know your real name, but we may have known each other. You can email me if you like at dhopkins@DonHopkins.com.

        Were you on the Ruby project? (The port of the HyperCard clone PLUS to NeWS.) After giving up on Sun, I went to work with Arthur van Hoff at the Turing Institute, to develop his "GoodNeWS" aka "HyperNeWS" aka "HyperLook" system, which was a from-the-ground-up reimplmentation of HyperCard in PostScript, with a network client interface (like an

  • If they're talking to Grace Murray Hopper, are they using a medium or a ouija board?
    • by iapetus ( 24050 )

      IDENTIFICATION DIVISION.
      PROGRAM-ID. COMMUNEWITHDEAD.
      ENVIRONMENT DIVISION.
      INPUT-OUTPUT SECTION.
      FILE-CONTROL.
      SELECT PRINT-FILE ASSIGN TO BEYOND-THE-GRAVE.
      PROCEDURE DIVISION.
      OUIJABOARD.
            DISPLAY "GRACE? CAN YOU HEAR ME, GRACE?".
            STOP RUN.
                                           

  • Although the primary base numbering system in machete [blogspot.com] is unary, base three has it's advantages, especially in flux [virtuescience.com] between the numbers three and six. See the enneagram [wikipedia.org].
  • Forth supports base 3, and any base from 2 to 36.

I have hardly ever known a mathematician who was capable of reasoning. -- Plato

Working...