comp.lang.ada
 help / color / mirror / Atom feed
From: Jim Rogers <jimmaureenrogers@worldnet.att.net>
Subject: Re: ada paper critic
Date: Mon, 17 Jun 2002 04:52:28 GMT
Date: 2002-06-17T04:52:28+00:00	[thread overview]
Message-ID: <3D0D6AEE.80304@worldnet.att.net> (raw)
In-Reply-To: 3D0D605B.F86B0670@san.rr.com

Darren New wrote:

> Jim Rogers wrote:
> 
>>The first problem is that Java does not have protected objects in the
>>Ada sense of the term. Java only provides synchronization blocks, which
>>are not even close to being protected objects.
>>
> 
> If every routine of a class is declared synchronized, I think you get
> something close to protected objects as long as you're not doing real-time,
> not worried about priority inversion, and etc. All of which Ada gets right,
> of course. Which you amply demonstrate in your post.


I disagree. You get a lot of object locking, but a protected object
is much more than simple object locking. You do not get the ability
to do shared reads of the object as you get from Ada protected
functions. You get no equivalent to entry queues. You have no
equivalent to the Ada select command. You simply have built-in
syntax for manipulating an object-wide mutex.

Note that it is also extremely difficult in Java to simulate an
Ada rendezvous.


>  
> 
>>Java's threading model works very well as long as your threads do not
>>communicate with each other,
>>
> 
> Basically, you have to build your own entry queues in Java's threads, just
> like you had to build your own protected objects in Ada 83.


I tried to describe why you cannot simply build your own entry queues
in Java. The problem is the Java definition of the wait() and
notify() methods. They control thread suspension and activation due
to changes in shared object conditions. They provide completely
non-deterministic results when activating a suspended thread. You
have no access to the way they work, nor can you redefine their
operation without encountering rather nasty behaviors in the Java
memory model, which is generally NOT implemented as defined for the
Java Virtual Machine.


> 
> 
>>and they never need to be terminated.
>>
> 
> I'm pretty sure you can force a Java thread to throw an error, thereby
> terminating.


Yes, you can force a thread to throw an exception, but that means that
all your threads must declare that they throw whichever exception
you want to used. This is clearly an uncommon design choice in Java.


> 
> Anyway, I was commenting not on the fact that Java is better or worse than
> Ada in terms of tasking. Clearly Ada wins hands down over any other GP
> language. All I was addressing was
> 
> 
>>>>like non-OO task
>>>>and protected object types, can be excused by the fact that other
>>>>languages have no such types at all.
>>>>
> 
> and wondering why the poster felt that Java didn't have tasks or protected
> types. I didn't literally mean "what's wrong with Java's threads", but
> rather "why do you feel they're so broken that you don't even call them
> threads?"


Java does have threads. It clearly does not have protected types.
Instead it has an overly simple and primitive view of object locking
using a classic mutex.


Jim Rogers




  reply	other threads:[~2002-06-17  4:52 UTC|newest]

Thread overview: 135+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-06-14  0:49 ada paper critic Immanuel Scholz
2002-06-14  1:28 ` Immanuel Scholz
2002-06-14  1:43   ` Dale Stanbrough
2002-06-14  4:53     ` David Marceau
2002-06-14  6:40       ` Dale Stanbrough
2002-06-14  6:49       ` Hyman Rosen
2002-06-14 12:18       ` Baugereau
2002-06-14 16:30         ` David Marceau
2002-06-14 17:34           ` Baugereau
2002-06-14 19:01             ` Wes Groleau
2002-06-14 19:43               ` Baugereau
2002-06-15  3:02                 ` Vinzent Hoefler
2002-06-15  9:49                   ` Pascal Obry
2002-06-17 15:53                     ` Dan Andreatta
2002-06-17 18:20                       ` Pascal Obry
2002-06-17 20:56                     ` Michael Bode
2002-06-17 21:18                       ` Pascal Obry
2002-06-16 21:52                   ` Ted Dennison
2002-06-14 20:02     ` Immanuel Scholz
2002-06-14  3:14   ` Ted Dennison
2002-06-14  4:35     ` Dale Stanbrough
2002-06-14  8:05       ` David Marceau
2002-06-14 12:31         ` Dale Stanbrough
2002-06-14 15:08         ` Darren New
2002-06-17  0:17           ` Robert A Duff
2002-06-14 19:05         ` Wes Groleau
2002-06-16  3:34           ` Dale Stanbrough
2002-06-16  3:32         ` Dale Stanbrough
2002-06-14  8:25       ` Dmitry A. Kazakov
2002-06-14 12:19         ` Immanuel Scholz
2002-06-14 14:51           ` Dmitry A. Kazakov
2002-06-14 15:09             ` Darren New
2002-06-16 22:49               ` Dmitry A.Kazakov
2002-06-16 15:07                 ` Jim Rogers
2002-06-17  4:06                   ` Darren New
2002-06-17  4:52                     ` Jim Rogers [this message]
2002-06-17  9:45                       ` David Marceau
2002-06-17 15:42                       ` Darren New
2002-06-17  3:59                 ` Darren New
2002-06-17 22:19                   ` Dmitry A.Kazakov
2002-06-14 12:58       ` Larry Kilgallen
2002-06-14 22:16         ` Dale Stanbrough
2002-06-15  1:22           ` Larry Kilgallen
2002-06-15  0:51             ` Dale Stanbrough
2002-06-15 11:49               ` Immanuel Scholz
2002-06-15 21:45             ` Robert A Duff
2002-06-14 14:59       ` Ted Dennison
2002-06-16  3:27         ` Dale Stanbrough
2002-06-16 22:18           ` Wes Groleau
2002-06-16 22:38           ` Ted Dennison
2002-06-14 15:00       ` Ted Dennison
2002-06-14 20:13         ` Wes Groleau
2002-06-14 18:52       ` Jeffrey Carter
2002-06-15 22:03         ` Robert A Duff
2002-06-16  1:58           ` Jeffrey Carter
2002-06-16  3:19             ` Dale Stanbrough
2002-06-16 22:20         ` Wes Groleau
2002-06-17  1:57           ` Larry Kilgallen
2002-06-17  2:16           ` Jeffrey Carter
2002-06-14 15:25   ` John R. Strohm
2002-06-15  4:05     ` Lyle McKennot
2002-06-17 13:32       ` Marin David Condic
2002-06-15  4:06     ` The 1980 ACM Turing Award Lecture The Emperor's Old Clothes Lyle McKennot
2002-06-15 13:45       ` Ted Dennison
2002-06-15 13:55         ` Ed Falis
2002-06-15 15:03           ` Pat Rogers
2002-06-15 18:42         ` Jeffrey Carter
2002-06-16 22:25         ` Wes Groleau
2002-06-15 18:01       ` Robert I. Eachus
2002-06-16  1:53         ` Hyman Rosen
2002-06-17 20:06           ` Robert I. Eachus
2002-06-17 20:54             ` Hyman Rosen
2002-06-18 14:56               ` Stephen Leake
2002-06-18 17:08                 ` Hyman Rosen
2002-06-16  3:15         ` Lyle McKennot
2002-06-16  3:51           ` Pat Rogers
  -- strict thread matches above, loose matches on Subject: below --
2002-06-14 14:31 ada paper critic Alderson, Paul A.
2002-06-14 15:16 ` Darren New
2002-06-14 15:58 ` Andrew Maizels
2002-06-14 17:00   ` chris.danx
2002-06-14 18:44     ` Jeffrey Carter
2002-06-14 20:26       ` Immanuel Scholz
2002-06-14 22:06         ` Ehud Lamm
2002-06-14 22:01           ` Immanuel Scholz
2002-06-14 22:38             ` sk
2002-06-15 11:28               ` Immanuel Scholz
2002-06-15 18:10                 ` sk
2002-06-15 14:30               ` Ted Dennison
2002-06-15 17:36                 ` sk
2002-06-16  3:08                 ` Gautier
2002-06-16  0:05               ` AG
2002-06-16 21:05                 ` Gautier
2002-06-14 23:10             ` tmoran
2002-06-15 14:19         ` Ted Dennison
2002-06-15 23:04           ` Darren New
2002-06-15 23:38             ` Darren New
2002-06-17 10:56           ` Immanuel Scholz
2002-06-17 19:56             ` Brian Rogoff
2002-06-17 20:47               ` Marin David Condic
2002-06-18 18:10                 ` Brian Rogoff
2002-06-18 18:51                   ` Robert A Duff
2002-06-18 19:08                     ` Hyman Rosen
2002-06-18 20:47                       ` Robert A Duff
2002-06-19  5:28                 ` Robert I. Eachus
2002-06-18 14:01               ` Robert A Duff
2002-06-14 20:58 ` Ted Dennison
2002-06-14 21:30   ` Immanuel Scholz
2002-06-15  1:24     ` Larry Kilgallen
2002-06-15  3:02 ` Vinzent Hoefler
2002-06-15 21:54 ` AG
2002-06-14 19:42 Gautier no_direct_reply_please
2002-06-15 15:08 ` Simon Wright
2002-06-15 22:52 ` Robert A Duff
2002-06-16  0:38   ` AG
2002-06-17 14:15     ` Marin David Condic
2002-06-18 13:52       ` Robert A Duff
2002-06-18 15:41         ` Darren New
2002-06-18 18:04         ` Jeffrey Carter
2002-06-19  1:04           ` Rod Haper
2002-06-16 22:19   ` Ted Dennison
2002-06-16 23:02     ` Robert A Duff
2002-06-17  7:07       ` Kevin Cline
2002-06-18 20:54         ` Robert A Duff
2002-06-18 22:15           ` Larry Kilgallen
2002-06-14 20:06 Gautier no_direct_reply_please
2002-06-14 20:48 ` Baugereau
2002-06-15 14:38   ` Ted Dennison
2002-06-14 20:36 Beard, Frank [Contractor]
2002-06-14 21:34 ` Immanuel Scholz
2002-06-15  4:14   ` Lyle McKennot
2002-06-14 22:08 Beard, Frank [Contractor]
2002-06-14 22:18 Beard, Frank [Contractor]
2002-06-15  1:38 ` Jeffrey Carter
2002-06-14 22:28 Gautier direct_replies_not_read
2002-06-15 14:43 ` Ted Dennison
replies disabled

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