comp.lang.ada
 help / color / mirror / Atom feed
From: "Vladimir Olensky" <vladimir_olensky@yahoo.com>
Subject: Re: Ada OO Mechanism
Date: 1999/05/30
Date: 1999-05-30T00:00:00+00:00	[thread overview]
Message-ID: <928093666.328.83@news.remarQ.com> (raw)
In-Reply-To: m3675a1rmd.fsf@localhost.localdomain


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


















  reply	other threads:[~1999-05-30  0:00 UTC|newest]

Thread overview: 116+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-05-20  0:00 Ada OO Mechanism Shawn M. Root
1999-05-20  0:00 ` Samuel Mize
1999-05-20  0:00   ` David Botton
1999-05-20  0:00     ` Samuel Mize
1999-05-20  0:00       ` David Botton
1999-05-24  0:00   ` Hyman Rosen
1999-05-24  0:00     ` Robert Dewar
1999-05-24  0:00       ` Hyman Rosen
1999-05-24  0:00         ` Mike
1999-05-25  0:00           ` Robert Dewar
1999-05-24  0:00         ` David Starner
1999-05-24  0:00           ` bob
1999-05-24  0:00             ` David Starner
1999-05-25  0:00               ` Ole-Hjalmar Kristensen
1999-05-25  0:00                 ` Mark A Biggar
1999-05-25  0:00                   ` Hyman Rosen
1999-05-25  0:00                     ` Samuel Mize
1999-05-25  0:00                       ` Hyman Rosen
1999-05-25  0:00                         ` Brian Rogoff
1999-05-25  0:00                           ` Jim
1999-05-26  0:00                           ` Robert Dewar
1999-05-26  0:00                             ` Brian Rogoff
1999-05-25  0:00                         ` Samuel Mize
1999-05-25  0:00                           ` Chris
1999-05-25  0:00                             ` David Botton
1999-05-27  0:00                               ` Aidan Skinner
1999-05-27  0:00                                 ` Gautier
1999-05-27  0:00                             ` Samuel Mize
1999-05-25  0:00                         ` Richard D Riehle
1999-05-25  0:00                           ` Hyman Rosen
1999-05-26  0:00                             ` Ray Blaak
1999-05-26  0:00                               ` Richard D Riehle
1999-05-26  0:00                                 ` Hyman Rosen
1999-05-27  0:00                                   ` Richard D Riehle
1999-06-05  0:00                                     ` Matthew Heaney
1999-06-07  0:00                                       ` Hyman Rosen
1999-05-28  0:00                                   ` Laurent Guerby
1999-06-05  0:00                                   ` Matthew Heaney
1999-06-07  0:00                                     ` Hyman Rosen
1999-06-08  0:00                                       ` Matthew Heaney
1999-06-08  0:00                                         ` Hyman Rosen
1999-06-08  0:00                                           ` Samuel Mize
1999-06-08  0:00                                             ` Hyman Rosen
1999-06-08  0:00                                       ` Robert Dewar
1999-06-08  0:00                                         ` Markus Kuhn
1999-06-08  0:00                                           ` Stanley R. Allen
1999-06-08  0:00                                         ` Stanley R. Allen
1999-05-26  0:00                               ` Hyman Rosen
     [not found]                           ` <t7zp2sr6yf.fsf@calumny.jyacc.c <t7emjmmx8w.fsf@calumny.jyacc.com>
1999-06-08  0:00                             ` Larry Kilgallen
1999-06-08  0:00                               ` Hyman Rosen
1999-06-08  0:00                                 ` Tucker Taft
1999-06-08  0:00                                   ` Brian Rogoff
1999-06-09  0:00                                   ` Tucker Taft
1999-06-09  0:00                                   ` Robert Dewar
     [not found]                                   ` < <375E92CB.27850620@averstar.com>
1999-06-09  0:00                                     ` Brian Rogoff
1999-06-14  0:00                                       ` Robert A Duff
1999-06-09  0:00                                 ` Samuel Mize
1999-06-09  0:00                                 ` Matthew Heaney
     [not found]                           ` <t7zp2sr6yf.fsf@calumny.jyacc.c <t7r9nmz8ou.fsf@calumny.jyacc.com>
1999-06-08  0:00                             ` Larry Kilgallen
1999-06-08  0:00                               ` Hyman Rosen
1999-06-14  0:00                                 ` Robert A Duff
     [not found]                           ` <t7zp2sr6yf.fsf@calumny.jyacc.c <375d9a3d.e1cccc63@averstar.com>
1999-06-09  0:00                             ` Larry Kilgallen
1999-06-09  0:00                               ` Tucker Taft
1999-05-27  0:00                         ` Samuel Mize
1999-05-27  0:00                           ` Jon S Anthony
1999-05-27  0:00                         ` Samuel Mize
1999-05-27  0:00                           ` Hyman Rosen
1999-05-28  0:00                             ` Samuel Mize
1999-05-28  0:00                             ` Laurent Guerby
1999-05-28  0:00                               ` Richard D Riehle
1999-05-28  0:00                                 ` Tom Moran
1999-05-25  0:00                     ` Richard D Riehle
1999-05-25  0:00                       ` David Botton
1999-05-26  0:00                         ` Tom Moran
1999-05-27  0:00                       ` Aidan Skinner
1999-05-28  0:00                     ` Robert I. Eachus
1999-05-28  0:00                       ` Brian Rogoff
1999-05-29  0:00                       ` Ehud Lamm
1999-05-30  0:00                         ` chris
1999-05-30  0:00                           ` Harry George
1999-05-30  0:00                             ` Vladimir Olensky [this message]
1999-05-31  0:00                               ` Robert Dewar
1999-05-30  0:00                           ` Robert Dewar
1999-05-31  0:00                           ` Vladimir Olensky
1999-06-03  0:00                             ` Dale Stanbrough
1999-06-02  0:00                               ` mike
1999-06-03  0:00                                 ` Robert Dewar
1999-06-06  0:00                                   ` David Botton
1999-06-07  0:00                                     ` Robert Dewar
1999-06-01  0:00                           ` Richard D Riehle
1999-06-03  0:00                         ` Matthew Heaney
1999-06-03  0:00                     ` Matthew Heaney
1999-05-25  0:00                 ` Florian Weimer
1999-05-25  0:00     ` Samuel Mize
1999-05-25  0:00       ` Hyman Rosen
1999-05-25  0:00         ` David Starner
1999-05-26  0:00         ` Ole-Hjalmar Kristensen
1999-05-26  0:00         ` Laurent Guerby
1999-05-26  0:00           ` Hyman Rosen
1999-05-28  0:00             ` Laurent Guerby
1999-06-01  0:00               ` Hyman Rosen
1999-06-03  0:00                 ` Fraser Wilson
1999-06-03  0:00     ` Matthew Heaney
1999-06-03  0:00       ` Hyman Rosen
1999-05-21  0:00 ` Dale Stanbrough
1999-05-20  0:00   ` bob
1999-05-21  0:00     ` Dale Stanbrough
1999-05-21  0:00   ` Richard D Riehle
1999-05-21  0:00     ` Marin David Condic
1999-05-21  0:00       ` Dan Nagle
1999-05-24  0:00         ` Marin David Condic
1999-05-21  0:00       ` Steve
1999-05-21  0:00     ` Shawn M. Root
1999-05-21  0:00       ` Richard D Riehle
1999-05-25  0:00         ` Shawn M. Root
1999-05-25  0:00   ` Don Overheu
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox