comp.lang.ada
 help / color / mirror / Atom feed
From: Dale Stanbrough <dale@goanna.cs.rmit.EDU.AU>
Subject: Re: Beware: Rep spec on an enumeration type ...
Date: 1997/12/15
Date: 1997-12-15T00:00:00+00:00	[thread overview]
Message-ID: <6723st$mnt$1@goanna.cs.rmit.edu.au> (raw)
In-Reply-To: gwinn-1212971956440001@dh5055236.res.ray.com


"Well, this certainly allows us to size the problem:  One must have a
 graduate degree in language design and compiler techniques to use Ada. 
 That's quite a revelation.  We would have never suspected that Ada was
 that hard to use.
 
 This gets to the heart of the problem.  Our programmers, being domain
 experts, would rather take graduate degrees in their respective fields of
 interest, in their chosen professions.  If they were interested in being
 compiler experts, they would have instead studied compilers, and they
 would probably work for a compiler vendor, not a system vendor, because
 few system vendors build compilers.  Nor would they be experts at other
 than compilers; there are only so many hours in the day.  Domain expert
 and compiler expert are very different fields."


I think this is a rather pessimisstic intrepretation of what Robert said.
Robert's point, which I agree with, is that if you want to use tools in
your job, you have to understand how to use them, and what their
limitations are.

For example imagine someone who wishes to make films. "I've been to 
director's school, I know how to direct, why do I need to know anything
about how video/film camera's work?". Yet I'm sure you would agree that
you can't film someone with the sun directly in the lens. What about
flare from lights? What other restrictions are there that are placed on
a director by technical limitiations?

Using any technology without understanding it is just inviting disaster,
and this is shown out by your own experience. Yes your software "worked",
but it got tripped up by a bad implementation (it was slower than it
should have been). At the Melbourne TOOLS conference a few years back 
Roger Osmond spoke about his team's experience using Eiffel in building
a data comms box (he was very enthusiastic). However initially his team
found that the software was unbelievably slow because they were 
continually allocating memory, and leaving it to be cleaned up by the 
GC system. In the end the domain experts needed to understand the 
consequences of unfettered allocation in such an environment. They 
needed to understand the technology to be able to use it constructively.

As to your other point, attending a compiler construction course does
not mean you will be a compiler writer - it just means you are familiar
with the issues. It would be helpful if so many more students _did_
attend these classes by the way - it would often help dispel the
"while (!(*p)) { *q++ = *p++} must be more efficient than an Ada for
loop" myth.


Dale




  parent reply	other threads:[~1997-12-15  0:00 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-12-11  0:00 Beware: Rep spec on an enumeration type Joe Gwinn
1997-12-12  0:00 ` Robert Dewar
1997-12-11  0:00   ` Matthew Heaney
1997-12-12  0:00   ` Joe Gwinn
1997-12-13  0:00     ` Robert Dewar
1997-12-15  0:00       ` Joe Gwinn
1997-12-16  0:00         ` Robert Dewar
1997-12-19  0:00           ` Dale Stanbrough
1997-12-15  0:00     ` Dale Stanbrough [this message]
1997-12-17  0:00       ` Dale Stanbrough
replies disabled

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