[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re. March IEEE Computer Diatribe on Java


Yes this is definitely along the right lines.

I did actually bring a copy of the article to Twente, but by the time I
arrived, there seemed to be plenty of copies already in circulation.

The sheet of illegible pencilled scrawl I gave you is probably useless,
but I'll stick by the main points that you want to say that Java with
these things fixed really is available, and invite people to download
the stuff and see for themselves. Might be nice to put Ted Lewis's
program (correctly written to use the JavaPP classes) both in your
response and on the web. Even better to give (on the web) both the
deadlocking version and yours, so they can see the difference on their
own screens.

I'd suggest the letter is signed by authors from several countries, but
only people who have genuinely contributed to the work.

On this first response it would be better not to muddy the issue by
referring to 1355, but I was amazed how the conference brought out the
synergy between them.

As well as the double buffer, Ted Lewis lists a number of other areas
where Java is inadequate. You may not be fixing all of these, but I'm
sure occam has made major contributions to defect removal, and I seem to
remember very high-level pseudo programs being suggested as a means of
ensuring a consistent model of the requirements. No need to stretch
these points too much, but there must be examples you can point to where
your work deals with all of his other complaints.

Other correspondence while we were at Twente suggests that no one knows
about CSP. Again I'm ignorant, but the impression I have is that while
CSP has not been adopted in languages, it has been very thouroughly
adopted by the structured programming/software engineering people.
Jackson credits Tony Hoare, and talks about millions of processes. His
channels are asynchronous but you can model those with big buffer
processes or with file writes (he actually takes all his inputs from
files and sends all his outputs to files). He says the real problem in
programming is turning a program written for millions of processes into
one for a single process, and that's where he gets too complicated for
me. But of course with occam or JavaPP it is a non-problem.

Not sure how Yourdon and the others fit in, but again my impression is
that the ideas are very close to CSP.

Jackson, or his disciples, claim an order of magnitude reduction in bugs
and elapsed time, and the others can probably make similar claims.

The big difference between Occam and these structured programming
methodologies is that with Occam, the methodology is built into the
language, whereas the others need a transformation into code which is
highly error-prone. You have now given that benefit to Java.


(Got carried away there, and you can't put all that into the letter, but
if anyone is an expert on methodology and can provide a sentence or
short paragraph on this stuff, it might be useful.)

On the name JavaPP, we must be careful not to tread on Sun's trademarks,
and if you look at their web site they write TM after most of their uses
of the word Java. The reaction to the name at the confernce seemed
pretty positive, so it would be nice to keep it, but any use should be
qualified by something like 'Java is a trademark of Sun... JavaPP is the
name we are using for the time being, but we need to clear any trademark
issues'. (I quite like aPPlets as well, if you could find a way of
working these into the letter/article.)

It might be useful to send a very short letter to the editor saying you
are working on a letter for publication, ask how long a letter would be
acceptable, when he needs it, and if an article would be useful as well
as or instead of the letter.

Anyway, thanks again for a great conference, thanks for asking for
comments from this guy who has never written a program in his life, and
he looks forward to seeing your letter and/or article in IEEE computer.

Paul Walker
>OK!  Paul -- would you bring a copy of this article to Twente next week?
>Let's pen a reply during the meeting ... something along the lines:
>  o why are we getting into this mess in 1997 when everything to do with
>    things like race hazards on double-buffer FIFOs was *completely*
>    sorted out 20 years ago (CSP etc.).  The problem is that Java threads
>    are defined in terms of Tony Hoare's earlier idea of monitors.  Result
>    is that Java (in this area) is based on technology from the late 1960s
>    and it hurts ...
>  o there is a wealth of literature and industrial practice on doing this
>    properly, but it's being forgotten ...
>  o the occam (dare we mention that) and CSP community looked at this in the
>    context of Java one year ago.  A workshop was run last September that
>    sorted out these issues -- see results on the web.  Follow-up conference
>    with tutorials happening NOW -- buy the book!
>Is that too aggressive?

Paul Walker                      4Links                      phone/fax
paul@xxxxxxxxxxxxxxxxxx          P O Box 816, Two Mile Ash    +44 1908
http://www.walker.demon.co.uk    Milton Keynes MK8 8NS, UK      566253