0292: "Goto"

This forum is for the individual discussion thread that goes with each new comic.

Moderators: Moderators General, Prelates, Magistrates

scwizard
Posts: 519
Joined: Sun Mar 04, 2007 6:29 pm UTC
Location: New York City
Contact:

Postby scwizard » Fri Jul 20, 2007 3:19 pm UTC

K&R wrote:C provides the infinitely-abusable goto statement, and labels to branch to. Formally, the goto is never necessary, and in practice it is almost always easy to write code without it. We have no used goto in this book.
Nevertheless, there are a few situations where gotos may find a place.

Maybe he got attacked by a raptor not for using a goto, but for using a goto at the sacrifice of needed restructuring...
~= scwizard =~

User avatar
Vaniver
Posts: 9422
Joined: Fri Oct 13, 2006 2:12 am UTC

Postby Vaniver » Fri Jul 20, 2007 3:53 pm UTC

I have to deal with Fortran programmers who believe that goto is still acceptable.
I mostly post over at LessWrong now.

Avatar from My Little Pony: Friendship is Magic, owned by Hasbro.

User avatar
Hench
Porn, hence, Man
Posts: 498
Joined: Wed Mar 28, 2007 4:16 pm UTC
Location: Right between my eyes
Contact:

Postby Hench » Fri Jul 20, 2007 4:01 pm UTC

Vaniver wrote:I have to deal with Fortran programmers who believe that goto is still acceptable.


Violently, hopefully.
Spoiler:
Your perceptions will not change reality, but simply color it.

julesh
Posts: 22
Joined: Wed Jul 04, 2007 9:20 am UTC

Postby julesh » Fri Jul 20, 2007 4:25 pm UTC

Bakemaster wrote:Because a velociraptor is not a monkey.


But neither does a velociraptor have a hand. Perhaps mano-a-garra would be more appropriate?

kwan3217
Posts: 27
Joined: Wed Jul 11, 2007 1:44 am UTC
Location: Sun-synchronous Earth Orbit

Postby kwan3217 » Fri Jul 20, 2007 4:53 pm UTC

That reminds me of a block of code I translated from fortran to java once. Most of the code used gotos to emulate mormal loops and branches, but there was one block I could never figure out, so I ended up creating a goto emulator using case statement fallthrough:

Code: Select all

        int iret=0;
        int LineNumber=100;
        //Wow, sphagetti code beyond recognition. This hack implements goto's.
        //Thank goodness for Java switch-case fall-through.
        //LineNumber is the last linenumber which is a goto target.
        //goto N is implemented as LineNumber=N;break;
        for(;;) {
          switch(LineNumber) {
            case 100:
              if ... {LineNumber=170;break;}
            case 105:
              if ... {LineNumber=120;break;}
              ...
            case 110:
              iret = 100;
              LineNumber=160;break;
            case 120:
              ...
            case 125:
              if ... {LineNumber=130;break;}
              iret = 125;
              LineNumber=160;break;
            case 130:
              ...
              iretn = 140;
              LineNumber=150;break;
            case 140:
              ...
              return;
            case 150:
              ...
              LineNumber=iretn;break;
              // Integrator
            case 160:
              iretn = 165;
              LineNumber=150;break;
            case 165:
              ...
              LineNumber=iret;break;
              // Epoch restart
            case 170:
              ...
              LineNumber=125;break;
          }
        }


Not only does it include goto XXX, it includes goto var where var (hopefully) has a line number. I don't know what could possibly be more evil than that. I'm not even sure how a compiler can implement it.

It turns out that the original fortran code has a nasty bug in some cases. My java code faithfully preserved the bug. A better programmer than I re-implemented this block from scratch using the original formulas and miracle of miracles, the bug disappeared.

Scary part of the story: The original fortran code is SGP4, the program NORAD uses to track satellites.
Some people look at what is, and ask "why?"
Some people dream about what isn't, and ask "why not?"
I think about it for a while, then say "Oh, that's why not."

User avatar
Vaniver
Posts: 9422
Joined: Fri Oct 13, 2006 2:12 am UTC

