lkml.org 
[lkml]   [2003]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: any chance of 2.6.0-test*?

    See Brian Kernighan's explanation in 1981. Still good.

    http://bit.csc.lsu.edu/tutorial/ten-commandments/bwk-on-pascal.html


    On Sun, Jan 12, 2003 at 12:22:26PM -0800, Linus Torvalds wrote:
    >
    > On Sun, 12 Jan 2003, Rob Wilkens wrote:
    > >
    > > However, I have always been taught, and have always believed that
    > > "goto"s are inherently evil. They are the creators of spaghetti code
    >
    > No, you've been brainwashed by CS people who thought that Niklaus Wirth
    > actually knew what he was talking about. He didn't. He doesn't have a
    > frigging clue.
    >
    > > (you start reading through the code to understand it (months or years
    > > after its written), and suddenly you jump to somewhere totally
    > > unrelated, and then jump somewhere else backwards, and it all gets ugly
    > > quickly). This makes later debugging of code total hell.
    >
    > Any if-statement is a goto. As are all structured loops.
    >
    > Ans sometimes structure is good. When it's good, you should use it.
    >
    > And sometimes structure is _bad_, and gets into the way, and using a
    > "goto" is just much clearer.
    >
    > For example, it is quite common to have conditionals THAT DO NOT NEST.
    >
    > In which case you have two possibilities
    >
    > - use goto, and be happy, since it doesn't enforce nesting
    >
    > This makes the code _more_ readable, since the code just does what
    > the algorithm says it should do.
    >
    > - duplicate the code, and rewrite it in a nesting form so that you can
    > use the structured jumps.
    >
    > This often makes the code much LESS readable, harder to maintain,
    > and bigger.
    >
    > The Pascal language is a prime example of the latter problem. Because it
    > doesn't have a "break" statement, loops in (traditional) Pascal end up
    > often looking like total shit, because you have to add totally arbitrary
    > logic to say "I'm done now".
    >
    > Linus
    >
    > -
    > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    > the body of a message to majordomo@vger.kernel.org
    > More majordomo info at http://vger.kernel.org/majordomo-info.html
    > Please read the FAQ at http://www.tux.org/lkml/

    --
    ---------------------------------------------------------
    Victor Yodaiken
    Finite State Machine Labs: The RTLinux Company.
    www.fsmlabs.com www.rtlinux.com
    1+ 505 838 9109

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:32    [W:0.041 / U:60.656 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site