Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

New updates needed for an old computer language humor piece

10 views
Skip to first unread message

Ric Werme

unread,
Nov 29, 2001, 9:04:59 PM11/29/01
to
The following wandered into my mail box for the first time in a year
or two. Since I've been learning a bit of Python this year, it seems
to me an update is needed.

For Logo, perhaps: Draw a foot, draw a gun, but the bullet comes out
the handle and misses the foot altogether.

-Ric Werme

--------------------------------------------------

THE PROGRAMMER'S QUICK GUIDE TO THE LANGUAGES

The proliferation of modern programming languages (all of which seem to
have stolen countless features from one another) sometimes makes it
difficult to remember what language you're currently using. This handy
reference is offered as a public service to help programmers who find
themselves in such a dilemma.


TASK: Shoot yourself in the foot.

C: You shoot yourself in the foot.

C++: You accidentally create a dozen instances of yourself and shoot them
all in the foot. Providing emergency medical assistance is
impossible since you can't tell which are bitwise copies and which are
just pointing at others and saying, "That's me, over there."

FORTRAN: You shoot yourself in each toe, iteratively, until you run out
of toes, then you read in the next foot and repeat. If you run out of
bullets, you continue with the attempts to shoot yourself anyways because
you have no exception-handling capability.

Pascal: The compiler won't let you shoot yourself in the foot.

Ada: After correctly packing your foot, you attempt to concurrently load
the gun, pull the trigger, scream, and shoot yourself in the foot. When
you try, however, you discover you can't because your foot is of the
wrong type.

COBOL: Using a COLT 45 HANDGUN, AIM gun at LEG.FOOT, THEN place
ARM.HAND.FINGER on HANDGUN.TRIGGER and
SQUEEZE. THEN return HANDGUN to HOLSTER. CHECK whether shoelace needs to
be re-tied.

LISP: You shoot yourself in the appendage which holds the gun with which
you shoot yourself in the appendage which holds the gun with
which you shoot yourself in the appendage which holds the gun with which
you shoot yourself in the appendage which holds the gun with which
you shoot yourself in the appendage which holds the gun with which you
shoot yourself in the appendage which holds...

FORTH: Foot in yourself shoot.

Prolog: You tell your program that you want to be shot in the foot. The
program figures out how to do it, but the syntax doesn't permit it to
explain it to you.

BASIC: Shoot yourself in the foot with a water pistol. On large systems,
continue until entire lower body is waterlogged.

Visual Basic: You'll really only appear to have shot yourself in the
foot, but you'll have had so much fun doing it that you won't care.

HyperTalk: Put the first bullet of gun into foot left of leg of you.
Answer the result.

Motif: You spend days writing a UIL description of your foot, the bullet,
its trajectory, and the intricate scrollwork on the ivory handles of the
gun. When you finally get around to pulling the trigger, the gun jams.

APL: You shoot yourself in the foot, then spend all day figuring out how
to do it in fewer characters.

SNOBOL: If you succeed, shoot yourself in the left foot. If you fail,
shoot yourself in the right foot.

Unix:


% ls
foot.c foot.h foot.o toe.c toe.o
% rm * .o
rm:.o no such file or directory
% ls
%

Concurrent Euclid: You shoot yourself in somebody else's foot.

370 JCL: You send your foot down to MIS and include a 400-page document
explaining exactly how you want it to be shot. Three years later,
your foot comes back deep-fried.

Paradox: Not only can you shoot yourself in the foot, your users can, too.

Access: You try to point the gun at your foot, but it shoots holes in all
your Borland distribution diskettes instead.

Revelation: You're sure you're going to be able to shoot yourself in the
foot, just as soon as you figure out what all these nifty little
bullet-thingies are for.

Assembler: You try to shoot yourself in the foot, only to discover you
must first invent the gun, the bullet, the trigger, and your foot.

Modula2: After realizing that you can't actually accomplish anything in
this language, you shoot yourself in the head.

--
"When we allow fundamental freedoms to be sacrificed in the name of real or
perceived emergency, we invariably regret it. -- Thurgood Marshall
Ric Werme | we...@nospam.mediaone.net
http://people.ne.mediaone.net/werme | ^^^^^^^ delete

Peter Hansen

unread,
Nov 29, 2001, 11:00:30 PM11/29/01
to
(Will I be the first? Not bloody likely! :-)

Ric Werme wrote:
>
> TASK: Shoot yourself in the foot.

[Note: I'm one of Python's biggest fans, but the
original was universally disparaging!]

Python: You fire the gun, but the bullet travels so
slowly towards your foot that you get tired and leave.

Python: You insert the bullet into the gun but because
there were actually TAB characters in the barrel instead
of spaces, the gun jams with an IndentError.

Python: You try to load the bullet into the gun, but
Guido pulls it away from you and gives you version 2.0.
You try to load the bullet into that gun, but he pulls
it away again and gives you 2.1 and the gun rejects
the bullet. You get another bullet and try again, but
he gives you the beta for 2.2 and this time the bullet
gets lost inside.

Python: You're new to shooting. You start to load the
bullet, but then realize the gun does not have a safety
on it so you dutifully report your brilliant and original
discovery in comp.lang.python and after the thread finally
dies out you have forgotten to shoot yourself in the foot.