Postby Vaniver » Fri Jul 20, 2007 4:58 pm UTC

Scary part of the story: The original fortran code is SGP4, the program NORAD uses to track satellites.
Oh, Fortran works fine. The really scary part of the story is that the programmers who knew how the code worked have retired and/or will retire shortly, and if it ever needs to be updated someone without experience of reading spaghetti Fortran will have to deal with it.
I mostly post over at LessWrong now.

Avatar from My Little Pony: Friendship is Magic, owned by Hasbro.

User avatar
Tractor
Posts: 2467
Joined: Mon Jan 08, 2007 6:17 pm UTC
Location: no

Postby Tractor » Fri Jul 20, 2007 5:01 pm UTC

UltramaticOrange wrote:
Tractor wrote:Blah GOTOs. I cannot thing of any times where I've resorted to using them.

However, a couple years ago, I inherited a large VB project that was littered with them. As if trying to figure out the generic flow of a large program wasn't bad enough, they had to throw that in there too. Bastards.


mmm. and not to mention that you've got to LOVE that "on error goto shit" error handling syntax because, ya'know, THAT was a good idea.


Even better: Most of the error handling was 'on error resume next' :shock:
I mean, WTF!? That shouldn't be an option. If shit goes wrong, you don't just keep going! What if it's critical?
9 x 6 = 42

Note: Randall kicks ass.

User avatar
Devilsaur
Posts: 306
Joined: Wed Jul 18, 2007 4:45 am UTC

Postby Devilsaur » Fri Jul 20, 2007 5:06 pm UTC

frezik wrote:
Devilsaur wrote:However, I've been taught that breaks, when they aren't required, (ie. not with switch cases in c++), are bad programming style.


This is the opinion of Computer Scientists that lean highly on theory rather than practice (such as Wirth), whereas Dijkstra showed that goto is bad in both theory and practice. It's been shown that in practice, using control constructs in loops tends to be more straightforward and easier to write correctly than the alternatives.
I agree. But I'm of the type that'd perfer soundness and believe doing it the 'correct way' should be more important than straightforward code or the ease to write. But this is really subjective depending on the type of coder you are.
entropomorphic wrote:A better way to handle exceptions is

Code: Select all

do {
  if(exception) {
    break;
  }
} while(false);
gah! My teachers have ingrained in me:

Code: Select all

do {
   try {
   }
   catch (ohshi) {
   }   
}while (wait, we're only running this once?)

Code: Select all

while (!exception) {
}


BTW, I love the third frame of the comic.

Edit: Actually, on a second read, I'm not even sure what you're trying to do. Is that a glorified otherwise condition for an exception?
Edit: Are you doing some weird nesting of breaks? Because that's really sketchy :S

ellipsis
Posts: 12
Joined: Thu Jun 14, 2007 8:50 am UTC

Postby ellipsis » Fri Jul 20, 2007 5:19 pm UTC

It is quite possible that I will base all my future decisions on the following question.

"Will this cause velociraptors to appear and fiercely eviscerate me?"

User avatar
Bakemaster
pretty nice future dick
Posts: 8933
Joined: Fri Jul 06, 2007 2:33 pm UTC
Location: One of those hot places

Postby Bakemaster » Fri Jul 20, 2007 5:31 pm UTC

julesh wrote:
Bakemaster wrote:Because a velociraptor is not a monkey.


But neither does a velociraptor have a hand. Perhaps mano-a-garra would be more appropriate?

The raptor doesn't need to have a hand in order for the common idiom "hand-to-hand" to apply; it does, however, need to be a monkey for "mono-a-mono" to apply since that's not a common idiom at all. That's my story and I'm sticking to it.
Image
c0 = 2.13085531 × 1014 smoots per fortnight
"Apparently you can't summon an alternate timeline clone of your inner demon, guys! Remember that." —Noc

User avatar
hotaru
Posts: 1045
Joined: Fri Apr 13, 2007 6:54 pm UTC

Postby hotaru » Fri Jul 20, 2007 5:46 pm UTC

goto has been discussed quite a bit recently in this thread on 4chan's programming board...

User avatar
william
Not a Raptor. Honest.
Posts: 2418
Joined: Sat Oct 14, 2006 5:02 pm UTC
Location: Chapel Hill, NC
Contact:

Postby william » Fri Jul 20, 2007 5:50 pm UTC

julesh wrote:
Bakemaster wrote:Because a velociraptor is not a monkey.


But neither does a velociraptor have a hand. Perhaps mano-a-garra would be more appropriate?

By the time you get your mano out, you're already dead. You cannot fight a raptor.
SecondTalon wrote:A pile of shit can call itself a delicious pie, but that doesn't make it true.

UltramaticOrange
Posts: 45
Joined: Wed May 30, 2007 3:31 am UTC
Contact:

Postby UltramaticOrange » Fri Jul 20, 2007 6:04 pm UTC

Tractor wrote:
UltramaticOrange wrote:
Tractor wrote:Blah GOTOs. I cannot thing of any times where I've resorted to using them.

However, a couple years ago, I inherited a large VB project that was littered with them. As if trying to figure out the generic flow of a large program wasn't bad enough, they had to throw that in there too. Bastards.


mmm. and not to mention that you've got to LOVE that "on error goto shit" error handling syntax because, ya'know, THAT was a good idea.


Even better: Most of the error handling was 'on error resume next' :shock:
I mean, WTF!? That shouldn't be an option. If shit goes wrong, you don't just keep going! What if it's critical?


You gloss over it, I guess.

VB: Like, divide by zero? ALRIGHT! /action snaps gum
Me: Uhm.
VB: Whoah. There's like, totally nothing there nownstuff! Grrrross! Do you, like, want me to use msgbox, ersomthing, because, like, I think that'd totally be cool nstuff if you do! Hereyago!
Me: Uhm, not really. /action click
VB: Oh, like, bytheway, that totally wasn't supposed to be a zero in, like, the first place and, like, the stuff, ersomthing, is like, totally written finenstuff. I, uh, uhdunow. Maybe you should, like, copy and, like, paste it, ersomething, into one of those new project thingies to see if, like, that doesn't fix it, ersomthing.
VB: Oh, and, like, yea, I was, like, supposed to tell you that, uh, like, that nothing there thingie is, like, uh, a good way to make me quit unexpectedly, so kthxbye.
Image

User avatar
Tractor
Posts: 2467
Joined: Mon Jan 08, 2007 6:17 pm UTC
Location: no

Postby Tractor » Fri Jul 20, 2007 6:09 pm UTC

Bakemaster wrote:Because a velociraptor is not a monkey.


What if the raptor is wielding a monkey?

That should be a new sport.
9 x 6 = 42



Note: Randall kicks ass.

plams
Posts: 35
Joined: Fri Oct 13, 2006 12:08 am UTC
Location: denmark

Postby plams » Fri Jul 20, 2007 6:09 pm UTC

It's curious that everybody focus on the goto-part of the comic. Even though I'm a C/C++/Java/Ruby/Python/AndSoOn programmer, the first thing I thought of was that whenever somebody says something to the effect of, "Bah, what's the worst thing that can happen?", I always imagine a sudden flash of light outside the window and other consequences of a nearby nuclear detonation.

It might not be the worst thing that can happen but it's pretty bad.

UltramaticOrange
Posts: 45
Joined: Wed May 30, 2007 3:31 am UTC
Contact:

Postby UltramaticOrange » Fri Jul 20, 2007 6:20 pm UTC

plams wrote:It's curious that everybody focus on the goto-part of the comic. Even though I'm a C/C++/Java/Ruby/Python/AndSoOn programmer, the first thing I thought of was that whenever somebody says something to the effect of, "Bah, what's the worst thing that can happen?", I always imagine a sudden flash of light outside the window and other consequences of a nearby nuclear detonation.

It might not be the worst thing that can happen but it's pretty bad.


Last time I used GOTO under the pretense of, "What’s the worst thing that could happen?" Jesus appeared before me on compile and personally told me that he hated me and that I'm going to hell. He was just starting to fade away when my door bust into fire, Satan appeared through the doorway and said, "The Hell he is!"
Image

Rysto
Posts: 1460
Joined: Wed Mar 21, 2007 4:07 am UTC

Postby Rysto » Fri Jul 20, 2007 7:07 pm UTC

entropomorphic wrote:I make myself forget that goto is even a legal statement in C/C++, and I always think it looks out of place when I see it in other people's code. I don't miss it at all. A better way to handle exceptions is

Code: Select all

do {
  if(exception) {
    break;
  }
} while(false);

Why do people think that just because their code contains a loop instead of a goto that their code is automatically better? You example is crying out for a goto. Loops should used for looping, not for convoluted control structures.

frezik wrote:
jamesh wrote:
Peripatetic wrote:Funny enough, the Linux kernel actually makes frequent use of goto.

http://kerneltrap.org/node/553/2131

Linus himself defends the practice here. Maybe that's why he's so irritable; he's constantly fending off raptors.


If you are programming in C, proper use of gotos can lead to code that is both more reliable and more readable. In situations where you'd use a try/finally structure in other languages, gotos can provide similar control flow in C.


That's not why they're in the Linux kernel. It's because GCC happens to compile gotos very efficiently, and there are many places where a kernel must be as fast as possible.


From Peripatetic's link:

Linus Torvalds wrote:I think goto's are fine, and they are often more readable than large amounts of indentation. That's _especially_ true if the code flow isn't actually naturally indented (in this case it is, so I don't think using goto is in any way _clearer_ than not, but in general goto's can be quite good for readability).


Rik van Riel wrote:However, the goto can also be a great tool to make the code more readable. The goto statement is, IMHO, one of the more elegant ways to code exceptions into a C function; that is, dealing with error situations that don't happen very often, in such a way that the error handling code doesn't clutter up the main code path.



frezik wrote:This is the opinion of Computer Scientists that lean highly on theory rather than practice (such as Wirth), whereas Dijkstra showed that goto is bad in both theory and practice.

Dijkstra himself noted that looping constructs do not give enough power to handle error conditions succinctly:

One can regard and appreciate the clauses considered as bridling its use. I do not claim that the clauses mentioned are exhaustive in the sense that they will satisfy all needs, but whatever clauses are suggested (e.g. abortion clauses) they should satisfy the requirement that a programmer independent coordinate system can be maintained to describe the process in a helpful and manageable way.


As C has only loops, ifs and gotos for control flow, a C programmer's best choice is to use goto for handling error conditions.

Annirak
Posts: 54
Joined: Tue Jun 26, 2007 6:55 pm UTC

Postby Annirak » Fri Jul 20, 2007 7:11 pm UTC

kwan3217 wrote:Not only does it include goto XXX, it includes goto var where var (hopefully) has a line number. I don't know what could possibly be more evil than that. I'm not even sure how a compiler can implement it.
The general term for it is a computed goto. It's often used with indexed-offset addressing.

This generally works in one of the following two ways:

Code: Select all

load variable a into accumulator
add variable a to program counter


Code: Select all

load variable a in to accumulator
add offset to accumulator
store accumulator to program counter


On the architecture you're using, there may be fancy opcodes that do this all in one instruction, or with much different words (like goto) but a goto really is just

Code: Select all

store following litteral to program counter
[X]Wife
[X]Car
[X]Rain
Now all I need is a movie to set off that pet peeve.

Annirak
Posts: 54
Joined: Tue Jun 26, 2007 6:55 pm UTC

gotos=optimization

Postby Annirak » Fri Jul 20, 2007 7:24 pm UTC

There are other cases where gotos are totally reasonable. Even if they jump back and forth in the code.

A prime example of this is a state machine parser. It's far more efficient to jump directly to the next section of code than to have to exit a control loop, re-enter it, compare against a state variable, then jump to the next section of code.
[X]Wife
[X]Car
[X]Rain
Now all I need is a movie to set off that pet peeve.

User avatar
entropomorphic
Posts: 23
Joined: Mon Apr 02, 2007 2:51 pm UTC

Postby entropomorphic » Fri Jul 20, 2007 8:17 pm UTC

Rysto wrote:
entropomorphic wrote:I make myself forget that goto is even a legal statement in C/C++, and I always think it looks out of place when I see it in other people's code. I don't miss it at all. A better way to handle exceptions is

Code: Select all

do {
  if(exception) {
    break;
  }
} while(false);

Why do people think that just because their code contains a loop instead of a goto that their code is automatically better? You example is crying out for a goto. Loops should used for looping, not for convoluted control structures.


Because writing maintainable code means that you have to be anticipating other people coming in and changing things around. Codeblocks like above are a natural single chunk that might be copied and pasted, refactored, or nested inside a loop in the future.

If the above code was structured like this:

Code: Select all

printf("Step 1\n");
if(exception)
  goto END;
}
printf("Step 2\n");
...
END:
printf("done\n");

It's someone needed to move this code into a for loop, they may very well neglect to move the END label into the loop as well, especially in longer functions where goto is typically used instead of else. With the label outside the new loop, code could be skipped during an exception that wasn't intended to be skipped. You can't, however, copy half of a do-while loop into another loop.

I'm not saying that goto statements are always bad... if some highly optimized code uses goto, it's okay as long as it's sequestered and encapsulated in some file that doesn't need a lot of maintenance. But this is because highly optimized code is generally hard to maintain already, so people know the risks when they go to edit it.
Last edited by entropomorphic on Fri Jul 20, 2007 8:21 pm UTC, edited 2 times in total.

User avatar
Wilibus
Posts: 419
Joined: Thu Jul 12, 2007 9:21 pm UTC
Location: Regina, SK

Postby Wilibus » Fri Jul 20, 2007 8:18 pm UTC

Tractor wrote:
Bakemaster wrote:Because a velociraptor is not a monkey.


What if the raptor is wielding a monkey?

That should be a new sport.
I think the real question we need to be asking is who would win a raptor transformed into a monkey or a human transformed into a monkey.
"A mathematician is a blind man in a dark room looking for a black cat which isn't there."
-Charles Robert

User avatar
Mr_Bakitus
Posts: 4
Joined: Thu Jun 28, 2007 4:30 am UTC

Postby Mr_Bakitus » Fri Jul 20, 2007 8:20 pm UTC

My Comp Sci I textbook had an appendix about GOTO statements.
I say "had" because my teacher one day ripped them all out.
He really didn't want the kids learning GOTO.

User avatar
Sprocket
Seymour
Posts: 5951
Joined: Mon Mar 26, 2007 6:04 pm UTC
Location: impaled on Beck's boney hips.
Contact:

Postby Sprocket » Fri Jul 20, 2007 8:20 pm UTC

Bakemaster wrote:
julesh wrote:
Bakemaster wrote:Because a velociraptor is not a monkey.


But neither does a velociraptor have a hand. Perhaps mano-a-garra would be more appropriate?

The raptor doesn't need to have a hand in order for the common idiom "hand-to-hand" to apply; it does, however, need to be a monkey for "mono-a-mono" to apply since that's not a common idiom at all. That's my story and I'm sticking to it.
Mano-a-garra makes me think "vagina dentata"
"She’s a free spirit, a wind-rider, she’s at one with nature, and walks with the kodama eidolons”
Image
Image
Image
Image
Image
Zohar wrote: Down with the hipster binary! It's a SPECTRUM!

Rysto
Posts: 1460
Joined: Wed Mar 21, 2007 4:07 am UTC

Postby Rysto » Fri Jul 20, 2007 8:28 pm UTC

So, basically you're saying that code should be written to be more difficult to understand, so that idiots who use copy-and-paste without thinking are less likely to shoot themselves in the foot?

Besides I don't see how "must remember to keep clean-up code after the label in my new loop" is any harder to remember than "must remember to keep clean-up code after my do-while monstrosity in my new loop".

Kayube
Posts: 42
Joined: Fri Jul 20, 2007 8:20 pm UTC

Postby Kayube » Fri Jul 20, 2007 8:34 pm UTC

When I read this comic and got to the last panel, I immediately heard Strong Bad's voice in my head shouting "RAPTOR'D!!"

Oh, and this is my first post on this forum.

User avatar
MrSparkle
Posts: 27
Joined: Thu May 10, 2007 3:40 am UTC

Postby MrSparkle » Fri Jul 20, 2007 9:47 pm UTC

This comic perfectly describes what I want to happen to every Linux kernel programmer.
"Intuition, like a flash of lightning, lasts only for a second. [...] Suddenly the light breaks through and one finds after a few minutes what previous days of labor were unable to reveal."
~Cryptonomicon

justbecause
Posts: 142
Joined: Mon May 28, 2007 12:26 am UTC
Location: maine, usa

Postby justbecause » Fri Jul 20, 2007 9:59 pm UTC

I haven't used GOTO since 1993. In code, that is. I use it a lot in speech and writing. (It is shorter! Also, it makes... certain people... cringe! :twisted: )

(Lucky for me, Raptor Fear was not developed until 11 June, 1993.)

User avatar
You, sir, name?
Posts: 6983
Joined: Sun Apr 22, 2007 10:07 am UTC
Location: Chako Paul City
Contact:

Postby You, sir, name? » Fri Jul 20, 2007 10:29 pm UTC

Code: Select all

start: goto now;
possibly: goto be;
using: goto _goto;
what: goto could;
with: goto using;
now: goto what;
_goto: goto statements:
could: goto possibly;
wrong: goto with;
be: goto wrong;
statements: goto end;
end: goto start;

User avatar
Belial
A terrible sound heard from a distance
Posts: 30450
Joined: Sat Apr 15, 2006 4:04 am UTC
Contact:

Postby Belial » Fri Jul 20, 2007 11:04 pm UTC

Kayube wrote:When I read this comic and got to the last panel, I immediately heard Strong Bad's voice in my head shouting "RAPTOR'D!!"

Oh, and this is my first post on this forum.


And a damn good one.

Hee hee.

Raptor'd.
addams wrote:A drunk neighbor is better than a sober Belial.


They/them

User avatar
TheStranger
Posts: 896
Joined: Wed Jun 20, 2007 9:39 pm UTC
Location: The Void which Binds

Postby TheStranger » Fri Jul 20, 2007 11:29 pm UTC

This is no laughing matter, it happened to a guy once at the lab.... I think... it was 0430, and I had been up for 36 hrs, and the only thing I'd had to eat in the last 12 hrs was a snickers bar and a warm Full Throttle... but I'm sure it happened....
"To bow before the pressure of the ignorant is weakness."
Azalin Rex, Wizard-King of Darkon

User avatar
sillybear25
civilized syllabub
Posts: 435
Joined: Tue Jun 19, 2007 2:19 am UTC
Location: Look at me, I'm putting a meta-joke in the Location field.

Postby sillybear25 » Fri Jul 20, 2007 11:36 pm UTC

I'm not sure if this has been posted yet, but it's scarily similar to a post made in the last few days in the forum games...

DarkWerewolf wrote:Granted, your computer is now state of the art, with a password protection system that if you put in the wrong password raptors eat you.
This space intentionally left blank.

PAStheLoD
Posts: 3
Joined: Sat Jul 21, 2007 1:38 am UTC
Location: hungary
Contact:

Postby PAStheLoD » Sat Jul 21, 2007 1:41 am UTC

Hahha. Hilarious. Worth registering for :)

ToLazyToThink
Posts: 83
Joined: Thu Jun 14, 2007 1:08 am UTC

Postby ToLazyToThink » Sat Jul 21, 2007 3:50 am UTC

space_raptor wrote:Anyone learning to code should not use gotos, because you will not learn how to structure a program correctly. Most assignments/projects a student does are probably designed such that there is no way a student should use gotos.

