So, meine Herren und Damen, nachdem ich selber ja nicht mehr aktiver Programmierer bin, obschon ich das gelernt habe, will ich euch mal etwas zeigen, was viele von euch bereits sicherlich kennen, was mir aber immer wunderbar geholfen hatte, wenn ich vor lauter Code in ein Problem verrannt hatte. Wenn ich das gelesen hatte, dann ging es mir meist besser:
"Shooting Yourself in the Foot"
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 guide is offered as a public service to help programmers who find themselves in such dilemmas.
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, than you read in the next foot and repeat. If you run out of bullets, you continue anyway because you have no exception-handling ability.
Modula2: After realizing that you can't actually accomplish anything in this language, you shoot yourself in the head.
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 retied.
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 ....
BASIC: Shoot yourself in the foot with a water pistol. On big systems, continue until entire lower body is waterlogged.
FORTH: Foot in yourself shoot.
APL: You shoot yourself in the foot, then spend all day figuring out how to do it fewer characters.
PASCAL: The compiler won't let you shoot yourself in the foot.
SNOBOL: If you succeed, shoot yourself in the left foot. If you fail, shoot yourself in the right foot.
Concurrent Euclid: You shoot yourself in somebody else's foot.
HyperTalk: Put the first bullet of the gun into foot left of leg of you. Answer the result.
Motif: You spend days writing a UIL description of your foot, the trajectory, the bullet, and the intricate scrollwork on the ivory handles of the gun. When you finally get around to pulling the trigger, the gun jams.
Unix:
% ls
foot.c foot.h foot.o toe.c toe.o
% rm * .o
rm:.o: No such file or directory
% ls
%
Paradox: Not only can you shoot yourself in the foot, your users can too.
Revelation: You'll be able to shoot yourself in the foot just as soon as you figure out what all these bullets are for.
Visual Basic: You'll shoot yourself in the foot, but you'll have so much fun doing it that you won't care.
Prolog: You tell your program you want to be shot in the foot. The program figures out how to do it, but the syntax doesn't allow it to explain.
370 JCL: You send your foot down to MIS with a 4000-page document explaining how you want it to be shot. Three years later, your foot comes back deep-fried.
Ada: After correctly packaging 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 that your foot is of the wrong type.
Assembly: You try to shoot yourself in the foot only to discover you must first reinvent the gun, the bullet, and your foot.
OS/2 (any language): You begin with 1400 manuals detailing the APIENTRY's, you can't even find the reference to 'foot' in any of the manuals even though there are 37 references in the index... you finally start compiling when all of a sudden Bill Gates drives by in his $900,000 Porsche, leans out of his 'Window' and shoots you in the foot... which then locks in place due to a UAE...![]()
ML/Miranda (lazy functional programming languages): You pull the trigger on the gun, which appears to be loaded, but really isn't. An invisible mechanism intervenes, pulls a cartridge from the box and puts it in the gun and then lets the gun fire. The cartridge hasn't been primed, so the invisible mechanism loads it with primer. The gun resumes and ignites the primer to burn the powder and fire the bullet, but they really hadn't been made yet, so there is again a delay as they are manufactured and put in the gun. Meanwhile, you've given up waiting and put the gun back in your holster, at which point the gun finally fires and shoots you in the foot.
Oder mit anderen Worten: Was macht ihr, wenn ihr euch programmtechnisch einen Wolf programmiert habt -was in vielen Fällen mit dem Makern ja nicht vergleichbar ist. (Deswegen hat das Thema hier sicherlich Existenzberechtigung)