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
next prev 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