| I believe Ada has been approved as an implementation language, along with
Bliss, Macro, PL/I, C?, others?
Ada is fundamentally different from Bliss or Pascal in the following areas...
(1) Multi-tasking
(2) dynamic bounds for arrays, which is part of...
(3) much less insistence on expressions having to be compile-time-constant
(4) Default expressions on subprogram calls
(5) Overloading of subprograms
It is simpler to use in the following areas
(1) Exceptions = conditions
(2) Separate compilation [[the library does a lot more for you in terms
of cross-module checks, automatic recompilation, automatic linking]]
It is a superset of Pascal. Some of the areas in which it is a superset we do
not have the technology to produce as good quality code as would be desireable.
The code for the Pascal subset should be fairly equivalent to that produced by
Pascal.
It was explicitly NOT designed to be compiled ON micros - cross-compilation is
the order of the day. Don't believe the claims in BYTE and other magazines of
Ada on your Z80 - it ain't gonna happen. However compilers targetted to micros
are already being built.
It is weaker than BLISS in the areas of macros - generics are weaker but more
more in keeping with the idea of a high-level language. [[Don't get me wrong, I
love BLISS macros and would love something along their line in Ada]]. It is
also weaker in that you can't have 'arrays of routines' like you can in Bliss.
These two areas are unfortunate - I believe they are going to hinder Ada's use
as a compiler implementation language, or at least force a big rethink of the
way we build compilers. Maybe a two-step approach will work fine.
tables --> utility --> Ada-source-of-compiler -->
Ada's memory management is poor - the lifetime of a heap is lexically specified.
This is have to be addressed before Ada is good for compiler writing.
IN SUMMARY.
Pascal < Ada < Bliss is how I would rate them as a general implementation
languages IN 18 MONTHS FROM NOW. Right now you don't have an Ada compiler
on VAX worth mentioning...
We need experience in using Ada to pick up and fix some of the weak points.
It will take a while to produce a GOOD optimizing compiler for Ada - it is
stretching our current technology to the limits just to get a compiler that
produces code that isn't too attrocious in the simple cases. Mind you,
it will be in the same ballpark as the other VMS compilers...
|