From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: * X-Spam-Status: No, score=1.6 required=5.0 tests=BAYES_00,INVALID_DATE, MSGID_SHORT,TO_NO_BRKTS_PCNT autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cornell!uw-beaver!uw-june!pattis From: pattis@june.cs.washington.edu (Richard Pattis) Newsgroups: comp.lang.ada Subject: An Educational Site License for an Ada Compiler on PCs Summary: My experiences getting one Keywords: UW, Meridian, R&R Message-ID: <7205@june.cs.washington.edu> Date: 8 Feb 89 09:34:15 GMT Distribution: usa Organization: U of Washington, Computer Science, Seattle List-Id: Educational Site Licenses for Ada Compilers on PCs The following posting chronicles some of my experiences in obtaining an educational site license for an Ada compiler running on IBM PCs & compatibles. If anyone is interested in discussing these issues further with me, please drop me a note or call me MWF 3:00-4:30 (Pacific time) at (206) 545-1218. I am especially interested in hearing from others (I've already got a small list) who are teaching or plan to teach Ada in their introductory courses. Computing with Ada at UW: We currently teach Ada in our two-quarter introductory programming courses on a very large University-owned VAX/VMS system, using DEC-Ada. The classes enroll about 150 and 80 students respectively per quarter (including Summer, during which the numbers are about half of these). I expect Ada to percolate up to the more advanced courses, including data structures, compilers (the instructor teaching this course currently uses Fisher/LeBlanc's book, which uses Ada as the language of study and the language of discourse) and graphics. We have purchased Verdix Ada, for use in the data structures course, on one of the department's instructional VAX/Ultrix computers. The Microcomputer Connection: For the last few quarters I have been surveying my students, asking them if they own PCs: I ask for their brand, processor, RAM memory size, hard disk size, and whether they own a modem. From these numbers I determined that many students (especially those going on to the second quarter) owned IBM PC-ATs or compatibles with 640K and hard disks. To transfer some of the load off our VAX, and encourage students to explore Ada on their own, I set out to find a reasonable Ada compiler, at a modest price, that ran on this power of machine. I figured that the price should be about $50/package, which is the price that my students had been purchasing Logitech's excellent Modula-2 system for, when this language was taught in these courses. Most students thought this price fine (and $100 too much); they had been buying about 75 Modula-2 compilers per year. PC Ada Compilers: After a small amount of research, it seemed that the only three IBM PC Ada compilers in reasonable shape were Alsys, Meridian, and R&R. I did not pursue the Alsys compiler because my students don't have enough memory (or the money to buy it). I also didn't pursue various other compilers: (1) the Aetech system, because I was told that it was based on R&R's compiler; also, I found out about this product well into the process. (2) NYU's Ada compiler, because I had some problems compiling large programs with it. (3) Artek's compiler (I had an early version of it) which had problems similar to the NYU compiler. Recently, Lattice Inc. bought the rights to this product - there is a brief notice about this purchase in the Nov/Dec 1988 issue of Journal of Pascal, Ada and Modula-2). "Recent" reviews of various combinations of these compilers appeared in Computer Language (December 1986/January 1987), Byte (July 1987) Computer (September 1988), Computer Language (December 1988). So, the choices were narrowed down to Meridian's AdaVantage and R&R's Janus Ada. Making Contact: Initially, I contacted Thomas Pierpoint at Meridian (he has recently moved to another Ada-related job) and James Stewart at R&R. I explained in general what I was trying to do and asked for evaluation copies of their products. Both readily complied (and continued to provide timely feedback on questions I had). I received a beta version of Meridian's AdaVantage 2.2 (including the compiler/debugger/optimizer/libraries/developer interface) and R&R's Janus 2.02 Ed Pak (including the compiler/linker with trim option/libraries). I also asked each company to supply me with a list of contacts, both in academia and industry, who were familiar with their product. Each company quickly sent me a list of about half a dozen names. Testing the Compilers/Calling the Contacts: I am a novice in the Ada world. I decided to switch my classes from Modula-2 to Ada after 14 quarters of teaching Modula-2 in both classes; I felt that Ada was technically a better language to teach beginners. I don't want to get into a language war here; but I do want to state that although I have had extensive experience teaching FORTRAN, Pascal, and Modula-2 (and writing 1-10 thousand line programs in these language), I had never written an Ada program. I was evaluating Ada compilers on the VAX at the same time. I asked a TA to translate two 500 line programs (that I often assign during my courses) into Ada. He spent little time taking advantage of Ada's special features; he just transliterated the Modula-2 code into Ada. These were the two programs that I would use to run simple benchmarks. Note that one of these programs used some simple generic package instantiations, but I did not test such "advanced" features in detail, in any systematic way, at that time. Both compilers correctly compiled and executed these programs. There were various differences in compile times, code sizes, and speed (depending on all sorts of options) which are much too detailed to go into here - this posting is more about site licenses than testing/benchmarking compilers. Essentially I rated both compilers acceptable for use by my students. The wall clock times for compiling and linking on my 8Mz PC-AT clone were comparable to the compile times on our VAX when it is lightly loaded. Based on these statistics, I would find teaching in a lab equipped with this power machine (big RAM disks would be a help) preferable to teaching on our large VAX (when it gets over 50-60 users, compilations become quite tedious). I also called all the names supplied by each vendor (and reached all but one or two). Each reference had very nice things to say about the compiler they used. I was interested to hear from someone who was using both compilers and could give me a direct comparison, but it seemed like everyone opted to use one compiler or the other; no one could supply this kind of information. Prices and Licenses: Of course, prices were a big problem. The Meridian package that I received retails near $1K (they have changed their price structure recently, so take that with a kilograin of salt). The R&R package that I received cost $395 (as of their July 1988 price list). Each company also has a maintenance agreement for some percentage of the purchase price (it varies from 20%-35% depending on the exact package purchased). These numbers were astronomically high for my students. Both companies offer site licenses, but these licenses are geared towards students using the compilers on machines in a lab at the school, owned by the school. We do not have such a facility, and I was interested only in a site license where I could actually distribute copies of the software to students for their use at home. I guess that this was a novel request, but the representatives of both companies were interested and promised to get back to me. Ultimately they "bid" very similarly. Both license agreements allowed me to distribute the software to any students enrolled in the university. The particulars were (omitting the fine print of the licenses): Meridian $10K down, $2.5 yearly maintenance, we were free to copy and distribute the manuals. R&R: $10K down, $3.5 yearly update, students could buy a manual for $37.50 each from R&R. Both companies offered free maintenance for 1 year. Note that if we continued to use the software for a few years, we'd eventually pay more in maintenance charges than for the original downpayment; this should be some incentive to drop the downpayments even lower (remember that Mattel made the big money on Barbie's clothes, not Barbie). I decided to avoid starting a bidding war between these companies. I felt that these numbers were fair, and that everyone had been dealing in good faith. I also felt sure that by selling the compiler cheaply to my students (but still generating some income from it), I could accumulate enough income yearly to pay the maintenance fee. Now my only problem was where to get the $10K downpayment, and to decide which compiler to license. A Sugar Daddy Flies to the Rescue: The University of Washington is in Seattle. So is Boeing. I contacted one of my ex-students, who has worked his way up the ladder at Boeing Commercial, and he arranged a meeting between me and his boss. His boss was interested both in strengthening ties between Boeing and our department, and in seeing Ada (and software engineering in general) taught in the undergraduate curriculum. He very quickly (to my great surprise) agreed to donate $10K to our department so that we could acquire one of the site licenses that I described above. I promised to distribute a small note with each compiler, explaining that the original funds came from Boeing. So, after one visit my purse was full. Since then, I found out that our school has a small slush fund for purchasing site licenses for PC software (we have TeX, SPSS, and a half dozen others). I probably could have gotten up to a few thousand dollars from this fund. I'm sure there were other companies that I could have called on, and it certainly would have taken more time, but I believe that I could have raised this money eventually, from smaller, more diverse sources. Schools near aerospace industries probably have a big head start. Deciding on a Company: The decision was tough, but I was able to rationalize one. I decided on Meridian's site license for a few reasons. As you will see, my decision was not one based on technical merit; if I had to make a decision on this criteria, I would have had to test the products more thoroughly. (1) The yearly maintenance fee was smaller; also, by letting us copy and distribute the manual ourselves (we can do it for $15), I could sell the package at my target price of $50 and generate $35 per copy towards paying the maintenance fee: I needed only 72 sales per year to reach this number. If you plug in R&R's license values, along with a $50 sale price, I would have needed 280 sales per year to meet the maintenance fee. I expect to sell about 100 to 150 copies per. (2) I liked the fact that Meridian's package included a debugger. R&R's package can be used with a commercially available debugger, but again price was the deciding factor here. After purchasing a $50 compiler, I doubt many students would go spend a few hundred dollars more for a debugger. (3) Meridian also sells a Mac version of their compiler. Our numbers show that the majority of my students own IBM PCs and compatible. But there is still a sizable minority owning Macs (in the engineering school, I am told, that the Macs are in the majority). If this ever became an issue, I wanted a simple and quick way to cover both systems. Current Status: I received the compiler at the end of December 1988. The check from Boeing arrived recently. During this Winter quarter, we sold and distributed 43 Ada compilers to students in my classes; the University-wide announcement of this site license will be made next week. We reproduce all the documentation for $15 and sell the package for $50 (my original target price; this is within the reach of almost all my students - I have made one or two hardship exceptions - and by not being free, deters software collectors). Thus, in one quarter we've already accumulated $1.5K, which is over half the entire fee needed to pay for next year's maintenance fee. At this rate I expect to accumulate over $3.5K per year, and I plan to use the extra money to license other Ada products, such as the Mac version of the compiler and a language sensitive editor. Most of the students using the compiler are in my second programming course. They have used the software to develop a program that prospects for geothermal power supplies using data from infrared satellite pictures (a glorified 2-d array search problem) and a program that produces cross reference listings of Ada programs (using a lexical scanner package, a table package, a queue package, a timer package, an O(N Log N) sort subprogram, and a few other software components that I have supplied). Their next assignment is to reimplement the table package using a fancier data structure and integrate it back into their cross reference program (I hope a trivial task). They are reporting few problems (most traced to the fact that they are still computer novices, and get bitten by operating system problems). Anyone Still Reading this Posting? Well that's my story up to now. This got to be quite a large posting, and I didn't have much time to polish up my writing, but I thought it would be informative to those faculty interested in acquiring a site license to teach Ada. Also, I wanted to repay a debt to all the people who sent me notes and talked to me about the various Ada compilers available. All in all it was a most pleasant experience. Again if anyone is interested in discussing these issues further with me, please drop me a note or call MWF 3:00-4:30 (Pacific time) at (206) 545-1218. Rich Pattis