Wednesday, October 03, 2007

The Last Language War / Language Trolling Post You'll Ever Need To Read (Hopefully)

Moderator: Greetings, and welcome to the First-And-Possibly-Last-Ever Pan-Computer-Programming-Language Conference (FAPLEPCPLC). I am joined on stage tonight by many distinguished, high-profile computer programming languages. Each is highly regarded by its devotees, and I for one look forward to hearing what each has to say.

Ruby (grabbing the microphone): Um so yeah I'd just like to kick this bad boy off by saying that THE REST OF YOU SUCK A**!!! Yeah, I said it! The A-word! A**! Oh yeah! Boom, baby! Woo! Ruby FTW!

Java (rolling its eyes): Oh, real mature. I, on the other hand, would like to state that I have important work to get done in the Enterprise, so let's not waste everyone's time. I suggest we proceed using the Computer Programming Languages Discussion Pattern as implemented in JSR-6942, the Java™ Absolutely Void-of-Acronyms Talking About Languages at Konferences (JAVATALK™ which by the way is not an acronym for anything) specification.

Ruby: Dude! I just wrote a full working clone of Google while you were giving your riveting little speech there!

Moderator: Oh, bravo, Ruby! I'd like to see that. Where is it deployed?

Ruby: Umm....

Lisp: In the beginning, there was the Lambda. And John McCarthy saw the Lambda. And John McCarthy saw that the Lambda was very good.

Ruby (rolling its eyes): Here we go...

Lisp: And John McCarthy spake, and lo! the tongue he spake was sexp...

Ruby: He said sex! Heeheeheeheehee!

Erlang: If I may, I've been running some ideas by the other panelists, all at the same time of course, not that that's any big deal...

Ruby (rolling its eyes): And here we go with the concurrency...

Java: Gosh darn it, Ruby! There's no need to pooh-pooh everything someone else says, eh?

Ruby: He said poo-poo! Heeheeheeheehee!

Java: Ruby, I swear, one of these days...

Ruby: Hey, don't give me any of your static! Heeheeheeheehee! See what I did there?! "Static"?! 'Cause I'm so dynamic?! GET IT?!!! DAMN, where's my BAWLS Guarana...?

Ruby (seconds later): I said balls! Heeheeheeheehee!

C#: Developers! Developers! Developers! Developers!

Erlang: ...I'd share my results with you, but it's going to take a while to retrieve them from the filesystem...

COBOL: keels over, only to be frantically revived by about three banks.

Basic: Actually, I have a question for Ruby...

Haskell: Me too...

ML: Hey, Ruby, what's your answer to...

Ruby: Hey, hey, hey now! Not too many at a [segfault]

Java: smiles

bash: kill -9 self

The Lambda Calculus: Actually, if we could all just take a moment to reflect on the implications of the Church-Turing thesis...

Everyone Else: Oh, SHUT UP!!!!!!

Scala: says nothing, but sits quietly observing, taking notes, and learning a lot.

Moderator: Well, I think it's about time to bring some closure to this, um, lively...discussion...

Java (sharply): Hey! We're working on it!

Lisp: ))))))))))))))))))))))

42 comments:

dguaraglia said...

Just like politics! The most promising candidate (Python) is left out.

David Rupp said...

:-) Yeah, sorry dude. I fully expected to hear from you and the Perl brigade, at least. There just wasn't any way to include *all* relevant languages and keep the tone of the post I wanted. Although I probably could have given Python and Perl the cameos that Haskell and ML got.

I promise if I come up with something to satirize about Python I'll include it in the sequel.

Chad Myers said...

How 'bout Python being kinda like a Rainman clone:

Python: "Yeah, definitely spaces. Four spaces, yeah. No tabs. Tabs are good. One tab or two tabs. Yeah."

Java: Python, what are you talking about, come over here.

Python: NO! I can't move from this column. Yeah, have to stay in this column. Can't move, compiler says I have to stay in this column.

Perl: Mrghh(!*$)hg498;++[[x(][][

Everyone: Whoa man, watch the language, Perl.

Perl: $s!\*(%10}[[]]

Ruby: Yeah, I get what you're saying now!

Everyone: Wha?

Chad Myers said...

C#: Hey look, everyone! It's Visual Basic 6. How you feelin' man?

VB6: Pretty good. The doc gave me an On Error Resume Next pill pill and everything feels feels fine again A@#5R($%)*&@)$(&!@)(*.

Java: What was that?

VB6: Nothing, why do you you ask ask?

Java: Um, no reason.

Geekiac said...

Very funny. Thank you! :-)

kevwil said...

Yeah, too bad we didn't see a Java OutOfMemoryException or a C# compiler error, but all in all I think this is an instant classic.

@chad - you rock, yeah, you rock, you rock. And I love the "Nothing, why do you ask" part too.

Eli Sennesh said...

Good to see that the only real programming languages in the world are web-programming languages, right?

Because nobody ever needed a language so vulgar as Object Pascal or the C family to write a native-code application right? They just fired up their $BULLSHIT_FRAMEWORK and wrote a $BUZZWORD_FOR_WEB_APP to run in people's browsers!

Naw. We don't dirty our hands with that any longer.

Saj said...

Python is left out.. :(

Michael Easter said...

Delightful.... great stuff

re: Python. Whatever Python says, it should claim the Global Interpreter Lock beforehand, and freeze the others ;-)

Unknown said...

The closure responses: excellent.

Noam Samuel said...

"Good to see that the only real programming languages in the world are web-programming languages, right?"

I'm pretty sure all the languages there are not exclusively meant for web programming. Also, there's Lisp. Just because they didn't mention your favourite language family doesn't mean you need to get all fired up.

Sean Price said...

i think u may hav had to much time on ur hands to write all that,,,but hey kept me entertained for 2 mins :) nice one

Unknown said...

Ruby: All your base are belongs to us.

But seriously, I think all the other languages are just jealous of how beatiful and fast I am.

Samuel said...

APL: ()<-M%32|:a

Java: And just what does that mean?

APL: No friggin idea, I'm a write only language.

Scott Marlowe said...

While I can understand leaving out some obscure languages, I can't believe you didn't include php and brainfuck.

PHP, for better or worse, is very common. It could well have been the skateboarding punk rocker of the group.

BF would have been great you could just sprinkle in bits like this every so often.

BF: [>+++++++>++++++++++>+++>+<<<<-]

Daniel Green said...

Whitespace:

creedthoughts said...

XML:

<comment mood="cheerful"><greeting>Hi all</comment><message>Hey, I just wanted to make sure you guys RSVP to my BBQ. SOAP or REST, either is cool with me.</message></comment>

huze said...

BF: +++++++++++[>+++++++++++<-]>--.---.<+++++++[>--<-]>.<++++[>---------<-]>---.

Sammy Larbi said...

You left out the part where Java asks, "What was that? I didn't get it. Could you tell me again?"

Wilfred Springer said...

"Yeah, too bad we didn't see a Java OutOfMemoryException or a C# compiler error, but all in all I think this is an instant classic."

Java: rolling its eyes: "You're mixing me with someone else, dude; RTFJavaDoc; it's OutOfMemoryError; *sigh*;"

della said...

How come Java can use substantives without declaring their type first?

Person I would imagine that ProgrammingLanguage Java would speak like WayOfSpeaking this.

I would think that Python would be obsessed with doing things in the One Elegant way, and Perl would try to do the opposite.

Vasu said...

Classic. Really funny! Great job.

Unknown said...

Where's the joke about Haskell being lazy?

David Rupp said...

Thanks to all for the suggestions for the languages I (regrettably) left out. I especially like Python/RainMan and Haskell/Lazy. :-) And I hadn't even heard of BF; you really do learn something new every day.

BTW, another fun game is to think about casting. For example, I picture Ruby as being played by either Chris Farley or Adam Sandler, with the childish giggle ("heeheeheeheehee!") being Tom Hulce's Mozart-laugh from "Amadeus".

All in all, it looks like there's plenty of material for a SQL...

S. Potter said...

You forgot:

Java: public I<AM> uglyAsHell() { return this.butWhoCaresWhenAllNonTechnicalManagersBuyIntoTheVendorConspiracy; }

Ruby: Java.really_is(:ugly)

Siarhei Barysiuk said...

Let's add ASM:

ASM:
xor ax,ax
mov dx,TIMER1_CNT
in al,dx
or al,al
jnz FIXCOUNT0
xor ax,ax
out dx,ax
mov dx,TIMER0_CNT
out dx,ax
jmp SIGDEC
FIXCOUNT0:
mov bx,ax
mov ax,_dt_ymppr
sub ax,bx
mov dx,TIMER0_CNT
out dx,ax
xor ax,ax
mov dx,TIMER1_CNT
out dx,ax
jmp VAMOS0
SIGDEC:
mov _dt_ymdydx,DOWN
push word ptr 0FFFFH
push word ptr YARD_DECREMENT
push word ptr _io_evnt
call far ptr AAEVSIG
add sp,6
VAMOS0:
mov dx,EOI_REGISTER
mov ax,NON_SPECIFIC_EOI
out dx,ax


Ruby: Hey, dudes, what did he say, this lean and tiny old man?

Java: He said his non-crossplatform HELLO. Heh!

Ruby: Heheheheeee!

Unknown said...

@Siarhei Barysiuk

Python (joins the conversation about ASM): But look, he has already picked up few chicks, WHILE we are still talking.

Ruby: Good i..i...ide...idea, let...t...t's go...o...o!

Java (no response).

....

Java (still no response).

ASM (returns): hey, guy, you look sleepy, my friend C and I picked some chicks last NIGHT, now we are just going for some running. Do you want to join.

Java, Python, Ruby (no respones).

Unknown said...

Absolutly brilliant! Thanks.

I wonder how C would fit in. Maybe as the old and rich playboy everyone wants to interface with. The kind of guy that has all these semi legal kids from one night stands with simula (C++) and smalltalk (Objective-C). I dread thinking about the conception of Java and C#... must have been quite a wild night ;-)

Benjamin said...
This comment has been removed by the author.
Benjamin said...

Perhaps an appropriate ending would read:

"Finally the panel began to disperse, and one by one the languages exited the maintenance closet at the .NET convention center."

OK -- I'm just kidding.

Unknown said...

Trolling with Java Web Frameworks

http://www.jroller.com/javelotinfo/entry/trolling_with_java_web_frameworks

Svip said...

Funny how none of you mentions C or C++.

Oh how could your systems be running without those languages?!

Renu Sharma said...

Good points raised mate!

thoward37 said...

Hmm, I would think C and C++, rather than playboys would be more like the old union workers.

C: "Yeah, I've been doing this job for 30 years, and I'm getting paid $200,000 a year due to my sweet union contract and seniority. Sure, I just mop the floors in the conference hall where all you other languages are sitting around chatting in, but I bring home more bread than the lot of you. What, you want to change the way I do my job? Talk to the union rep... I mean API."

And then there's Postscript, who, when not sitting by the whiteboard, drawing out diagrams of what everyone is talking about, is over at the concession table obsessively opening all the soda cans "POP! POP! POP! heeheehee... POP!". He doesn't really talk to the other programming languages.

Then there's FORTRAN, who shows up really late, and asks "Why didn't anyone invite me?", and is met by the collective shrug and muttering of "Who's that guy?"... "Oh, I know I heard about him once..." "He's not actually a programming language is he?"... "Gawd look at those clothes."... "He could have at least washed first."... "He looks like he's been sleeping in a dumpster."... "What's with all those weirdo math tattoos all over his face?"...

C#: "Who's that hunchback over by the punch bowl?"
Haskell: "Oh, that's just CAML. He's an old friend of mine."
C#: "I heard he was working for Microsoft these days? Doing some SharePoint work?"
Haskell: "Nah, that's one of XML's kids. People get them confused a lot."

Paczesiowa said...

AND WHAT ABOUT COBOL YELLING ALL THE TIME?

Bunny said...

I have the dubious merit to use Scala.

I can safely say that the BEST THING for Scala to do is exactly what it did.

Now, if only it would stop smoking python ...

Unknown said...

PHP: "Don't mind me just having a mid-life crisis. Also watch out for my younger twin's ghost as he just recently was put down."

Unknown said...

Gee, all this [Smalltalk] about programming languages!

Knight Telekinetic said...

ANSI C - primus interpares !

Anonymous said...

Sheer beauty folks....makes me so glad to be a programmer (he says, as tears well up in his eyes).

Java, C/C++, Ruby, PHP, Perl, whatever...I like all of 'em!
(What else can I say: I'm a "Language Arts" major...)

Computer Science said...
This comment has been removed by a blog administrator.
Unknown said...

Funniest post i have ever read about languages....

Hahahaha.. C and C # will say we are the One....hahah Java will say- I am the one...

Thanks Dude
James from sprachschule valencia