In article <39EB283A.9F7B4F76@motorola.com>,
Igor Kovalenko <Igor.Kovalenko@motorola.com> wrote:
Summarizing what you and others replied, it looks like
everything is
cool with Ada. Just wondering why it is not yet really
resurrected and
blooming and shining in all its glory.
perhaps because mere technical superiority is not enough.
Remember that the really successful programming languages
in terms of usage (COBOL, Visual Basic, and I guess even
Excel Macro language should count) do not succeed solely
because of technical excellence, but because of historical
factors.
After all Fortran succeeded over Algol-60, and for SURE
that was not a matter of superiority of language. I also
note that Windows-9X succeeded over OS/2, which is even
more surprising.
Technical folks always suppose that technical excellence
is enough to succeed in the market place. I would have
thought that the dominance of Microsoft in the operating
system arena (even in the MS DOS days!) would have perhaps
reminded people that this is not the case, but …
Perhaps my personal doubts aren’t that personal, huh?
and perhaps they most certainly are, a lot of decisions are
made on the basis of uninformed personal prejudice of the
kind you exhibited.
Nobody appears to write an OS in Ada, being so good for
system level work.
Actually Ada would be an excellent technical choice for writing
an operating system, the reason that the current operating
systems are written in some other language is mostly historical.
And by the way, many people say that GCC does not generate
good code for C
Well many people say all sorts of unsupported things (you
demonstrate this principle in your post), but that does not
mean much. How does gcc compare with other compilers? Well
it varies from target to target, it is also pretty hard to
judge in some cases, since many proprietary compilers have
been specialized carefully to the SPEC suite, and this has
not been done for GCC. So you need to be careful what you
are comparing.
Even if you do use the SPEC suite to compare, gcc often does
quite well in the comparison. There are certainly cases where
gcc does better than other compilers, and there are cases
where it does worse, and of course things are a moving target
because gcc is constantly being worked on, and more and more
major development depends on gcc (many large scale C users,
e.g. AOL, at this stage have standardized on the use of gcc,
and large system houses like HP and Sun are definitely paying
attention to gcc performance).
So I’m kinda
curious how does GNAT manage to generate good code for such a
more
complex language as Ada.
It would be easy to satisfy your curiosity, the compiler and
sources are out there.
Aside from code generation itself, how do they
manage to implement things like rendesvous in an efficient AND
portable
way? Such things normally belong to system-dependent runtime
libraries,
but in Ada they are part of language and having no proof I
nevertheless
suspect that they are implemented by trading efficiency for
portability.
You suspect wrong, in fact RV is programmed using standard
POSIX primitives that are typically available on all commonly
used systems. Now of course RV is a fairly high level
abstraction, which you use if you want to abstract at this
level. If you want lower level things, then you use them
in Ada (indeed there is nothing to stop you using any
low level system dependent gizmo that you would use in
C if you like).
In general you seem a bit too willing to substitute your
ill-informed guesses for facts.
It could be that I simply don’t know enough and miss
something.
Yup, it could be 
Would be
glad to be enlightened > 
As I say, the sources for GNAT are out there, you are welcome
to work on enlightenment!
Sent via Deja.com http://www.deja.com/
Before you buy.