From: ok@goanna.cs.rmit.edu.au (Richard A. O'Keefe)
Subject: Re: Coding for Obscurity
Date: 1997/11/24
Date: 1997-11-24T00:00:00+00:00 [thread overview]
Message-ID: <65b6ns$kok$1@goanna.cs.rmit.edu.au> (raw)
In-Reply-To: 34741AAF.1C7@CWA.de
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1492 bytes --]
Stephan Wilms <Stephan.Wilms@CWA.de> writes:
>In detail: I would reqrite the first example like this:
> /* Sensible comment about what get's allocated. */
> if ( to == NULL )
> {
> to = malloc( sizeof *to);
> if ( to == NULL ) return NULL;
> }
I would be rather unhappy at _any_ of these being common in my C code.
One thing I would very much like to have in C is a '* __nonnull__' form.
One thing I love about LC-Lint is that it distinguishes between
sometype *p; /* p should not be null */
sometype */*@null@*/ q; /* q may or may not be null */
The reason that I dislike the C fragment above is that when you are forced
to do manual memory management, you have to be absolutely clear about who
`owns' a dynamically allocated object and who doesn't. This fragment
muddies that up. If you could specify in the interface that to _couldn't_
be NULL on entry, then you wouldn't have to patch around the problem at
run time.
By the way, I regard this as a defect in Ada as well. Ada was supposed to
allow for garbage collection, but with the exception of a couple of recent
Ada->JVM compilers, this hasn't happened. Since you _do_ have to do manual
memory management in practice, it is a pity that the language doesn't provide
more compile-time help for getting it right. Perhaps Ada 2007 could borrow a
few ideas from LC-Lint.
--
John �neas Byron O'Keefe; 1921/02/04-1997/09/27; TLG,TLTA,BBTNOTL.
Richard A. O'Keefe; RMIT Comp.Sci; http://www.cs.rmit.edu.au/%7Eok
next prev parent reply other threads:[~1997-11-24 0:00 UTC|newest]
Thread overview: 147+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <343fbb5a.0@news.iprolink.ch>
1997-10-11 0:00 ` Programming language vote - results Gary L. Scott
1997-10-12 0:00 ` Jack Rudd
1997-10-13 0:00 ` Robert Munck
1997-10-13 0:00 ` Gary L. Scott
1997-10-13 0:00 ` Jack Rudd
1997-10-13 0:00 ` Gary L. Scott
1997-10-13 0:00 ` safetran
1997-10-13 0:00 ` FRS DES
1997-10-13 0:00 ` Jack Rudd
1997-10-14 0:00 ` Philip Brashear
1997-10-14 0:00 ` Gary L. Scott
[not found] ` <3442B745.5352@lmco.com>
1997-10-15 0:00 ` Gary L. Scott
1997-10-16 0:00 ` James Giles
1997-10-16 0:00 ` Andrew Haley
1997-10-13 0:00 ` David Ness
1997-10-14 0:00 ` Randy MacDonald
1997-10-14 0:00 ` Jan Karman
1997-10-15 0:00 ` Alan E & Carmel J Brain
1997-10-15 0:00 ` D'Arcy J.M. Cain
1997-10-15 0:00 ` Mark Stephen
1997-10-17 0:00 ` Randy MacDonald
1997-10-15 0:00 ` FRS DES
1997-10-16 0:00 ` Randy MacDonald
1997-10-16 0:00 ` Alan E & Carmel J Brain
1997-10-16 0:00 ` FRS DES
1997-10-17 0:00 ` Jerry van Dijk
1997-10-16 0:00 ` John Sullivan
1997-10-17 0:00 ` Alan E & Carmel J Brain
1997-10-17 0:00 ` John Sullivan
1997-10-17 0:00 ` Randy MacDonald
1997-10-17 0:00 ` Randy MacDonald
1997-10-20 0:00 ` Alan E & Carmel J Brain
1997-10-20 0:00 ` FRS DES
1997-10-21 0:00 ` Alan E & Carmel J Brain
1997-10-20 0:00 ` Lawrence Kirby
1997-10-20 0:00 ` Kaz
1997-10-21 0:00 ` Alan E & Carmel J Brain
1997-10-23 0:00 ` Ada Readability (Re: Programming language vote - results) Ray Blaak
1997-10-21 0:00 ` Programming language vote - results Alan E & Carmel J Brain
1997-10-21 0:00 ` Randy MacDonald
1997-10-22 0:00 ` Don Guinn
[not found] ` <01bce1bf$5c2baaa0$95b66bcf@dkelly.ark.com>
1997-10-29 0:00 ` Don Guinn
1997-10-29 0:00 ` Shmuel (Seymour J.) Metz
1997-10-31 0:00 ` Documenting Code (was:Programming language vote - results) Alan E & Carmel J Brain
1997-10-30 0:00 ` Charles Lin
1997-10-30 0:00 ` James L. Ryan
1997-10-31 0:00 ` Robert Bernecky
1997-10-31 0:00 ` Robert Bernecky
1997-11-01 0:00 ` Randy MacDonald
1997-11-01 0:00 ` Robert Dewar
1997-11-03 0:00 ` Jon S Anthony
1997-10-29 0:00 ` Programming language vote - results FRS DES
1997-10-29 0:00 ` Randy MacDonald
1997-10-25 0:00 ` Alan E & Carmel J Brain
1997-10-26 0:00 ` functionality of Java (was Re: Programming language vote - results) Randy MacDonald
1997-10-23 0:00 ` Programming language vote - results Jack Rudd
1997-10-25 0:00 ` Alan E & Carmel J Brain
1997-10-25 0:00 ` Kaz
1997-10-26 0:00 ` FRS DES
1997-10-27 0:00 ` Robert Bernecky
1997-10-27 0:00 ` APL argument W. Wesley Groleau x4923
1997-10-28 0:00 ` Randy MacDonald
1997-10-28 0:00 ` Programming language vote - results Jan Karman
1997-10-28 0:00 ` Robert Bernecky
1997-10-28 0:00 ` James L. Ryan
1997-10-29 0:00 ` Robert Bernecky
[not found] ` <bosworth-2910972044300001@access59.accsyst.com>
1997-10-30 0:00 ` Robert Bernecky
1997-10-30 0:00 ` James L. Ryan
1997-10-31 0:00 ` Robert Bernecky
1997-10-31 0:00 ` James L. Ryan
1997-10-29 0:00 ` Jack Rudd
1997-10-25 0:00 ` Peter Seebach
1997-11-18 0:00 ` Ingemar Ragnemalm
1997-11-18 0:00 ` Lawrence Kirby
1997-11-24 0:00 ` Martin M Dowie
1997-11-25 0:00 ` Mark Wilden
1997-11-25 0:00 ` Martin M Dowie
1997-11-26 0:00 ` Lawrence Kirby
1997-11-26 0:00 ` FRS DES
1997-11-25 0:00 ` Kaz Kylheku
1997-11-26 0:00 ` Peter Seebach
1997-12-02 0:00 ` ANDREAS LEITNER
1997-12-02 0:00 ` Lawrence Kirby
1997-12-03 0:00 ` Billy Chambless
1997-12-03 0:00 ` Robert Dewar
1997-12-02 0:00 ` Robert Dewar
1997-12-05 0:00 ` John Sullivan
1997-11-18 0:00 ` Kevin Swan
1997-11-29 0:00 ` Ingemar Ragnemalm
1998-09-10 0:00 ` Steven Katz
1997-11-18 0:00 ` firewind
1997-11-18 0:00 ` Kevin Swan
1997-11-19 0:00 ` Alan E & Carmel J Brain
1997-11-18 0:00 ` Larry Elmore
1997-11-20 0:00 ` firewind
1997-11-19 0:00 ` Mike Smith
1997-11-19 0:00 ` Matt
1997-11-20 0:00 ` firewind
[not found] ` <3474C71B.536B12F6@cgocable.net>
1997-11-21 0:00 ` CVigue
1997-11-23 0:00 ` Lawrence Kirby
1997-11-24 0:00 ` FRS DES
1997-11-20 0:00 ` Terry Richards
1997-11-20 0:00 ` Andy Knight
1997-11-23 0:00 ` Alex Krol
1997-11-25 0:00 ` William Tanksley
1997-11-26 0:00 ` Ron Natalie
1997-11-27 0:00 ` William Tanksley
1997-11-27 0:00 ` Lawrence Kirby
[not found] ` <65keij$mkd$1@nerd.apk.net>
1997-11-27 0:00 ` Kaz Kylheku
1997-11-28 0:00 ` Shmuel (Seymour J.) Metz
1997-12-01 0:00 ` FRS DES
1997-11-20 0:00 ` Andy Knight
1997-11-20 0:00 ` firewind
1997-11-20 0:00 ` Coding for Obscurity Alan E & Carmel J Brain
1997-11-20 0:00 ` Stephan Wilms
1997-11-21 0:00 ` Jos A. Horsmeier
1997-11-23 0:00 ` Alex Krol
1997-11-24 0:00 ` Jim Johnson
1997-11-24 0:00 ` Mark Wilden
1997-11-26 0:00 ` Robert S. White
1997-11-26 0:00 ` Miguel Carrasquer Vidal
1997-12-01 0:00 ` ISONE
1997-12-01 0:00 ` ISONE
1997-11-26 0:00 ` Mark Wilden
1997-11-26 0:00 ` Leon Jones
1997-11-26 0:00 ` Ron Natalie
1997-11-27 0:00 ` Joerg Rodemann
1997-11-26 0:00 ` Lawrence Kirby
1997-11-27 0:00 ` Richard A. O'Keefe
1997-11-23 0:00 ` Al Christians
1997-11-24 0:00 ` Richard A. O'Keefe [this message]
1997-11-24 0:00 ` Matt
1997-11-24 0:00 ` Ed Falis
1997-11-24 0:00 ` Samuel T. Harris
1997-11-24 0:00 ` Jon S Anthony
1997-11-25 0:00 ` Samuel T. Harris
1997-11-20 0:00 ` firewind
1997-11-20 0:00 ` Jos A. Horsmeier
1997-11-19 0:00 ` Programming language vote - results Peter Seebach
1997-11-19 0:00 ` Alan E & Carmel J Brain
[not found] ` <01bcdad2$fa9fdf60$25a43a91@basil.omroep.nl>
1997-10-17 0:00 ` D'Arcy J.M. Cain
1997-10-17 0:00 ` Robert I. Eachus
1997-10-13 0:00 ` Matthew Heaney
1997-10-14 0:00 ` Gary L. Scott
1997-10-13 0:00 ` Robert S. White
1997-10-13 0:00 ` Gary L. Scott
1997-10-19 0:00 ` William Rapp
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox