[comp.lang.ada] Janus Ada, etc.

0004238973@MCIMAIL.COM (Frank Pappas) (04/17/91)

In article  <3023@sparko.gwu.edu> seas.gwu.edu!mfeldman@uunet.uu.net
(Michael Feldman) writes

>In article <71910409121517.0004238973NC3EM@mcimail.com> 0004238973@MCIMAIL.COM (Frank Pappas) writes:
>>
>>   I recently saw an ad for a ``new'' Ada compiler for the
>>PC from a company named GEMTECH.  The price of the compiler
>>is $149. DON'T RUSH OFF TO BUY IT. GEMTECH is a company
>>started by AETECH to sell a stripped-down version of its
>>IntegrAda compiler.
>And IntegrAda is a wrapper around Janus Ada. I believe that Meridian's
>examination of the IntegrAda development environment, which isn't too
>bad, may have helped convince them that developing a similar shell
>for OpenAda wasn't a terrible idea.
>

   I agree that OpenAda's shell isn't too bad, but I'm not the least
bit impressed with IntegrAda, which strikes me as an ad hoc
collection of features that haven't been well integrated.

>>and whether or not they really let you write Ada programs
>>the way you want to. For example, unless IntegrAda has
>>changed a drastically in six months, it's tasking capability
>>is so limited, that it is useless. 
>Meaning that priorities are not supported (rather, that all tasks
>have a single priority). No time-slicing either.
> 
>>   Meridian performed a real service a few months ago when
>>it offered Open Ada for $149. Since the GEMTECH offer is
>>based on IntegrAda, I doubt that the same can be said about
>>GEMTECH's offer.
>
>Far be it from me to dump on the Meridian compiler. On the other
>hand, Janus Ada has had a considerable following for a good few
>years. Frank, maybe you are dismissing it too cavalierly?
>Are there other serious weaknesses besides the stripped-down
>tasking model?
>
   No Mike, I don't think I'm being too cavalier in dismissing Janus
Ada.  The explanation as to why I feel this way is a bit lengthy,
requiring a little of background information.
   In the September 1988 issue of IEEE Computer, I reviewed Alsys
DOS/286 Ada, Meridian AdaVantage, and Janus Ada. Alsys left the other
two in the dust. At that time Meridian's compiler was a disaster and
I said so. As for Janus Ada, I called it ``a surprisingly good,
low-cost Ada compiler''.
   Since that time Alsys PC Ada compilers continue to get better and
continue to stay well ahead of their competitors. Alsys compilers let
you use Ada the way it was intended to be used. As I stated in the
1988 review, if you want to create high quality Ada programs on the
PC, Alsys Ada is still the way to go. While Alsys compilers are more
expensive, they are also the best for learning Ada.
   Meridian has really turned their compiler around, and with the
addition of the OpenAda environment, it is my choice for a low-cost
Ada compiler. It's true Meridian occasionally suffers from some
embarrassing problems. For example, as raised in a recent net
posting, if the type mark is omitted from a subtype declaration
containing an integer range constraint, Integer is assumed for the
type mark. That's to be expected when you are turning a poor product
into a good one.
   Meridian is very responsive in fixing problems. I ran into a
problem with tasking in the initial OpenAda release. Mike Feldman's
Dining Philosopher program hung when OpenAda's time-slicing was used.
Meridian fixed the problem early in OpenAda's shipping.
   While OpenAda still isn't the caliber of Alsys' FirstAda, it is
far enough along that someone with a modest budget could write some
reasonable programs. With just a few concessions to the compiler, you
can pretty much use Ada the way it was intended to be used. And
Meridian is trying to catch up with Alsys in quality. OpenAda is also
good for learning Ada.
   Now for Janus Ada. The last time I reviewed this compiler was in
the September 10, 1990 issue of PC Week. I also reviewed IntegrAda,
Meridian's AdaVantage (pre OpenAda), Alsys' FirstAda and DOS/386, and
Telesoft's DOS/386 compilers. (As you said, IntegrAda is just a
wrapper around Janus Ada.) I was expecting to again give Janus Ada a
pretty good review. What I wasn't expecting to find is a compiler
that hadn't substantially changed in two years. I think programmer's
expectations of Ada compilers have changed in two years.  What was
acceptable then isn't necessarily acceptable now.
   What are Janus Ada's deficiencies? Here's a partial list.
Interfacing with DOS requires passing PC registers. (The other
compilers provide subprograms for most DOS BIOS calls). Using arrays
over 64K in size requires using a generic package with GET and PUT
subprograms to read and write array elements (if the code to handle
these arrays is there, the syntactic sugar should be also).  Pragma
INLINE is not supported. Pragma INTERFACE is only supported for
MicroSoft's assembler or the Janus Assembler. (It particular, that
high-level assembler language C, isn't supported.) The code is much
slower than the other compilers, sometimes by a factor of four.  The
problem with tasking was already mentioned in the previous posting.
   These problems were extracted from the PC Week review. Given the
space constraints for the review, and the intended audience, I
thought these were the most appropriate to mention. I know there are
more things about the compiler that I don't like, but since I no
longer have the Janus Ada compiler, I can't recall exactly what they
are, so I'd rather not say at all. But the point is that for a
programmer this compiler just doesn't cut it. It's acceptable, but in
my opinion, only if used in a setting where users understand they
aren't getting real Ada, just validated Ada. No sense turning off
potential Ada users off right from the start.
   One nice feature of PC Week is that they ask vendors for the names
of users and then interview some of them. This acts as a balance in
case the reviewer goes to one extreme or the other. Here's what users
in the two printed interviews said. I'm not sure if it's proper to
include user names and affiliations in this posting, so I won't.
Anyone wanting these details can find them in the review.

First Interview

        ``Because of the platform it runs on, and
        the range of compiler diagnostics, Janus
        Ada is the best compiler to use in training,''
        said ..., data-systems supervisor at ... .
        ... has been using Janus Ada for seven
        years for his own development and as a
        training tool.

        ... He develops code on the PC and then ports
        it to larger systems. ``Janus Ada eliminates
        non-portabilities,'' said ... . ``When I port
        up to VAXes, I only have to make minimal changes.''

        Linking software written in another language
        is a feature that ... noted was not available with
        Janus Ada but would be beneficial.


Second Interview

         ..., software engineer at ..., agreed that Janus
         Ada is the best compiler to be used as a training
         tool, but outside of that realm, he was not happy
         with it.

         ``It is good for someone just starting out [with
         Ada],'' he said, ``but if you need to do serious
         development work, it wouldn't do the job.''


Having worked on portability and reusability issues for five years, I
strongly disagree with the first user.

>Rumor has it that Alsys is going to drop its FirstAda price to
>bring it into Meridian's ballpark. Finally these guys are starting
>to get into a genuine competition. It's long overdue!
>

  The ballpark you're talking about would be that of Meridian's
Professional Development compiler. In that case, anyone wanting a 286
Ada compiler would have to select FirstAda. That would result in
Meridian lowering their price, etc.
   I'm sure Alsys wants to respond to Meridian's price changes, but I
think they are also justified in taking the position that quality is
worth something. From the perspective that low priced / high quality
PC Ada compilers will make Ada accessible to many more people, then
I'd like to see Alsys drastically reduce their prices.  But from the
perspective of a software developer who thinks quality is important,
I think Alsys is justified in charging a premium for quality. I think
most software developers will agree.
   I hope this posting helps people get the PC Ada compiler that best
suits their needs.

--Frank.