[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::languages

Title:Languages
Notice:Speaking In Tongues
Moderator:TLE::TOKLAS::FELDMAN
Created:Sat Jan 25 1986
Last Modified:Wed May 21 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:394
Total number of notes:2683

19.0. "ADA in DEC" by VLNVAX::RDF () Thu Jun 07 1984 10:08

After picking up a few books on ADA and seeing some of what you can do 
with it, I was wondering what central engineerings plans are for using
ADA in software products and whether it is a suitable addition to the 
C/BLISS/MACRO triad we seem to have now.

Without turning into a BLISS vs C vs ADA flame session, where does ADA
excel and where does it fall on its face?

Rick
T.RTitleUserPersonal
Name
DateLines
19.1ORPHAN::BRETTThu Jun 07 1984 21:3755
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...