Path: csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!weretis.net!feeder4.news.weretis.net!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Snorkmeier Newsgroups: comp.lang.c,comp.lang.java.programmer,comp.lang.lisp,comp.lang.perl.misc Subject: You shoot yourself in the foot. Date: Sun, 24 Jul 2011 06:44:02 +0000 (UTC) Organization: A noiseless patient Spider Lines: 126 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Sun, 24 Jul 2011 06:44:02 +0000 (UTC) Injection-Info: mx04.eternal-september.org; posting-host="LK2tBQ6O0ZiLIXPEtBHt8Q"; logging-data="28579"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+MzjcfJD4AD9TLnQSeJEcjYKWVMt9qAjU=" User-Agent: Pan 0.133 (House of Butterflies) Cancel-Lock: sha1:uZ3SEXBUypmmH6aF7evfnEG6dvs= Xref: x330-a1.tempe.blueboxinc.net comp.lang.c:8650 comp.lang.java.programmer:6499 comp.lang.lisp:4912 comp.lang.perl.misc:2477 BASIC: 10 GOSUB SHOOT_FOOT 20 GOTO 10 30 SHOOT_FOOT: PRINT "OW!" 40 RETURN READY. RUN OW! OW! OW! OW! OW! OW! ... C: shoot(foot); Exiting due to signal SIGSEGV... Smalltalk: self shoot: self foot DEBUG SmallInteger doesNotUnderstand: addBulletHole Common Lisp: (shoot foot) Exiting due to signal SIGSEGV... Scheme: (define with-shot-foot (f) (lambda (foot) (f (shoot foot)))) (define foobar ...) ((with-shot-foot foobar)) ; feet are whole again here! ; but the return value of foobar is screwy Java: Rifle r = RifleFactory.createRifle (Ammo9MM.class,10,RifleFactory.RIFLE_LOADED, RifleFactory.RIFLE_SEMIAUTOMATIC); Foot f = Body.getSingletonInstance().getFoot(); try { r.shoot(f); } catch (OutOfAmmunitionException e) { Logger.getInstance().logError(e); e.printStackTrace(); } catch (RifleJammedException e) { Logger.getInstance().logError(e); e.printStackTrace(); } catch (SecurityException e) { JOptionPane.showMessageDialog("Can't shoot foot in unsigned applet!"); } finally { r.ejectAmmo(); r.unloadChamber(); r.releaseAllHandles(); } Exception java.lang.OutOfMemoryError: Java heap space in java.util.HashMap.put (HashMap.java: 317) in com.foo.audit.SerialNumber.intern (SerialNumber.java: 112) in com.foo.audit.SerialNumber.newInstance (SerialNumber.java: 33) in com.foo.Ammo.createSerialNo (Ammo.java: 42) in com.foo.Ammo9MM. (Ammo9MM.java: 18) in com.foo.Ammo9MMFactory.create (Ammo9MMFactory.java: 1191) ... Perl: #!/bin/perl $*JS()#@*%0)__!@MDF*$%)FK@)my_($foot)(*#ND&*%($bullet)9jcfnd8($rifle) usr/scripts (ROOT CONSOLE)> ./shoot_foot.pl DWIM parser surprises you! You shot yourself in the head! /dev/hda0 redirected to /dev/null Exit status -1 Kernel panic EAX = 0x00000000 EBX = 0x103f3abd ECX = 0x00000dc3 EDX = 0x0003afb7 ... System halted C++: foot += bullet; RATATATATATATATATATATATAT! *crash! bang!* *klunk klunk klunk* *hisssssss* "FREEZE!" *cough cough cough* "Someone call a bus! There must be ten thousand expended rounds in here and dozens of wounded!" "Should I also arrest this survivor for egregious abuse of operator overloading?" "You can add at least three counts of criminally negligent homicide."