[comp.sys.amiga] Ada for Ami

chevy@loligo (CC) (11/11/89)

This is a re-post for a friend.  Please submit all replies to the Reply-To:
address in the header.

In article <7381@ingr.com> phil@ingr.UUCP (Phil Johnson) writes:
| 
| I have spoken to R and R Software, JANUS Ada compiler, and was told if they
| had enough request for an Amiga port they would definitly consider it.  JANUS
| is a fully validated compiler and it sells for about US$300 for their baby
| blue version.  The next cheapest validated compiler I found was US$2,300.
| If anyone is interested email you response to me and I will compile (?) them
| and forward to R and R.
| 
| 
| -- 
| Philip E. Johnson                    UUCP:  usenet!ingr!b3!sys_7a!phil
| MY words,                           VOICE:  (205) 772-2497
| MY opinion!

Here at FSU, I am currently in a Real-Time Systems class where we use the Janus
Ada Compiler on some Mitsuba 386 boxes under MS-DOS, and so far I have had the
worst experiences with that setup.  Although I'm not sure what version we're
running offhand, but so far here's a list of problems I've run into using it:

1. Tasking -- This is a standard Ada feature, yet we have yet to get our
   tasking mechanisms to work correctly.  Also, many of the pragmas of Ada are
   not recognized.  Perhaps this is due to the fact the Janus compiler is an
   attempt to implement a multiprogramming language on a singly-processing OS.

2. Speed -- Even on our 25 MHz 386's with fast hard disks, compilation still
   takes 2-3 minutes for our short modules (less than five pages of code) (God,
   I sound like I'm a "WAAH! I DON'T GET INSTANTANEOUS RESPONSE ON MY NETWORK!"
   type ... :-).  This may be due to the fact that Ada is such a large language
   but still for our simple programs this should not take an inordinate amount
   of time.

3. Multi-Language Links -- The Janus Ada compiler comes with its own assembler
   ("JASM"), which is interesting, but pretty incompatible with most other
   assemblers (MASM and TASM anyway).  It is an attempt to combine assembly
   into the structure of Ada, which makes it useful but very hardware specific.
   Linking into other languages is comparably more difficult than it should
   be.

4. Optimization -- The compiler tends to be over-ambitious in its
   optimization.  For instance, as one of our first assignments, we had to
   write a package to implement a real-time clock.  We were given a procedure
   called SWAP_TICK_HANDLER which would change the clock to call our handlers
   instead of the normal one.  The handler was just a procedure, and the call
   looked like SWAP_TICK_HANDLER(Our_Handler'Address).  However, the compiler,
   seeing that the Our_Handler routine was never *explicitly* called, the
   compiler simply optimized the code away, even though the procedure (or at
   least one of its attributes) was used explicitly.

These are just a few of the problems we've encountered in our limited use of
the compiler.  On the whole, I'm not terribly happy with it.  There are a few
things that the Amiga could do (such as implement the tasking better), but I'd
rather go with some other compiler ... something that is faster and easier to
use (you would not believe the number of command line switches you can give to
just about any one of the Janus support programs).

Anyone else used the Janus system?  How about any other systems, even for Suns,
VAXen, ... ?  What do you think?

Eric
--
  . |~~
 _O_]
[ V    Eric J. Peterson ... peterson@nu.cs.fsu.edu
_< >_  Ada is a registered something or other of someone or other.

Jeff Bauer					bauer@loligo.cc.fsu.edu
Control Data Corporation			(904) 644-2591 ext. 113