comp.lang.ada
 help / color / mirror / Atom feed
From: "Ehud Lamm" <mslamm@mscc.huji.ac.il>
Subject: Re: Another important feature of Ada
Date: Mon, 20 Nov 2000 09:43:55 +0200
Date: 2000-11-20T09:43:55+02:00	[thread overview]
Message-ID: <8vakr3$s0h$1@news.huji.ac.il> (raw)
In-Reply-To: 8va2tf$c9l$1@nnrp1.deja.com



Robert Dewar <robert_dewar@my-deja.com> wrote in message
news:8va2tf$c9l$1@nnrp1.deja.com...
> In article <u66ljih85.fsf@infomatch.com>,
>   Ray Blaak <blaak@infomatch.com> wrote:
>
> > It sounds good on paper, but in my experience almost all
> > interfaces need some modification after coding starts and
> > people can actually start using it.
>
> That's too pessimistic in the opposite direction. Whether
> interfaces can remain stable depends on several things:
>
[snip]
>
> Certainly I can give a counter example. In the mid 70's I
> did a real time operating system, PD/FMS for Incoterm/Honeywell.
> Itwas roughly similar to say the VxWorks kernel, with a complete
> set of tools (assemblers, linkers, file system including full
> indexed files, system utilities, editor, shells etc) to support
> program development.

[snip]
>
> The way I proceeded was first to write the entire programmers
> reference manual for the kernel with full details of all
> callings sequences for thread scheduling etc, and the full
> users manual for the program development system. These manuals
> were edited into something very close to the final form in which
> they were delivered to customers, with discussion on details
> *before a single line of code was written*, and the only changes
> were very minor (mostly style editing) from then to the final
> release.

This reminds my of Brook's discussion of OS/360 in the "The Mythical
Man-Month."
I totally agree with the approach you describe.
One thing I think important to consider is that there are several levels of
interfaces inside a (complex) SW system. I am still not sure that they are
all really in the same family, aside from the very general trait of being
interfaces. Some interface, as we all know, are between two internal
components. Indeed, one thing I find problematic for some students is
realizing that even if a component is internal, it had better be documented
(at least in a cursory way), and seperated from the code using it (even if
there is currently one user).

Why am I belaboring all of this?  Becuase the "low level" internal
interfaces are usually those that people tend to think can be changed
(sometimes each day...), and they are usually those that seem not to be
documented. Survey: How many sw projects that use stacks, document their
"stack" interface (assume these stacks are invisible to users)?
Not that I am saying this is good SE. But we should realize this happens,
even in pretty well organized projects (not the best, but many good
projects).

I am wonderring about enhancing the support for different levels of
interfaces. My gut feeling is that the current state of the art in language
design is not there yet.
(Of course, as you example shows, you can do it all - and well - in assembly
language).


--
Ehud Lamm   mslamm@mscc.huji.ac.il
http://purl.oclc.org/NET/ehudlamm <==  Me!








  reply	other threads:[~2000-11-20  7:43 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-11-15  3:32 Another important feature of Ada James Rogers
2000-11-15  0:00 ` mjsilva
2000-11-15  0:00   ` Brian Rogoff
2000-11-17  0:00     ` Scott Ingram
2000-11-15  0:00 ` Mark T
2000-11-15  0:00   ` Tucker Taft
2000-11-15  0:00     ` Ed Falis
2000-11-17  0:00       ` Jean-Pierre Rosen
2000-11-18  0:00         ` Ed Falis
2000-11-18  0:00           ` Karel Thoenissen
2000-11-18  0:00           ` pete
2000-11-19  0:00             ` James Rogers
2000-11-19  0:00               ` Ray Blaak
2000-11-20  2:39                 ` Robert Dewar
2000-11-20  7:43                   ` Ehud Lamm [this message]
2000-11-21  0:00                   ` Ray Blaak
2000-11-21  0:00                     ` Robert Dewar
2000-11-20  7:47                 ` Ehud Lamm
2000-11-19  0:00               ` David Starner
2000-11-19  0:00             ` Jean-Pierre Rosen
2000-11-15  0:00     ` Laurent Guerby
2000-11-19  0:00 ` Lao Xiao Hai
2000-11-20  0:00 ` Michel Gauthier
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox