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."
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.
It's gonna be a slow news night on Slashdot if they're pulling this one out.
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).
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!
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...
Disinfect the GNU General Public Virus!
LOLCODE might actually get this brain-damaged BASIC refugee trying their hand at programming again after all these years.
Back in the 1970s somebody told me about an operating system. I can only remember a couple of statements:
KILL SUPERVISOR
JUMP SECRETARY
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.
All of us here thought it was for real! But at least, this explains the slip of our operating system project...
Ezekiel 23:20
INTERCAL has nothing on APL. Or even on Stroustroup's parody of C, which people actually think you're supposed to use.
Sadly, I've actually seen worse abuses in source-code in shipping products. It was in C, does that count?
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.
Oh please.
Has noone here ever used perl? :)
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."
Then there's the Apple version: iNTERCAL.
"It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
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?
Program Intellivision!
A Postscript to PDF converter comes in handy ( http://www.ps2pdf.com/ ), as the documentation is provided in postscript and plain text (which is badly formatted).
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.
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
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
PLEASE post message
Request denied, you are excessively polite.
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
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.
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, at the position you break from. It doesn't confuse the poor maintenance sod even remotely as much as a COME FROM that's in another file entirely and makes his method do extra (or less!) stuff that he can't see anywhere in the actual code of that method.
AOP creates that extra oportunity to make someone cry when they try to understand your code. Make a seemingly benign getter method alter the variables in a whole other class? Sure. Why not? Change a classloader so everything becomes public in loaded classes, and another module so it changes what you thought was a constant? Make a method call a whole unrelated module and cause all sorts of side-effects? Go ahead. The world is your bitch when you can use a COME FROM in any place you wish, and have it hidden in a whole other source file, and inserted in a whole different pass of the build.
The maintenance engineer sees your program like through a narrow cardboard tube. He doesn't know the big picture, and usually isn't given the time or budget to learn it. He just sees one screen at a time. And expects that if he sees no calls, there are no calls made from there, or none that he should be aware of. Make his day interesting by adding all sorts of aspects, so the method does more than what the source code says, or something else entirely. ;)
Which I guess is why most people only use it to insert extra debug or timing log messages.
A polar bear is a cartesian bear after a coordinate transform.
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.)
-Don
Take a look and feel free: http://www.PieMenu.com
If they're talking to Grace Murray Hopper, are they using a medium or a ouija board?
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Although the primary base numbering system in machete is unary, base three has it's advantages, especially in flux between the numbers three and six. See the enneagram.
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.
++ Say to Elrond "Hello.".
Elrond says "No.". Elrond gives you some lunch.
Forth supports base 3, and any base from 2 to 36.
*** On the Internet, no one knows you're using a VIC-20
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