[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Python or Perl for a Debian maintainance project?



On Tue, Feb 17, 2004 at 01:54:53PM -0600, Kenneth Pronovici wrote:
> On Tue, Feb 17, 2004 at 07:21:00PM +0000, Will Newton wrote:
> > On Tuesday 17 Feb 2004 4:58 pm, Andrew Suffield wrote:
> > 
> > > > void shoe()
> > > > {
> > > >   /* Do some complicated stuff */
> > > >   if (foo == NULL)
> > > > 	goto cleanup;
> > > >   /* Continue complicated stuff */
> > > >   if (bar == 3)
> > > > 	goto cleanup;
> > > >
> > > > cleanup:
> > > >   /* Cleanup */
> > > > }
> > >
> > > Good grief, that's *terrible* C. Don't do things like that. The
> > > problem here is not a lack of exceptions, it's just bad code. As
> > > usual.
> > 
> > As usual? OK.
> > 
> > That is an often used convention, used by many substantial pieces of C code 
> > that you are running on your system right now. Admittedly it is much more 
> > often used in system level situations than application code. 
> 
> In fact, K&R even recommends this approach when cleanup is required, so
> it's not as if there isn't precedent:
>    
>    This organization is handy if the error-handling code is non-trivial,
>    and if errors can occur in several places. [1]

K&R is a veritable tome of bad advice. It really should be avoided;
it's horribly outdated. Optimising compilers have obsoleted most of
it (at the time when it was written, function calls weren't cheap).

-- 
  .''`.  ** Debian GNU/Linux ** | Andrew Suffield
 : :' :  http://www.debian.org/ |
 `. `'                          |
   `-             -><-          |

Attachment: signature.asc
Description: Digital signature


Reply to: