comp.lang.ada
 help / color / mirror / Atom feed
* Re: Ada Education and Training - Part 3 - (nf)
       [not found] <115097433@ucbvax.UUCP>
@ 1987-05-06  8:56 ` cabo
  0 siblings, 0 replies; only message in thread
From: cabo @ 1987-05-06  8:56 UTC (permalink / raw)


In an otherwise very reasonable article in comp.lang.ada,
ucbvax!EBERARD (probably wrong address) writes:

() [...] K&R stresses the age old thinking which
() says that students of software must see, write, and execute code
() before anything else will be meaningful. Booch, on the other hand,
() stresses that students should know what they are doing before they
() attempt to write code. The K&R approach has its roots in software
() antiquity.

K&R is a book about a programming language (a good one at that, by the way).
Grady Booch's book is a book about software design in a programming language.
These are two entirely separate subjects.  You can learn software engineering
methods without learning the syntax of the Ada language at the same time,
and you can learn programming in C without simultaneously learning software
engineering methods.

A book that both teaches software engineering and a programming language
seems to assume that the intended audience still needs to learn both subjects.
Probably a reasonable assumption for many people who are now learning Ada.
Even more so in that Ada does have a few fine points that only can be
unleashed in conjunction with knowledge about software engineering.

For the C language novice in 1978 (when K&R was written), such an assumption
would have been invalid; I would have been bored if K&R had placed more
emphasis on the methods I already had been comfortable with in languages like
Simula etc. that I had used before.  Its successor, the book about the C++
language (Bjarne Stroustrup 1986) still assumes some basic knowledge about
software engineering when giving rules of thumb for the use of C++.
The Ada Reference Manual (which is comparable to the reference sections
of both K&R and BS) also does not give any guidelines for design and
testing methods (and we all agree it should not do that), but if you
know anything about design you immediately understand what packages and
all these Ada concepts are about, although these are complex enough that
a good text will help you use the right concept at the right time.

For the software engineering novice (as opposed to the C language
novice that K&R addresses), it is an interesting issue (e.g. see
comp.edu) whether some early experience in simple programming helps
understand software engineering concepts later or just helps people to
start programming without design.

For university education, I still prefer first to learn to put letters
on paper (i.e. programming) before learning to write entire books (i.e.
software design).  However, just being able to put letters on paper
does not make you a writer (i.e. just being able to program does not
make you a programmer).

--
Carsten Bormann, <cabo@tub.UUCP> <cabo@db0tui6.BITNET> <cabo@tub.BITNET>
Communications and Operating Systems Research Group
Technical University of Berlin (West, of course...)

"Das Problem ist nicht, wie man den Ansturm neuer Tendenzen aufhaelt,
 sondern, wie man die rechten Loesungen dafuer findet"  --  Walter Gropius

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~1987-05-06  8:56 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <115097433@ucbvax.UUCP>
1987-05-06  8:56 ` Ada Education and Training - Part 3 - (nf) cabo

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