(I note wryly that in no case does Python actually
allow you to shoot yourself in the foot! <grin>)

--
----------------------
Peter Hansen, P.Eng.
pe...@engcorp.com

Andrew Hamm

unread,
Nov 29, 2001, 11:26:20 PM11/29/01
to
Andrew Hamm wrote in message <3c0703b3$1...@news.iprimus.com.au>...
>
>set -a COLT $CALIBRE $CALIBRE $CALIBRE $CALIBRE $CALIBRE $CALIBRE
>
OOOPS! That should be

set -A COLT ...

Peter Hansen

unread,
Nov 30, 2001, 7:59:21 AM11/30/01
to
Skeleton Man wrote:
>
> You post this to a perl group and yet don't have one for perl ? *L*.. shame
> on you...
>
> I would write one myself, but I'm much to busy doing useless things like
> writing JAPH signatures that scroll Merry Christmas across the screen.. (see
> below).. *L*
>
> ---- -Begin Xmas Signature------

Ohhh, you set yourself up for this one! <grin>

TASK: Shoot yourself in the foot.

Perl:
> *__=*Time::HiRes::usleep=>my@m=map{$_+=$_%2?-1:+1}map ord,
> split//=>'Ldssx!Bishrul`r!`oe!`!I`qqx!Odv!Xd`s/////////'.
> 'Ldssx!Bishrul`r!`oe!`!I`qqx!Odv!Xd`s/////////';
> unshift @m=>(32)x@m;require Time::HiRes;for(0..@m){
> print map(chr,@m[0..(@m/2-1)])=>"\b"x(@m/2);push@m=>
> shift@m=>__(0170*0xA**3);}

'Nuff said? :-)

Nick Mathewson

unread,
Nov 30, 2001, 8:28:08 AM11/30/01
to
[comp.lang.{perl|logo} trimmed.]

In article <fPBN7.961$zX1.1...@typhoon.ne.mediaone.net>, Ric Werme wrote:
> The following wandered into my mail box for the first time in a year
> or two. Since I've been learning a bit of Python this year, it seems
> to me an update is needed.

Basic Python


You shoot yourself in the foot.

Python (Heavily Optimized)
You save a reference to the getting-shot method of your foot so
that you can shoot yourself over and over without having to take
aim each time.

Python (<2.2 member lookup)
You ask your foot about getting shot. It doesn't know how to
answer, so you check its address book. There's nothing about
getting shot there, so you ask your foot about Footness, and check
Footness's address book.

Python (2.2 member lookup)
You ask your foot about Footness, you ask Footness about "getting
shot", and you tell "getting shot" about your foot. This yields a
bound getting-shot methods ready to convey bullets to your foot.

Python (Old-style iteration)
You want to shoot the toes off your foot. You train your foot to
consider your toes as members of a list from one to five. You
count off, shooting at the toe your foot indicates. When your
foot complains that there is no sixth toe, your toes will be gone.

Python (New-style iteration)
You want to shoot the toes off your foot. You wiggle them one by
one, shooting the wiggling toes. When there are no more, you're
done.

Python (With generators)
You want to shoot the toes off your foot. You ask your foot to
tell you about all of your toes, but to please pause for a while
after each one so you can shoot it. After you shoot, your foot
begins where it left off.

Python (c.l.py Flamewar version)
"I've never held this kind of gun before, but its (indentation/
floating-point semantics/__future__ directives) make me utterly
certain that everyone who does must be shooting themselves in the
foot!"

Python (Psyco version)
Just as you're about to shoot yourself in the foot, your foot
notices it's about to get shot by a bullet, the bullet notices
it's about to hit your foot, and each immediately conforms to the
other's shape. Future foot-bullet contacts will be far faster.

Python (Time Machine version).
You try to shoot yourself in the foot, only to realize that
there's no need, since Guido thoughtfully shot you in the foot
years ago.


Apologies-to-Cyrano-ly Y'rs,

--
Nick Matthewsen <Q nick Q m at alum dot mit dot edu>
aa 1011011011 Remove Q's to respond. No spam.

Tim Peters

unread,
Nov 30, 2001, 1:38:07 PM11/30/01
to
[Nick Mathewson]

> Basic Python
> You shoot yourself in the foot.
> ...

LOL! Thanks, Nick -- we're going to retract all the new 2.2 features out of
embarrassment <wink>.


Paul Winkler

unread,
Nov 30, 2001, 2:30:28 PM11/30/01
to
On Fri, 30 Nov 2001 13:28:08 GMT, Nick Mathewson <Qni...@alum.mit.edu> wrote:
>Python (Time Machine version).
> You try to shoot yourself in the foot, only to realize that
> there's no need, since Guido thoughtfully shot you in the foot
> years ago.

Bingo!

jorjun

unread,
Dec 3, 2001, 7:47:38 AM12/3/01
to
RPGIII:

CSKEY
READE
CUSTOMER
23

*IN23
DOWEQ
*OFF


*IN23
IFNE
*IN29
SETON *IN29
CSFOOT
IFNE
'SHOT'
MOVEL 'SHOT' CSFOOT
UPDAT CUSTOMER
ENDIF
SETOF *IN29
ENDIF
CSKEY
READE
CUSTOMER
23

ENDDO

0 new messages