comp.lang.ada
 help / color / mirror / Atom feed
From: Roy Grimm <ragrimm@bigfoot.com>
Subject: Re: A question for my personal knowledge.
Date: 1999/05/11
Date: 1999-05-11T00:00:00+00:00	[thread overview]
Message-ID: <37387BC6.D1737672@bigfoot.com> (raw)
In-Reply-To: 7h9o21$9v4$1@nnrp1.deja.com

Robert Dewar wrote:
>
> Well I won't disagree with your *should* here (indeed I think
> they should have learned Ada as part of this training, since it
> is a much better introduction to these critical concepts).
> 
> But you are in my experience quite wrong to think that learning
> a new language does not help. On the contrary, switching to a
> new language often illuminates principles that are hard to
> understand in a language that does not support or is actively
> hostile to these principles.

I would concede this point.  I learned much when I went from GW-BASIC to
Turbo Pascal lo those (not too) many years ago.  Of course, that was
before I took any "real programming classes".  I spent much of my time
in the "Intro to Programming" class reviewing what I had already
learned.

> For example, Fortran programmers were quite puzzled by EWD's
> letter to the ACM on gotos, but this was totally familiar to
> all Algol programmers.
> 
> Once you understand the details of separation of spec and
> implementation, you can indeed apply this even in languages
> which are really not very hospitable to the notion, but the
> experience I have seen is that typical C programmers do NOT
> have a good understanding of this separation, and learning
> Ada is very helpful in gaining this understanding.
>
> Roy, what is your experience with Fortran or C programmers
> switching to Ada, does it match this? (indeed, do you have
> direct experience with projects making such a switch?)

I've seen that some experienced programmers (at least half of them) will
not use many of the features of Ada.  In some of the Ada projects here,
I still see everything being laid out as if it was being written in C. 
I suspect that is more an effect that people just learn the Ada syntax
they need or want and ignore the rest.  They try to force the proverbial
square peg into the round hole.  Fortunately, while this attitude is not
uncommon, it is not as pervasive as one might fear.

I have seen some projects (or parts of projects) which have truly
adopted the Ada culture as well as the language.  You could almost call
the code elegant.  The specifications of the packages are really compact
and efficient with minimal use of global variables and procedures. 
Package bodies are as encapsulated as they can be.  All the relevant
local data is kept locally instead of being brought in from global
packages.  The packages have been well organized and the code is easy to
read.  It's truly a joy to work on those projects.  The new engineers on
the project (experienced programmers or college grads) tend to pick up
this attitude.  The dedicated C style programmers often times transfer
to other departments where the culture is more oriented to the C style
(or in fact a C based project...).

I think it really boils down to the attitude of the individual.  They
can either shape the language around their attitude or they can shape
their attitude around the language.  And the individual attitudes many
times draw upon the collective attitude of the team.  The attitudes of
the lead engineers and other "gurus" can have a great deal of influence
over the style of the code being written.

Roy
-- 
"I want you to do it right as fast as you can, not fast as right as you
can."  -- Arthur Collins, founder Collins Radio




  reply	other threads:[~1999-05-11  0:00 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-05-10  0:00 A question for my personal knowledge Siamak Kaveh
1999-05-10  0:00 ` Dan Nagle
1999-05-10  0:00 ` Marin David Condic
1999-05-10  0:00   ` Paul Whittington
1999-05-10  0:00     ` Marin David Condic
1999-05-10  0:00 ` Roy Grimm
1999-05-11  0:00   ` Pascal Obry
1999-05-11  0:00     ` Roy Grimm
1999-05-11  0:00       ` Marin David Condic
1999-05-11  0:00         ` Roy Grimm
1999-05-11  0:00           ` Tucker Taft
1999-05-11  0:00             ` Roy Grimm
1999-05-12  0:00         ` Roger Racine
1999-05-12  0:00           ` Marin David Condic
1999-05-17  0:00             ` Charlie McCutcheon
1999-05-17  0:00               ` Larry Kilgallen
1999-05-17  0:00                 ` Chris
1999-05-17  0:00                   ` Marin David Condic
1999-05-17  0:00               ` Marin David Condic
1999-05-17  0:00             ` Richard D Riehle
1999-05-18  0:00               ` Marin David Condic
1999-05-18  0:00                 ` bglbv
1999-05-18  0:00                   ` William B. Clodius
1999-05-11  0:00       ` Robert Dewar
1999-05-11  0:00         ` Roy Grimm [this message]
1999-05-12  0:00           ` Robert A Duff
1999-05-11  0:00         ` dennison
1999-05-13  0:00           ` Mike Yoder
1999-05-13  0:00             ` Mike
1999-05-13  0:00               ` Martin C. Carlisle
1999-05-14  0:00               ` Dale Stanbrough
1999-05-13  0:00                 ` Mike
1999-05-13  0:00                   ` Brian Rogoff
1999-05-13  0:00                   ` David Starner
1999-05-18  0:00                     ` Georg Bauhaus
1999-05-14  0:00                   ` Florian Weimer
1999-05-14  0:00                     ` Steve
1999-05-15  0:00                       ` Florian Weimer
1999-05-15  0:00                         ` Matthew Heaney
1999-05-14  0:00                   ` Dale Stanbrough
1999-05-15  0:00                   ` Matthew Heaney
1999-05-18  0:00               ` Richard D Riehle
1999-05-18  0:00                 ` Hyman Rosen
1999-05-18  0:00                   ` Richard D Riehle
1999-05-18  0:00                     ` Hyman Rosen
1999-05-19  0:00                       ` Richard D Riehle
1999-05-10  0:00 ` Sam
1999-05-10  0:00 ` Larry Kilgallen
1999-05-10  0:00   ` Keith Thompson
1999-05-12  0:00     ` Charlie McCutcheon
1999-05-12  0:00       ` Werner Pachler
1999-05-17  0:00         ` Charlie McCutcheon
1999-05-17  0:00           ` bglbv
1999-05-17  0:00             ` Larry Kilgallen
1999-05-18  0:00               ` bglbv
1999-05-19  0:00                 ` Larry Kilgallen
1999-05-11  0:00 ` Jean-Pierre Rosen
1999-05-11  0:00   ` Robert Dewar
replies disabled

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