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.3 required=5.0 tests=BAYES_00,FREEMAIL_FROM, INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,e5eb8ca5dcea2827 X-Google-Attributes: gid103376,public X-Google-Thread: 1008e3,a7084fcfbc5ce2fb X-Google-Attributes: gid1008e3,public From: "Vladimir Olensky" Subject: Re: Ada OO Mechanism Date: 1999/05/30 Message-ID: <928093666.328.83@news.remarQ.com>#1/1 X-Deja-AN: 483836814 References: <7i05aq$rgl$1@news.orbitworld.net> <7i17gj$1u1k@news2.newsguy.com> <7icgkg$k4q$1@nnrp1.deja.com> <3749E9EC.2842436A@aasaa.ofe.org> <7id2eo$fag@drn.newsguy.com> <3749FF7D.F17CE16A@aasaa.ofe.org> <374AC676.F7AE0772@lmco.com> <374F1DD3.64070C3E@mitre.org> <7ircia$ued@drn.newsguy.com> X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 X-Complaints-To: newsabuse@remarQ.com X-Trace: 928093666.328.83 K3TLTKYJOA5C9C7F8C qube-02.us-ca.remarq.com Organization: Posted via RemarQ Communities, Inc. NNTP-Posting-Date: Sun, 30 May 1999 19:47:46 GMT Newsgroups: comp.lang.ada,comp.lang.modula3 Date: 1999-05-30T00:00:00+00:00 List-Id: Harry George wrote in message ... >chris@nospam writes: >> I have no idea why Ada did not do it the same way. I wonder if when >> Ada95 OO was designed, if modula-3 was around? >> >>From the home page (http://www.research.digital.com/SRC/modula-3/html/home.html): > "Designed in the late 1980s at Digital > Equipment Corporation and Olivetti" > >> I liked the way modula-3 did it. I think I am going to learn more >> about that language. Too bad it is not a very much used language. > >Amen. A small but experienced community still uses it whereever >possible. OO is just one of the things M3 does right. We can only >hope Java steps up to UNSAFE and non-OO gc'd and non-gc'd structures. M3 language definition was published in August 1988 and implemented soon after that . In January 1989 some revisions were made to the language to reflect the experience of the M3 implementation. So M3 is at least 6 years older than Ada 95. M3 runs almost on all platforms (as Ada now). For me use of UNSAFE modules is very good approach to provide program reliability. Probably better than imposing restriction everywhere as in Ada. The same concept could be used in Ada 95 to relax restrictions where needed. In M3 you are not allowed to do unsafe operations in usual modules (so it is very restrictive there, in some cases much more restrictive than Ada) but in UNSAFE modules you can do whatever you need. Isolating unsafe operations in UNSAFE modules provide very good control over them. Using OPAQUE types you can build safe interfaces to unsafe modules. Another remarkable feature of M3 is that it has Garbage Collector as part of the language specification. (Long before Java). GB implementation was successful and may be used as a good example. If you don't want to use GB any object you may declare it as UNTRACED. Several years ago developers of M3 founded company CMASS (www.cmass.com) to build commercial version of M3 and did some very impressive things (namely Reactor - see below). Unfortunately their efforts did not bring desired results due to different factors. Their story is a good lesson for others as well. One of them is that at some moment they took wrong direction putting all their efforts for building JVM using M3 that should work on every known platform. They did that but priced it about $10000. So no wonder that they could not compete with some known big companies that did that for no money for customer so time and resources were lost. The other thing was that they thought that M3 is the best programming language in the world (and it really was for very long period of time) with fully functional Garbage Collector and only this is enough to win (the same as some people think regarding Ada now). Another thing that had impact on M3 destiny was that for very, very long period of time it was experimental language for closed community ( DEC SRC and some other research centers)without no attempts to build and sell commercial versions of M3. Any closed community in our world will shrink eventually if it do not make efforts to expand. As pressure from outside is almost always increasing then pressure from inside should be adequate not to loose living area. This is universal law. Earth history has illustrated this many times. As time goes new more perfect creatures come to existence that are pushing away older ones. But some lives forever without no changes (sharks, snakes, crocodiles). Please note that these are creatures that are eating other creatures. Hope that Ada will live long as sharks. One this in which CMASS M3 is still ahead of time is it's team development system "Reactor". It has central development server and any developer can do his/her work from any workstation with WEB browser. Very impressive. In many respects Ada and M3 is very very close to each other. As Ada 95 was born later so it has some other features that M3 does not have (e.g. child packages). Ada 95 is a logical step for people who used M2 and M3 before. By the way Averstar supports and sells extended version of Modula-2 called Modula-GM that is used by General Motors for car engine controllers. A lot of people that use Ada do not even know that they use Modula-GM as well. Regards, Vladimir Olensky