Global variables, on the other hand, can be awesomely efficient. You just have to make sure that you actually want them to be global. I have achieved great success with global variables. I am not ashamed, either.


I see what you're up to space_raptor. You wont get me.

User avatar
wing
the /b/slayer
Posts: 1876
Joined: Tue May 29, 2007 5:56 am UTC

Postby wing » Sat Jul 21, 2007 4:27 am UTC

Taejo wrote:I haven't used GOTO in a long while (I had no choice but Java at school, and was paid actual money to learn Python -- and not part of a job -- so I got used to living without it) but I'm surprised this doesn't hurt more people, since BASIC is (I assume) the most popular language amoung pre- and young teens. I used BASIC until I was 15. Aren't the young 'uns raptor delicacies? Post edited for reasons of conspiracy.
Visual Basic is, these days. And that's a full OO language.
I AM A SEXY, SHOELESS GOD OF WAR!
Akula wrote:Our team has turned into this hate-fueled juggernaut of profit. It's goddamn wonderful.

User avatar
sunami
Posts: 239
Joined: Sat Jul 21, 2007 4:52 am UTC
Location: Arlington. The state of Northern Virginia.

Postby sunami » Sat Jul 21, 2007 5:01 am UTC

I registered just to say that in my opinion, the Cryptonomicon reference cements this as the greatest thing anywhere ever. 19102347% pure awsome.

User avatar
creaothceann
Posts: 34
Joined: Fri Jan 26, 2007 9:44 am UTC
Location: Germany

Postby creaothceann » Sat Jul 21, 2007 7:04 am UTC

Belial wrote:Carry on, then.

Please, no assembler jokes.

User avatar
OneLess
Posts: 158
Joined: Wed Mar 21, 2007 5:10 am UTC

Postby OneLess » Sat Jul 21, 2007 7:28 am UTC

Bakemaster wrote:
SimonSwift wrote:But hey, I'd beat the hell out of a velociraptor, mono-a-mono

Mano-a-mano, actually; "hand to hand" in Spanish.

The More You Know
______~~~~^^^*

I worship you!

I'm so tired of hearing "mano a mano, man to man!" in movies and TV shows. I don't know anything about programming, but I'm quite sure that massively misunderstood false cognates are not only worse, but should be responded to with attacks from those smart mutant raptors in the later JP movies.
“Observation: Couldn’t see a thing. Conclusion: Dinosaurs.” –Carl Sagan

Last edited by OneLess on Sat Dec 17, 3003 10:35 am, edited 0 time in total.

floyd4one
Posts: 34
Joined: Fri Jul 13, 2007 9:19 am UTC
Location: i'm in your head rearranging the furniture
Contact:

Postby floyd4one » Sat Jul 21, 2007 9:08 am UTC

creaothceann wrote:
Belial wrote:Carry on, then.

Please, no assembler jokes.


Real men program for the 8085 (...and maybe the PowerPC)! :twisted: None of your high-level layer-of-abstraction raptor-attack-incurring GOTO hijinks...

Code: Select all

JNK 0002


:P

User avatar
Bakemaster
pretty nice future dick
Posts: 8933
Joined: Fri Jul 06, 2007 2:33 pm UTC
Location: One of those hot places

Postby Bakemaster » Sat Jul 21, 2007 3:25 pm UTC

floyd4one wrote:Real men program for the 8085

Am I the only one who first read this as "Real men program for the 80085"?
Image
c0 = 2.13085531 × 1014 smoots per fortnight
"Apparently you can't summon an alternate timeline clone of your inner demon, guys! Remember that." —Noc

User avatar
smocc
Posts: 78
Joined: Mon Feb 12, 2007 4:26 pm UTC
Location: New Delhi, India

Postby smocc » Sat Jul 21, 2007 5:52 pm UTC

Wow. Yes you are.
Dogs with diabetes need less love


Return to “Individual XKCD Comic Threads”

Who is online

Users browsing this forum: addams, Majestic-12 [Bot] and 90 guests