From: jsa@alexandria.organon.com (Jon S Anthony)
Subject: Re: Design By Contract
Date: 1997/08/29
Date: 1997-08-29T00:00:00+00:00 [thread overview]
Message-ID: <JSA.97Aug29150908@alexandria.organon.com> (raw)
In-Reply-To: EFnoJv.1vx@syd.csa.com.au
In article <EFnoJv.1vx@syd.csa.com.au> nospam@thanks.com.au (Don Harrison) writes:
> :Isn't that exactly the point? Why should a client be able to see the
> :actual structure, aka implementation????
>
> No, the point is that there is no need to hide the structure of an attribute
> so long as it's read-only (look-but-don't-touch). These semantics allow you
> to query components of visible objects directly:
I'm not convinced that is sufficient. Knowing the structure can lead
one into writing things that still depend on it (efficiency hacks come
quickly to mind).
> I prefer the Eiffel model because:
>
> - It's simple and direct.
> - It doesn't clutter the spec and body with functions.
> - It doesn't force you to invent multiple identifiers (one of which has
> a contrived name: "the_a" above).
Fine. Of course, all of these are simply _subjective_
characterizations. If that is what floats your boat - go for it.
> IMO, the other possibilities for attributes in Ada are unattractive
> because they are either too permissive (look-and-touch - attributes
> declared in the visible part of the spec) or too restrictive
> (don't-look-don't touch - private attributes).
Again, this is simply personal perspective. It may mean a lot to you,
but you should be aware that this subjective stuff ("unattractive"
"too permissive" "too restrictive") is just opinion and preference and
that others may well view _your_ preferences as "unattractive", "too
permissive" and "too restrictive". There just is no consistent
objective criteria here. And no amount of saying it's so will make it
so.
/Jon
--
Jon Anthony
OMI, Belmont, MA 02178, 617.484.3383
"Nightmares - Ha! The way my life's been going lately,
Who'd notice?" -- Londo Mollari
next prev parent reply other threads:[~1997-08-29 0:00 UTC|newest]
Thread overview: 106+ messages / expand[flat|nested] mbox.gz Atom feed top
1997-08-21 0:00 Critique of Ariane 5 paper (finally!) aek
[not found] ` <33FC66AD.9A0799D4@calfp.co.uk>
1997-08-22 0:00 ` Robert S. White
1997-08-22 0:00 ` Samuel Mize
1997-08-22 0:00 ` Samuel Mize
1997-08-23 0:00 ` Ken Garlington
[not found] ` <33FFA4B1.3543@flash.net>
1997-08-26 0:00 ` Nick Leaton
[not found] ` <3403940F.4154@pseserv3.fw.hac.com>
1997-08-27 0:00 ` Design By Contract Ted Velkoff
[not found] ` <5u3c6v$gtf$2@miranda.gmrc.gecm.com>
1997-08-28 0:00 ` Patrick Doyle
1997-09-06 0:00 ` Joachim Durchholz
1997-09-06 0:00 ` Patrick Doyle
[not found] ` <34058808.3BF@pseserv3.fw.hac.com>
1997-08-28 0:00 ` Darren New
[not found] ` <JSA.97Aug27180328@alexandria.organon.com>
1997-08-28 0:00 ` W. Wesley Groleau x4923
1997-09-03 0:00 ` Don Harrison
1997-09-03 0:00 ` Jon S Anthony
1997-09-04 0:00 ` Don Harrison
[not found] ` <EFM140.Fy9@syd.csa.com.au>
1997-08-28 0:00 ` Jon S Anthony
1997-08-29 0:00 ` Don Harrison
1997-08-29 0:00 ` Jon S Anthony [this message]
[not found] ` <EFqE8L.4Eq@ecf.toronto.edu>
[not found] ` <JSA.97Aug30145058@alexandria.organon.com>
1997-09-01 0:00 ` Patrick Doyle
1997-09-02 0:00 ` Don Harrison
1997-09-02 0:00 ` Jon S Anthony
1997-09-03 0:00 ` Don Harrison
[not found] ` <JSA.97Sep3201329@alexandria.organon.com>
1997-09-04 0:00 ` Paul Johnson
1997-09-05 0:00 ` Jon S Anthony
[not found] ` <5un58u$9ih$1@gonzo.sun3.iaf.nl>
1997-09-06 0:00 ` Building blocks (Was: Design By Contract) Joachim Durchholz
1997-09-08 0:00 ` Paul Johnson
1997-09-08 0:00 ` Brian Rogoff
1997-09-09 0:00 ` Veli-Pekka Nousiainen
1997-09-09 0:00 ` Jon S Anthony
1997-09-09 0:00 ` Veli-Pekka Nousiainen
1997-09-09 0:00 ` Matthew Heaney
1997-09-09 0:00 ` Brian Rogoff
1997-09-09 0:00 ` W. Wesley Groleau x4923
1997-09-10 0:00 ` Robert A Duff
1997-09-12 0:00 ` Jon S Anthony
1997-09-10 0:00 ` Paul Johnson
1997-09-10 0:00 ` Darren New
1997-09-10 0:00 ` Matthew Heaney
1997-09-10 0:00 ` Robert Dewar
1997-09-12 0:00 ` Paul Johnson
1997-09-14 0:00 ` Robert Dewar
1997-09-14 0:00 ` Robert Dewar
1997-09-15 0:00 ` John G. Volan
1997-09-14 0:00 ` Robert Dewar
1997-09-12 0:00 ` Jon S Anthony
1997-09-12 0:00 ` Robert Dewar
1997-09-16 0:00 ` Brian Rogoff
1997-09-09 0:00 ` W. Wesley Groleau x4923
1997-09-08 0:00 ` Design By Contract Nick Leaton
1997-09-08 0:00 ` Matthew Heaney
1997-09-09 0:00 ` Paul Johnson
[not found] ` <EFzLn7.481@ecf.toronto.edu>
1997-09-04 0:00 ` Jon S Anthony
[not found] ` <EFz0pD.E6n@syd.csa.com.au>
1997-09-05 0:00 ` W. Wesley Groleau x4923
1997-09-05 0:00 ` subjectivity W. Wesley Groleau x4923
1997-09-05 0:00 ` subjectivity Matthew Heaney
1997-09-10 0:00 ` subjectivity Don Harrison
1997-09-12 0:00 ` subjectivity Jon S Anthony
1997-09-16 0:00 ` subjectivity Don Harrison
1997-09-16 0:00 ` subjectivity Jon S Anthony
1997-09-10 0:00 ` subjectivity Don Harrison
1997-09-10 0:00 ` subjectivity W. Wesley Groleau x4923
1997-09-11 0:00 ` subjectivity Don Harrison
1997-09-10 0:00 ` subjectivity W. Wesley Groleau x4923
[not found] ` <JSA.97Sep4172912@alexandria.organon.com>
[not found] ` <EG0oz8.F6M@syd.csa.com.au>
[not found] ` <EG0rp7.GtL@syd.csa.com.au>
1997-09-05 0:00 ` Design By Contract Matthew Heaney
1997-09-05 0:00 ` Jon S Anthony
1997-09-05 0:00 ` Nick Leaton
1997-09-08 0:00 ` Jon S Anthony
1997-09-09 0:00 ` Nick Leaton
1997-09-10 0:00 ` Paul Johnson
1997-09-06 0:00 ` Patrick Doyle
1997-09-09 0:00 ` Robert A Duff
1997-09-09 0:00 ` Matthew Heaney
1997-09-02 0:00 ` Joerg Rodemann
1997-09-02 0:00 ` Jon S Anthony
1997-08-29 0:00 ` Patrick Doyle
1997-08-29 0:00 ` Jon S Anthony
[not found] ` <EFqDw0.3x7@ecf.toronto.edu>
[not found] ` <JSA.97Aug30145354@alexandria.organon.com>
1997-09-01 0:00 ` Patrick Doyle
1997-08-28 0:00 ` Robert Dewar
1997-08-29 0:00 ` Don Harrison
[not found] ` <349224633wnr@eiffel.demon.co.uk>
1997-08-27 0:00 ` Design by Contract Robert Dewar
1997-08-29 0:00 ` Don Harrison
[not found] ` <3406BEF7.2FC3@flash.net>
[not found] ` <3406E0F7.6FF7ED99@calfp.co.uk>
1997-09-02 0:00 ` Critique of Ariane 5 paper (finally!) Ken Garlington
[not found] <5u1627$1fak@info4.rus.uni-stuttgart.de>
[not found] ` <EFM1Lx.GD2@syd.csa.com.au>
1997-08-28 0:00 ` Design by Contract Robert Dewar
-- strict thread matches above, loose matches on Subject: below --
1997-08-07 0:00 Safety-critical development in Ada and Eiffel Ken Garlington
1997-08-12 0:00 ` Don Harrison
1997-08-12 0:00 ` Jon S Anthony
1997-08-13 0:00 ` Ted Velkoff
1997-08-13 0:00 ` Ken Garlington
1997-08-14 0:00 ` Nick Leaton
1997-08-18 0:00 ` Joachim Durchholz
1997-08-19 0:00 ` Ken Garlington
1997-08-21 0:00 ` Joachim Durchholz
1997-08-23 0:00 ` Ken Garlington
[not found] ` <JSA.97Aug25181856@alexandria.organon.com>
[not found] ` <34023A1F.41C67EA6@eiffel.com>
1997-08-25 0:00 ` Design by Contract Bertrand Meyer
[not found] ` <JSA.97Aug26151833@alexandria.organon.com>
1997-08-27 0:00 ` Patrick Doyle
1997-08-25 0:00 ` Bertrand Meyer
1997-08-25 0:00 ` Steve Stringfellow
1997-08-26 0:00 ` Don Harrison
1997-08-25 0:00 ` Bertrand Meyer
[not found] ` <3402d123.0@news.uni-ulm.de>
1997-08-26 0:00 ` Nick Leaton
[not found] ` <3402e51d.0@news.uni-ulm.de>
[not found] ` <3402E8C9.3384D976@calfp.co.uk>
[not found] ` <dewar.872631036@merv>
1997-08-27 0:00 ` Ted Velkoff
1997-08-27 0:00 ` Matt Kennel (Remove 'NOSPAM' to reply)
[not found] ` <34050F3C.5A3A@invest.amp.com.au>
1997-08-28 0:00 ` Robert Dewar
1997-08-29 0:00 ` Paul Johnson
1997-08-31 0:00 ` Matt Kennel (Remove 'NOSPAM' to reply)
1997-09-01 0:00 ` John F. Bell III
1997-09-02 0:00 ` Ken Garlington
1997-09-05 0:00 ` Robert Dewar
[not found] ` <dewar.872887402@merv>
1997-09-02 0:00 ` Ken Garlington
1997-09-03 0:00 ` Thomas Beale
[not found] ` <EFxx8q.2sw@ecf.toronto.edu>
1997-09-04 0:00 ` Thomas Beale
1997-09-05 0:00 ` Robert Dewar
1997-09-05 0:00 ` Ken Garlington
[not found] ` <340306E1.5FB64D70@XYZZYcalfp.com>
1997-08-28 0:00 ` Mark Bennison
[not found] ` <bengtk-2708972209500001@sl35.modempool.kth.se>
1997-08-28 0:00 ` Nick Leaton
1997-08-25 0:00 ` Bertrand Meyer
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox