Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!bbn!oberon!cit-vax!ucla-cs!zen!ucbvax!hplabs!sdcrdcf!trwrb!trwspf!thomsen From: thomsen@trwspf.TRW.COM (Mark Thomsen) Newsgroups: comp.lang.modula2 Subject: Re: Modula2 for Apollos and Ada,Modula2 question(s) Message-ID: <440@trwspf.TRW.COM> Date: Fri, 25-Sep-87 21:21:47 EDT Article-I.D.: trwspf.440 Posted: Fri Sep 25 21:21:47 1987 Date-Received: Sun, 27-Sep-87 09:52:00 EDT References: <281@mv03.ecf.toronto.edu> Reply-To: thomsen@trwspf.UUCP (Mark Thomsen) Organization: TRW - Data Systems Lab., Redondo Beach, CA Lines: 53 Keywords: Modula2 Apollo Ada In article <281@mv03.ecf.toronto.edu> apollo@ecf.toronto.edu (Vince Pugliese) writes: > One question before I go. Are developers using Modula2 as a >prototyping tool for, if you will, Ada programming? I guess >the reason why ask this is that there seem to be a number of rather >inexpensive Modula2 compilers available thus making this language more >accessible to more users. Another thing is, or was, Modula2 intended >for the development of embedded real-time applications, much like Ada is and was? This is one of the great questions of our era in software engineering - whither Ada and Modula-2. I am in an aerospace company (thus Ada is important) and also in a front-end R&D organization within that company. We use Modula-2 extensively within our environment because it is cost effective when buying compilers, when buying development environments, when training people to use it, when developing multiple-processor operating systems, when developing algorithms, and when integrating new hardware. It is not a sub-Ada in any meaningful sense, though we sometimes call it "Ada Lite" and "Real-Time Ada" to emphasize that it is the best subset of what is really essential. We get pressure to use Ada but no extra money to buy the equipment or spend the extra effort to develop the software. It is not that Ada is a bad language per se (we each have an opinion on that). For us it is a more cost effective language that provides the advantages of Ada (encapsulation & separate compilation, modern syntax, single processor concurrency, low-level programming) without the excess features. A customer of ours pointed out that if Modula-2 was developed 2 years earlier, Ada probably would not have been developed. (The less kind may point out that Modula-2 would become Ada in that case. Comments?) Your are dead on with the observation that the two languages are for the same types of applications. If the DoD asked me I would say mandate Modula-2 for those programs that Ada seems suitable -- it appears to really be better for developing real-time, multiprocessor applications (again, I do not say Ada is a bad language; its just that Modula-2 is better for almost every software engineering situation I have come across). By the way, the languages come from almost exactly the same time, have almost exactly the same rationale and understanding of the software engineering problem, and have lots of the same syntax. The only features of Modula-2 that are not in Ada in equivalent form are procedure variables, sets, and opaque types (someone challenge this if you disagree -- I would be very interested in updating my study of this). John Oglivie in Provo wrote a Modula-2-to-Ada translator for his masters thesis. If you wish to use Modula-2 as a precursor to Ada, you may want to get in touch with John. This has been long enough. Does anyone have comments on the relative merits of the two languages in a constructive sense? Mark R. Thomsen The opinions are the author's own and do not reflect TRW's commitment and considerable support for the use of a common language for DoD procurements.