[comp.lang.ada] Free Optimizing Ada Compiler

srctran@world.std.com (Gregory Aharonian) (05/08/91)

	One of the best optimizing C and C++ compilers is provided at no
charge by the Free Software Foundation (Cambridge, MA). Their compiler is as
good as most workstation vendors' compilers, targets many platforms, is
available at no cost, and is provided with the source code. Their compiler
is so good that many companies producing software products for the Unix
and workstation environments use the FSF compiler.
	This rather good, free compiler is the result of a basically
volunteer effort of people interested in promoting software in a very
sharing manner. They are also providing source code to an entire operating
system Unix-clone, the Emacs editors, Unix shell tools, a spreadsheet and
other software tools.
	(The rest of this message doesn't deal with the issue that all of
this programming is being done in C and C++).

	It seems to me that if the Ada community was really interested in
spreading Ada as much as possible, that someone (i.e. DOD) could shake loose
about a half million dollars, and give it to the Free Software Foundation
people to develop an Ada front end for their compiler technology. Actually
I think that the FSF people have someone looking into to this. In this way
the world would end up with a nice Ada compiler provided in source code
form at no charge.
	Such a compiler could be given to universities to encourage them
to teach Ada (many are already using the FSF C and C++ compilers), without
draining their limited budgets. Also it would encourage other members of
the FSF community to develop Ada tools that work with the compiler.
	Thus is people really want an excellent, shareware Ada compiler,
form a committee to lobby the DoD to fund the FSF. The capability is there,
the money is certainly there. All that is needed is the commitment.

Greg Aharonian
Source Translation & Optimization

jls@netcom.COM (Jim Showalter) (05/09/91)

>	Such a compiler could be given to universities to encourage them
>to teach Ada (many are already using the FSF C and C++ compilers), without
>draining their limited budgets. Also it would encourage other members of
>the FSF community to develop Ada tools that work with the compiler.

If Ada is to succeed in the commercial sector, we HAVE to get a free,
high-quality Ada compiler on every UNIX box in every college/university
in the world: this is basically why C is such a success, and it seems
we could learn by example. I've had e-mail discussions with several
professors who would happily use Ada to teach software engineering principles
if they could just get their hands on it.

Last time I checked, big dollar figures were still being spent on ALS-N
for no reason anybody has ever been able to explain to me. Perhaps this
could be cancelled and the money redirected?...

koehnema@ENUXHA.EAS.ASU.EDU (Harry Koehnemann) (05/09/91)

In article <1991May9.080740.6534@netcom.COM> jls@netcom.COM (Jim Showalter) writes:
>
>If Ada is to succeed in the commercial sector, we HAVE to get a free,
>high-quality Ada compiler on every UNIX box in every college/university
>in the world: this is basically why C is such a success, and it seems
>we could learn by example. I've had e-mail discussions with several
>professors who would happily use Ada to teach software engineering principles
>if they could just get their hands on it.

It's not just that, it's also resources.  It been discussed here to put
Ada as the beginning language, but what are the consequences of doing
so.  A university can get a site license for pretty cheap.  However,
compile 15 C programs concurrently and then 15 Ada versions for
equivalent programs and you'll see the magnitude of the problem.

Harry Koehnemann
koehnema@enuxha.eas.asu.edu

sandy@snoopy.cs.umass.edu (& Wise) (05/10/91)

Well, while not exactly what you hoped for, the following is from the
Ada 9X "Transition Plan" (Draft, Feb 1991).

I suspect that the educational only terms of the proposal are somewhat
stricter than the FSF would prefer, but they could certainly respond
to the BAA when it comes out...

I people wish to comment on the language, the document indicates that
comments on the draft may be sent to "anderson@uv4.eglin.af.mil"

3.2 FREE EDUCATIONAL ADA 9X COMPLILATION SYSTEM

In the interest of introducting students to the many benefits of Ada
at minimal cost, an extremely user-friendly Ada 9X compilation system,
consisting of a compiler, library system, linker, run-time system and
debugger for commonly available platforms (e.g., SUN/UNIX or PC/DOS)
will be developed for educational purposes.  This system will be made
available to accredited universities free of charge.  Some level of
maintenance is envisioned.  Since this system is for educational
purposes only, and there is no intent to compete with industry but
rather to stimulate the market, it may be that certain features of the
language are not supported; however validation of the implemented
features will be required.  It is intended that the developer be
solicited through a Broad Area Announcement in FY 92.  Ideally, proven
off-the-shelf toos shall be the basis of this system.

        /s
--
Alexander Erskine Wise /\/\/\/\/\/\/\/\/\/\/\/\ Software Development Laboratory
/\/\/\/\/\/\/\/\/\/\/\/\/\/\ WISE@CS.UMASS.EDU /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\ This situation calls for large amounts of unadulterated CHOCOLATE! /\/\/\

garys@cs.tamu.edu (Gary Wayne "Batman" Smith) (05/10/91)

In article <9105091625.AA11977@enuxha.eas.asu.edu> koehnema@enuxha.eas.asu.edu (Harry Koehnemann) writes:
>In article <1991May9.080740.6534@netcom.COM> jls@netcom.COM (Jim Showalter) writes:
>It's not just that, it's also resources.  It been discussed here to put
>Ada as the beginning language, but what are the consequences of doing
>so.  A university can get a site license for pretty cheap.  However,
>compile 15 C programs concurrently and then 15 Ada versions for
>equivalent programs and you'll see the magnitude of the problem.
>
>Harry Koehnemann
>koehnema@enuxha.eas.asu.edu

Here at A&M we teach Pascal as a beginning language.  We use Turbo
Pascal on about 100 PCs.  What I personally would like to see is some
sort of Turbo Ada.  That way we could use Ada as a beginning language
without bogging down our Unix boxes.

Just my thoughts.  I'm just a graduate assistant and can't in any
way speak for the department, although I did teach the Ada class this
Spring and beginning Pascal last Fall. 

- gary

pattis@june.cs.washington.edu (Richard Pattis) (05/10/91)

In article <9105091625.AA11977@enuxha.eas.asu.edu> koehnema@enuxha.eas.asu.edu (Harry Koehnemann) writes:
>It's not just that, it's also resources.  It been discussed here to put
>Ada as the beginning language, but what are the consequences of doing
>so.  A university can get a site license for pretty cheap.  However,
>compile 15 C programs concurrently and then 15 Ada versions for
>equivalent programs and you'll see the magnitude of the problem.
>
>Harry Koehnemann
>koehnema@enuxha.eas.asu.edu

Actually, in my expericien this is not much of a problem. For a sufficiently
fast machine, a large number of beginning students can easily share it, since
at any given time most are editing their programs (or typing commands to the
debugger, or typing input/reading output, or doing some other non CPU-
intensive operation).  I teach a beginning programming course in Ada, with
about 150 students, concurrently with an intermediate Ada course, with about
70.  We share a machine with other classes: it has between 50-250 users
logged on at any given time. Throughout the quarter I randomly log on and
compile complex Ada program.  I find that when I compare the CPU and Wall-
clock times, I get between 1/2 to 1/3  of the CPU time for my compilations.

I don't have any information comparing Ada vs C based on the total number of
compiles it takes to get a program correct. While it is easy to measure the
absolute speed of a C and Ada compiler, the more important quantity to measure
is how long it takes the student to get a working program (summing all the
compile times he/she uses).

In fact, I will even go to the extreme here and say that it is often BETTER in
beginning classes to not have instantaneous compilation. When compilation is
TOO FAST, it can seduce students into repeatedly reusing the compiler in place
of actually thinking about what they are doing. I often see reasonably written
programs turned into garbage by students incrementally changing them without
thinking about what they are doing. I am not saying all beginning students
succumb to this temptation, but it is my experience that many do.

Rich Pattis


-- 
------------------------------------------------------------------------------
  Richard E. Pattis			"Programming languages are like
  Department of Computer Science	 pizzas - they come in only "too"
    and Engineering			 sizes: too big and too small."

hlavaty@CRVAX.Sri.Com (05/10/91)

In article <1991May9.175544.11853@beaver.cs.washington.edu>, pattis@june.cs.washington.edu (Richard Pattis) writes...
>In article <9105091625.AA11977@enuxha.eas.asu.edu> koehnema@enuxha.eas.asu.edu (Harry Koehnemann) writes:
> 
>In fact, I will even go to the extreme here and say that it is often BETTER in
>beginning classes to not have instantaneous compilation. When compilation is
>TOO FAST, it can seduce students into repeatedly reusing the compiler in place
>of actually thinking about what they are doing. I often see reasonably written
>programs turned into garbage by students incrementally changing them without
>thinking about what they are doing. I am not saying all beginning students
>succumb to this temptation, but it is my experience that many do.
> 
>Rich Pattis
>
I found this comment very interesting.  This observation tends to support a
software management technique advocated by Tom DeMarco and Tim Lister of the
Atlantic Systems Guild.  Their approach during a development is to *take 
away* compiler rights from the developer, thereby forcing a programmer to think
through their code approach.  When they think they are done, they give the code
to someone else who compiles it and returns it if it fails.  I believe this idea
originated as a response to fault metrics compiled by T.C. Jones (Capers Jones?)
showing that the more errors you find, the more errors their are.  By removing
compiler rights, the programmer is incentivized to reduce the number of errors
right from the start.
While this topic is really turning into software engineering, the fact that you
have experience confirming this (even if they are students - habits are habits)
was interesting.  Most managers find the idea of removing compiler rights as 
something akin to insanity.
Anyway, the point made by Mr Pattis with regards to reducing overall compiler
usage is a good one, for it appears the Mr Pattis is not the only person to
have picked up on this phenemenon of "compiler abusage".

Jim Hlavaty
hlavaty@crvax.sri.com

rharwood@east.pima.edu (05/10/91)

In article <1991May9.175544.11853@beaver.cs.washington.edu>,
pattis@june.cs.washington.edu (Richard Pattis) writes:

> I don't have any information comparing Ada vs C based on the total number of
> compiles it takes to get a program correct. While it is easy to measure the
> absolute speed of a C and Ada compiler, the more important quantity to measure
> is how long it takes the student to get a working program (summing all the
> compile times he/she uses).

I LOVE the bits of wisdom that come from these discussions!  I remember working
on a project 3 years ago where the data-base CSCI programmers changed the
orders of the parameters in all the data-base calls (naturally, the FORTRAN
compiler couldn't care less)... AND they neglected to tell the users of the
other 6 CSCIs!  This change wasn't caught for weeks (for reasons I'll not go
into).

Same people, working on another project a year later, AGONIZED over ONE change
to "the intermodule interfaces" because recompiling the package specs required
recompiling 3 complete Ada libraries... and "hunting down" all those places
that would subsequently require alteration in response to the change.  Yes,
eventually, the change was made, but ONLY AFTER CAREFUL CONSIDERATION!

Students should learn experience this early in their programming careers.  I'll
not climb atop my soapbox, but I will repeat a statement a collegue made
recently: "I gave up trying to be 'real-world' in the classroom long ago."
<sigh>
-----
Ray Harwood           |Data Basix           |Associate Faculty,    
Voice: (602)721-1988  |PO Box 18324         |   Pima Community College
FAX:   (602)721-7240  |Tucson, AZ 85731     |Instructor in Ada and Pascal
CompuServe: 76645,1370|AppleLink: DATA.BASIX|Internet: rharwood@east.pima.edu

jls@netcom.COM (Jim Showalter) (05/10/91)

>Most managers find the idea of removing compiler rights as 
>something akin to insanity.
>Anyway, the point made by Mr Pattis with regards to reducing overall compiler
>usage is a good one, for it appears the Mr Pattis is not the only person to
>have picked up on this phenemenon of "compiler abusage".

I started to write a paper on this once upon a time, but I gave up because
I figured people would just think I was kidding: my thesis was that people
thought a LOT harder about what they were doing back when they had to enter
their programs on punched cards...
-- 
**************** JIM SHOWALTER, jls@netcom.com, (408) 243-0630 *****************
* Proven solutions to software problems. Consulting and training in all aspects*
* of software development. Management/process/methodology. Architecture/design/*
* reuse. Quality/productivity. Risk reduction. EFFECTIVE OO techniques. Ada.   *