Slashdot Mirror


Interview With Author of the First Spoof Language

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."

37 of 102 comments (clear)

  1. Bah! by Anonymous Coward · · Score: 5, Funny

    Intercal has nothing on Brainfuck. 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.

    1. Re:Bah! by Amiga+Lover · · Score: 4, Funny

      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.

    2. Re:Bah! by Jerome+H · · Score: 5, Informative

      Well if you are looking for really fucked up language can I suggest Malbolge ?
      Here is the link:

      http://esoteric.voxelperfect.net/wiki/Malbolge

      --
      int main() { while(1) fork(); }
    3. Re:Bah! by Goaway · · Score: 5, Informative

      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.

    4. Re:Bah! by grcumb · · Score: 2, Funny

      Intercal has nothing on Brainfuck. 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. All the programming foolishness you'll ever need, implemented in glorious Perl!

      --------

      [*] Whatever....

      --
      Crumb's Corollary: Never bring a knife to a bun fight.
    5. Re:Bah! by yakumo.unr · · Score: 4, Informative
    6. Re:Bah! by Tmack · · Score: 5, Funny
      The language you refer to is whitespace, as described and linked in a comment below as well.

      I would post "Hello World" written in it here, but the comment thingy refused to accept it: "Filter error: Please use less whitespace."

      tm

      --
      Support TBI Research: http://www.raisinhope.org
    7. Re:Bah! by mobby_6kl · · Score: 5, Funny

      Your suggestion is laughable. There is only one acceptable answer.

    8. Re:Bah! by eltaco · · Score: 2, Informative
      --
      It's not about fate, it's about character.
      there be no shelter here, the frontline is everywhere!
    9. Re:Bah! by jonadab · · Score: 2, Interesting

      Actually, I've seen the specs for Malbolge, and I still think Threaded INTERCAL is more ingenious and extreme.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    10. Re:Bah! by ari_j · · Score: 2, Insightful

      Whitespace allows other characters. They just don't have syntactic meaning. :P

    11. Re:Bah! by KDR_11k · · Score: 2, Informative

      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 code as impolite), implements boolean operators as unary operators (i.e. they take one argument instead of two), had explanations for the various signs used for operators and why they changed between punchcard and ASCII encoding ( was replaced with $ to signify the increasing cost of software, the select operator is ? since that's the reaction most users have when they try to understand it) and the whole manual continued the joke perfectly, including nonsensical circuit diagrams and tonsils (Other manuals have appendices so they wanted to have a removable organ in their manual too). Oh and Intercal comes in versions that use the bases 3-7 too (not 8 since that's too standard).

      --
      Justice is the sheep getting arrested while an impartial judge declares the vote void.
    12. Re:Bah! by omar.sahal · · Score: 3, Funny

      The idea for this language was already mentioned five years earlier by Bjarne Stroustrup.

      Is there no end to his evil meddling

    13. Re:Bah! by Lehk228 · · Score: 2, Funny

      and then someone reverts the changes and calls you a vandal.

      --
      Snowden and Manning are heroes.
    14. Re:Bah! by DeVilla · · Score: 4, Funny

      The language you refer to is whitespace, as described and linked in a comment below as well.

      I would post "Hello World" written in it here, but the comment thingy refused to accept it: "Filter error: Please use less whitespace."

      So those Perl bigots at Slashdot are finally actively excluding other programming languages by name.

  2. In other news... by Anonymous Coward · · Score: 5, Funny

    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).

    1. Re:In other news... by smittyoneeach · · Score: 3, Funny

      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.

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    2. Re:In other news... by Nefarious+Wheel · · Score: 2, 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.")

      --
      Do not mock my vision of impractical footwear
  3. COME FROM revival by listen · · Score: 5, Interesting

    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!

  4. LOLCODE by Anonymous Coward · · Score: 4, Funny

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

    1. Re:LOLCODE by Izzy84075 · · Score: 5, Funny

      You DO realize that's what it's supposed to do, right?

    2. Re:LOLCODE by Anonymous Coward · · Score: 2, Funny

      duh, man, that's like, the whole... point, or whatever, man.

      Proof that otherwise intelligent people, in groups, become absolute fucktards.

    3. Re:LOLCODE by exley · · Score: 5, Funny

      u is in our threadz
      missin teh point

  5. I wish I could remember .... by Anonymous Coward · · Score: 2, Funny

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

    KILL SUPERVISOR

    JUMP SECRETARY

    1. Re:I wish I could remember .... by s7uar7 · · Score: 3, Funny

      You can do something similar in Mumps:

      New Day
      Read Newspaper
      Job Sucks
      Kill Supervisor
      Open Fly
      Do Secretary
      Close Door
      Go Home

  6. A widely accepted use of COME FROM by tepples · · Score: 5, Insightful

    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.

    1. Re:A widely accepted use of COME FROM by jonadab · · Score: 2, Funny

      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 (PLEASE DO ABSTAIN FROM COMING FROM) or on a per-line basis.

      --
      Cut that out, or I will ship you to Norilsk in a box.
  7. Better spoof languages by russotto · · Score: 5, Funny

    INTERCAL has nothing on APL. Or even on Stroustroup's parody of C, which people actually think you're supposed to use.

  8. P ' ' by tepples · · Score: 5, Informative

    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 ' ', the first imperative structured programming language ever to be proved Turing complete.

  9. it's apparently amateur night by Tumbleweed · · Score: 5, Funny

    Oh please.

    Has noone here ever used perl? :)

  10. Turn over the Google Source Code to Viacom in INTE by Nom+du+Keyboard · · Score: 4, Funny

    Google should just agree to turn over their source code in the Viacom suit after running it through a {sane language} ==> INTERCAL translator.

    --
    "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
  11. The Apple Version by Nom+du+Keyboard · · Score: 3, Funny

    Then there's the Apple version: iNTERCAL.

    --
    "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
  12. Special hardware support for INTERCAL! by Mr+Z · · Score: 3, Interesting

    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?

  13. Real Challenge... by stuffman64 · · Score: 3, Interesting

    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?

    --
    --- At my sig, unleash hell.
  14. Woah! by Zwicky · · Score: 5, Funny

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

    Man, now I really feel like a dumbf*ck! Fuck, Fuck! Double fuck!

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

    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 eyes, and I was so confident it was going to be a real beneficial[0] night[1].

    Argh!

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

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

    --
    "Three eyes are better than one" -- Lieutenant Columbo
  15. Putridos by techno-vampire · · Score: 2, Interesting

    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. 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.

    --
    Good, inexpensive web hosting
  16. Now THIS gets me thinking ... by InterStellaArtois · · Score: 2, Interesting

    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 the problem domain, then see what interesting possibilities that opens up. The idea is to brainstorm and hopefully useful ideas will come out of the process.

    E.g. off the top of my head ... Provocation: "computer languages should have source code which is unreadable" Leads to these (pretty random) ideas

    • A language with a very large instruction set, perhaps allowing low level access into graphics APIs etc. but reasonably high level semantics
    • A new microprocessor design which allows for a high level language which doesn't need to be compiled, a 'compromise' between the machine and its programmer
    • Deliberate obfuscation of the source (OK nothing new there)
    • Create a new natural language which is closer to how machines think, and have people program in that

    I think silliness is a good way to solve many problems, thinking from outside the usual boundaries is often what's needed. Using the right tool for the job is normally the best approach but to paraphrase TFA a hacker is 'One who builds furniture using an axe' - now that has to result in some new ideas.