From: David Ford <david+cert@blue-labs.org>
To: robw@optonline.net,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Ben Ford <ben@kalifornia.com>
Subject: Re: any chance of 2.6.0-test*?
Date: Sun, 12 Jan 2003 15:20:31 -0500 [thread overview]
Message-ID: <3E21CE0F.4020401@blue-labs.org> (raw)
In-Reply-To: <1042401596.1209.51.camel@RobsPC.RobertWilkens.com>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Gotos aren't the root of code evil. Poor design style is and poor
preparation is the root of spaghetti code. Use the right tool for the
job which includes 'goto'. Every teacher that I've met who has an
objection to the use of gotos has been quite naive, often recommends
avoiding pointers, frequently suggests you restrict your strings to 255
characters or less, etc, etc. The oddball extras vary from teacher to
teacher, but the overall impression of the teacher makes me want to
avoid them even with that 10 foot pole.
It's not the fault of the student for being taught wrong, but it is the
fault of the student for ignoring possibile variances of others.
Particularly the "worldly wise"; people who actually write code for the
real world v.s. lectures.
David
Rob Wilkens wrote:
>On Sun, 2003-01-12 at 14:38, Linus Torvalds wrote:
>
>
>>I think goto's are fine
>>
>>
>
>You're a relatively succesful guy, so I guess I shouldn't argue with
>your style.
>
>However, I have always been taught, and have always believed that
>"goto"s are inherently evil. They are the creators of spaghetti code
>(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.
>
>Would it be so terrible for you to change the code you had there to
>_not_ use a goto and instead use something similar to what I suggested?
>Never mind the philosophical arguments, I'm just talking good coding
>style for a relatively small piece of code.
>
>If you want, but comments in your code to meaningfully describe what's
>happening instead of goto labels.
>
>In general, if you can structure your code properly, you should never
>need a goto, and if you don't need a goto you shouldn't use it. It's
>just "common sense" as I've always been taught. Unless you're
>intentionally trying to write code that's harder for others to read.
>
>-Rob
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQE+Ic4P74cGT/9uvgsRAt1QAKCb7ryMMG5iBwTefYgDB7HLuDkRngCeNSq/
M/euGkdIdXpv6IZ1Rw9ikEo=
=Yy9i
-----END PGP SIGNATURE-----
next prev parent reply other threads:[~2003-01-12 20:11 UTC|newest]
Thread overview: 201+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-01-10 16:10 any chance of 2.6.0-test*? William Lee Irwin III
2003-01-10 16:28 ` Dave Jones
2003-01-10 16:41 ` Zwane Mwaikambo
2003-01-10 17:08 ` Dave Jones
2003-01-10 17:19 ` Alan Cox
2003-01-10 16:40 ` Jeff Garzik
2003-01-10 17:06 ` Dave Jones
2003-01-10 17:25 ` Jeff Garzik
2003-01-10 17:29 ` Linus Torvalds
2003-01-10 18:47 ` J.A. Magallon
2003-01-10 19:37 ` Matthew D. Pitts
2003-01-10 19:51 ` Jeff Garzik
2003-01-14 1:39 ` James H. Cloos Jr.
2003-01-15 21:46 ` [PATCH][RESEND w/ reasonable Subject] alsa before oss in Kconfig James H. Cloos Jr.
2003-01-10 18:16 ` any chance of 2.6.0-test*? Alan Cox
2003-01-10 17:37 ` Jochen Friedrich
2003-01-10 17:38 ` Linus Torvalds
2003-01-12 9:27 ` Greg KH
2003-01-12 16:55 ` Alan Cox
2003-01-12 17:05 ` Linus Torvalds
2003-01-12 17:17 ` Christoph Hellwig
2003-01-12 19:15 ` Linus Torvalds
2003-01-12 19:34 ` Rob Wilkens
2003-01-12 19:37 ` Rob Wilkens
2003-01-12 19:53 ` Tomas Szepe
2003-01-12 20:03 ` Rob Wilkens
2003-01-13 15:43 ` Terje Eggestad
2003-01-13 15:49 ` Jens Axboe
2003-01-13 16:25 ` Terje Eggestad
2003-01-13 16:26 ` Jens Axboe
2003-01-13 16:41 ` Terje Eggestad
2003-01-13 16:43 ` Jens Axboe
2003-01-13 17:00 ` Zwane Mwaikambo
2003-01-13 18:48 ` Jens Axboe
2003-01-13 22:14 ` Keith Owens
2003-01-13 22:42 ` John Levon
2003-01-13 22:49 ` Zwane Mwaikambo
2003-01-13 23:32 ` Valdis.Kletnieks
2003-01-13 23:43 ` Zwane Mwaikambo
2003-01-12 20:44 ` Alan Cox
2003-01-12 21:22 ` David Woodhouse
2003-01-12 20:45 ` William Lee Irwin III
2003-01-13 13:14 ` Bernd Schmidt
2003-01-18 13:04 ` Folkert van Heusden
2003-01-12 19:38 ` Linus Torvalds
2003-01-12 19:59 ` Rob Wilkens
2003-01-12 20:18 ` Valdis.Kletnieks
2003-01-12 20:23 ` yodaiken
2003-01-12 20:26 ` Tomas Szepe
2003-01-12 20:32 ` Sean Neakums
2003-01-12 20:51 ` Valdis.Kletnieks
2003-01-13 0:54 ` Randy Dunlap
2003-01-12 20:46 ` Kevin Puetz
2003-01-13 0:48 ` Randy Dunlap
2003-01-18 13:07 ` Folkert van Heusden
2003-01-12 20:20 ` David Ford [this message]
2003-01-12 20:22 ` Linus Torvalds
2003-01-12 20:33 ` Robert Love
2003-01-12 20:33 ` Linus Torvalds
2003-01-13 10:54 ` Horst von Brand
2003-01-13 11:09 ` Eric W. Biederman
2003-01-13 14:34 ` Terje Eggestad
2003-01-13 23:23 ` Bob Taylor
2003-01-12 20:48 ` Rob Wilkens
2003-01-12 20:59 ` Dimitrie O. Paun
2003-01-12 22:48 ` any chance of 2.6.0-test*? -> goto example Willy Tarreau
2003-01-13 0:53 ` Rob Wilkens
2003-01-13 1:31 ` Willy Tarreau
2003-01-13 16:10 ` Alexander Kellett
2003-01-14 10:36 ` Helge Hafting
2003-01-12 23:11 ` Coding style - (Was Re: any chance of 2.6.0-test*?) John Bradford
2003-01-13 11:07 ` any chance of 2.6.0-test*? Helge Hafting
2003-01-13 3:30 ` yodaiken
2003-01-12 21:29 ` Rik van Riel
2003-01-13 0:03 ` Scott Robert Ladd
2003-01-13 0:38 ` Rob Wilkens
2003-01-13 3:06 ` [OT] " J Sloan
2003-01-13 16:51 ` Emiliano Gabrielli
2003-01-13 0:38 ` Randy Dunlap
2003-01-12 19:41 ` Christoph Hellwig
2003-01-12 19:41 ` Rob Wilkens
2003-01-12 19:58 ` David Ford
2003-01-12 20:07 ` Rob Wilkens
2003-01-12 20:31 ` Oliver Neukum
2003-01-12 20:34 ` David Ford
2003-01-12 20:31 ` Robert Love
2003-01-12 21:02 ` Rob Wilkens
2003-01-12 21:15 ` Matti Aarnio
2003-01-12 21:27 ` Rob Wilkens
2003-01-12 21:40 ` Rik van Riel
2003-01-12 21:44 ` Rob Wilkens
2003-01-12 21:49 ` Aaron Lehmann
2003-01-12 22:07 ` Rob Wilkens
2003-01-12 22:18 ` Aaron Lehmann
2003-01-12 22:34 ` Rob Wilkens
2003-01-12 22:52 ` Aaron Lehmann
2003-01-12 23:11 ` Rob Wilkens
2003-01-12 23:31 ` Oliver Neukum
2003-01-12 23:39 ` Emiliano Gabrielli
2003-01-12 23:46 ` Rob Wilkens
2003-01-12 23:57 ` Emiliano Gabrielli
2003-01-13 0:08 ` Rob Wilkens
2003-01-13 16:02 ` Terje Eggestad
2003-01-12 22:53 ` Sean Neakums
2003-01-12 23:06 ` Oliver Neukum
2003-01-12 23:48 ` Rik van Riel
2003-01-12 21:58 ` Emiliano Gabrielli
2003-01-12 22:12 ` Rob Wilkens
2003-01-12 22:29 ` Olivier Galibert
2003-01-12 23:21 ` Alan Cox
2003-01-12 22:12 ` Oliver Neukum
2003-01-12 22:18 ` Aaron Lehmann
2003-01-12 22:35 ` Rob Wilkens
2003-01-13 8:15 ` Jens Axboe
2003-01-12 21:49 ` David Ford
2003-01-13 19:22 ` [OffTopic] [apology] " Rob Wilkens
2003-01-12 21:59 ` Adam Kropelin
2003-01-12 22:21 ` Rob Wilkens
2003-01-12 22:33 ` Tomas Szepe
2003-01-12 22:36 ` Emiliano Gabrielli
2003-01-12 22:38 ` Oliver Neukum
2003-01-12 22:42 ` romieu
2003-01-13 1:06 ` Randy Dunlap
2003-01-13 1:21 ` Rob Wilkens
2003-01-13 1:51 ` Nuno Monteiro
2003-01-13 2:19 ` Rob Wilkens
2003-01-13 2:51 ` Marcelo Pacheco
2003-01-13 3:37 ` Rob Wilkens
2003-01-13 4:53 ` Billy Rose
2003-01-13 3:06 ` Jochen Striepe
2003-01-13 3:40 ` Rob Wilkens
2003-01-13 9:45 ` Matti Aarnio
2003-01-13 3:48 ` Ryan Anderson
2003-01-13 4:37 ` Billy Rose
2003-01-12 22:06 ` Oliver Neukum
2003-01-12 22:22 ` Rob Wilkens
2003-01-12 22:43 ` Oliver Neukum
2003-01-12 22:51 ` Rob Wilkens
2003-01-12 23:00 ` Robert Love
2003-01-12 23:16 ` Rob Wilkens
2003-01-12 23:16 ` Nicolas Pitre
2003-01-12 23:05 ` Emiliano Gabrielli
2003-01-12 23:23 ` Oliver Neukum
2003-01-12 23:45 ` Emiliano Gabrielli
2003-01-12 23:45 ` Emiliano Gabrielli
2003-01-13 20:01 ` Horst von Brand
2003-01-12 23:16 ` Oliver Neukum
2003-01-13 2:00 ` Ryan Anderson
2003-01-13 3:09 ` Rob Wilkens
2003-01-14 2:13 ` Rik van Riel
2003-01-12 22:58 ` Robert Love
2003-01-12 22:28 ` Matti Aarnio
2003-01-13 1:26 ` David Lang
2003-01-13 2:00 ` William Lee Irwin III
2003-01-13 11:08 ` How to avoid the woord 'goto' (was Re: any chance of 2.6.0-test*?) Bernd Petrovitsch
2003-01-13 14:56 ` Rob Wilkens
2003-01-13 22:02 ` any chance of 2.6.0-test*? Val Henson
2003-01-13 10:32 ` gotos in kernel [Was: Re: any chance of 2.6.0-test*?] Horst von Brand
2003-01-13 14:53 ` Rob Wilkens
2003-01-13 13:08 ` any chance of 2.6.0-test*? Dave Jones
2003-01-13 13:40 ` Andrew Walrond
2003-01-13 13:49 ` Oliver Neukum
2003-01-14 6:52 ` Bruce Harada
2003-01-14 7:12 ` Brian Tinsley
2003-01-13 15:23 ` Richard B. Johnson
2003-01-13 6:23 ` Greg KH
2003-01-13 16:35 ` Linus Torvalds
2003-01-13 18:33 ` Alan Cox
2003-01-13 18:01 ` Linus Torvalds
2003-01-13 19:17 ` Andrew McGregor
2003-01-12 17:37 ` Russell King
2003-01-13 1:08 ` Michael Kingsbury
2003-01-13 1:52 ` William Lee Irwin III
-- strict thread matches above, loose matches on Subject: below --
2003-01-10 16:39 Shawn Starr
2003-01-10 17:00 ` Dave Jones
2003-01-11 20:10 ` Horst von Brand
[not found] <20030110144325.T26554@parcelfarce.linux.theplanet.co.uk>
[not found] ` <20030110.130023.08256524.davem@redhat.com>
2003-01-10 21:48 ` Matthew Wilcox
[not found] <20030110165441$1a8a@gated-at.bofh.it>
[not found] ` <20030110165505$38d9@gated-at.bofh.it>
2003-01-11 12:27 ` Andi Kleen
2003-01-11 13:01 ` Russell King
2003-01-11 13:13 ` Andi Kleen
2003-01-11 14:39 ` Alan Cox
2003-01-11 14:06 ` Andi Kleen
2003-01-11 15:31 ` Alan Cox
2003-01-11 15:25 ` Andi Kleen
2003-01-11 19:18 ` Alan Cox
2003-01-13 3:33 ` Paul Mackerras
2003-01-13 14:59 ` Alan Cox
2003-01-13 18:36 ` Benjamin Herrenschmidt
2003-01-19 16:05 ` Pavel Machek
2003-01-12 18:02 David Truog
[not found] <3C6BEE8B5E1BAC42905A93F13004E8AB017DE60F@mailse01.axis.se>
2003-01-12 20:58 ` Rob Wilkens
2003-01-13 20:37 Manfred Spraul
2003-01-13 22:37 Albert D. Cahalan
[not found] <20030112201009$1534@gated-at.bofh.it>
[not found] ` <20030112204005$7287@gated-at.bofh.it>
2003-01-14 19:53 ` Kai Henningsen
2003-01-15 15:07 ` Scott Robert Ladd
2003-01-15 15:18 ` Marcelo Pacheco
2003-01-18 10:12 ` Kai Henningsen
2003-01-15 19:44 ` Werner Almesberger
[not found] <20030112205008$7a5d@gated-at.bofh.it>
[not found] ` <20030113112009$52fd@gated-at.bofh.it>
[not found] ` <20030113144017$68de@gated-at.bofh.it>
2003-01-14 20:01 ` Kai Henningsen
[not found] <20030112193012$71b2@gated-at.bofh.it>
[not found] ` <20030113020015$6883@gated-at.bofh.it>
[not found] ` <20030113023015$66a6@gated-at.bofh.it>
[not found] ` <20030113030011$6563@gated-at.bofh.it>
[not found] ` <20030113035007$451e@gated-at.bofh.it>
2003-01-14 20:18 ` Kai Henningsen
[not found] <20030113001006$005c@gated-at.bofh.it>
[not found] ` <20030113005007$4766@gated-at.bofh.it>
[not found] ` <20030113170014$20a1@gated-at.bofh.it>
2003-01-18 10:21 ` Kai Henningsen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3E21CE0F.4020401@blue-labs.org \
--to=david+cert@blue-labs.org \
--cc=ben@kalifornia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=robw@optonline.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox