[comp.lang.fortran] Responses to M. Shapiro & K. Bierman, re: X3J3 and WG5

dd@beta.lanl.gov (Dan Davison) (04/08/89)

[A long answer to two messages in response to my message about
a Digital News article on the upcoming Fortran 8X draft vote.
The vote is by committee members to submit the draft to the public for
comment. (Or maybe that's "subject to public abuse" ;->) ]

Mike Shaprio says:
>But which Fortran should we let be Fortran?  The one with the PAUSE
>that actually stopped the machine?  

Aaaaacccck!

>The one with the READ INPUT TAPE statement?   The one with ENCODE and 
>DECODE statements?  The one with NAMELIST?  (QUIZ: Which of these is in
>Fortran-8x?)

Namelist (I looked ;-> ).

>I recall that when the FORTRAN 77 standard appeared, so did most of
>the same arguments.  Who would need all those extra features like
>comments beginning with an asterisk or an IF/THEN/ELSEIF/ENDIF
>statement block?  FORTRAN 66 (or FORTRAN IV or FORTRAN ??) was enough!
>And who would ever bother implementing the whole language?  

True.  I hope I'm wrong.  Given my experience with Cray compilers I
suspect the development time will be a tad longer than the block
structure.  Besides, ever compare compile times on CFT1.14 and CFT77?
You can get old waiting on CFT77, but at least the result is worth it.

> Michael Shapiro, Gould/General Systems Division (soon to be Encore)

Keith Bierman says:

> I suggest you study the last 10 years of meeting notes. It is not a CS
language product.

How would an outsider get copies of these?

>Inasmuch as WG5 "held out" for a very short list of features, in a
>very large document, it seems quite unreasonable to bitch about WG5
>running the show.

Waitaminnit.  My comments were based on the only information I had, the
Digital News article.  Your comment does not jibe with the article.

I now have a copy of the draft, and with the '77 standard in hand,
and the old 8x standard, I plan a cozy weekend of reading it over.
Hopefully all my perceptions are wrong.

BTW, there are others out there whose *perceptions* match mine.  
Perhaps the confusion over the last document had something to do 
with its presentation.

>Also note that you have had over a decade to voice your views.

Not me, I've only had the money to pay for the draft in the last two
years. That's not exactly encouraging comment.

>Modulo the misinformed comments

Perhaps if ANSI cared enough to make proposed standards available at
a sensible cost, you'd get the informed comment you prefer.  It's not
X3J3's responsibility, but complaining seems a little out of place.

>You may feel slighted because you invested a couple of days in reading the
>document, and some hours crafting your remarks. But there are many
>committee members who spent years negotiating the document, and who
>articulated your (the group you :>) views over a period of months.... 

No quarrel here.  I don't envy them, or deny that they did a enormous
amount of mostly thankless work.

>>Not to me.  I will read the proposed standard with a fairly open mind,
>>but it appears that we will get the European standard instead of a
>>US standard.

>Since we (americans) wrote the document, and continue to do all the>
>technical work, this is simply silly.

Ahh, semantics.

>And many of us who use fortran to earn our daily bread, and took the
>trouble to follow along for the last decade (I only joined as a member
>recently) are very, very certain that much more is needed. 

No argument here.  I've been Fortranning since 1973 and there's lots
that I'd add if I were designing a language, but then, I really liked
SAIL (a collision between Algol, Lisp, and assembly language on a *very*
dark night).  BTW, about 90-95% of my coding is Fortran.

>It makes no sense for a scientist to have to worry about how two
>entities are multiplied. 

Amen. I much prefer having the compiler figure out the most efficient
ordering of a matrix multiplication.  There are a phenominal number
of ways to do it badly on a Cray.

>The proposed standard will allow me to write code which will 
>be easier to read, port, maintain and tune. This is what I DEMAND 
>from a language for scientific applications. 

This is what I *wish*, or just give up  and use APL.  The problems
with APL write-once-APL are legendary.

dan davison

khb@fatcity.Sun.COM (Keith Bierman Sun Tactical Engineering) (04/10/89)

In article <24091@beta.lanl.gov> dd@beta.lanl.gov (Dan Davison) writes:
>
>Keith Bierman says:
>
>> I suggest you study the last 10 years of meeting notes. It is not a CS
>language product.
>
>How would an outsider get copies of these?

become an X3J3  observer. For $150ish/year you get everything
published by the committee. There is probably no formal mechanism for
procuring the entire collected back copies, but you can nag the old
time members.... :>

>
>>Inasmuch as WG5 "held out" for a very short list of features, in a
>>very large document, it seems quite unreasonable to bitch about WG5
>>running the show.
>
>Waitaminnit.  My comments were based on the only information I had, the
>Digital News article.  Your comment does not jibe with the article.

No. I understand what I'm talking about. 

>
>I now have a copy of the draft, and with the '77 standard in hand,
>and the old 8x standard, I plan a cozy weekend of reading it over.
>Hopefully all my perceptions are wrong.
>
>BTW, there are others out there whose *perceptions* match mine.  
>Perhaps the confusion over the last document had something to do 
>with its presentation.
>

Much did. Walt Brainard, does seminars. Jeanne Adams (chair) and J.
Wagoner (vice chair) have given tons of them. Learning the language
from the standards document is not a pleasant process. Alas, the
standards document MUST address the implementors, and not the users.
In europe there was much greater flexibility in presentation. ANSI
rules are more than a little constrictive.

>>Also note that you have had over a decade to voice your views.
>
>Not me, I've only had the money to pay for the draft in the last two
>years. That's not exactly encouraging comment.
>

The speakers listed above (and many others from the committee) work
for users (ncar, ammocco, university, for starters) and have been
speaking with, and for their user communities. If your organization
isn't represented, you can't blame the committee! All meetings are
open to the public. 

>>Modulo the misinformed comments
>
>Perhaps if ANSI cared enough to make proposed standards available at
>a sensible cost, you'd get the informed comment you prefer.  It's not
>X3J3's responsibility, but complaining seems a little out of place.

ANSI rules specifiy what the committee is allowed to do. ANSI uses the sale of
standards documents to finance itself. The european equivalents have
government support, so they feel differently about pricing stuff.

We understand that this is very counter-productive, and we are working
to find a way around the ANSI rules. But it is difficult.

>.....
>>>Not to me.  I will read the proposed standard with a fairly open mind,
>>>but it appears that we will get the European standard instead of a
>>>US standard.
>
>>Since we (americans) wrote the document, and continue to do all the>
>>technical work, this is simply silly.
>
>Ahh, semantics.

No. Those who write the document have the most control. Working from
memory (which is quite fallible) WG5 held out for :

1)	pointers, with a certain syntax

	(* which many americans asked for in public comment *)
	Pointers destroy 90% of optimization....we don't want f8x to
	be as non-optimizable as c. The user community has spoken,
	they WANT to give up optimization. The best we (vendors) can
	do is teach them NOT TO CODE WITH THEM.

	It is far from clear that the "european" syntax is better/worse
	than the "american" syntax. The "european" proposal was, in fact,
	written by american committee members.

2)	some misc "spelling" changes

3)	4, 5  escapes me this moment.

From where I sit, the pointer debate was the biggest difference
between the US and europeans. The committee debated the issue at
length over a period of years (long before I got there). And the
forces of optimization had won out. The american public comment, and
the euopean comment went strongly in favor of pointers. The syntax
selected has some chance of allowing optimization (unlike c).
>
....
>>entities are multiplied. 
>
>Amen. I much prefer having the compiler figure out the most efficient
>ordering of a matrix multiplication.  There are a phenominal number
>of ways to do it badly on a Cray.

Welcome f8x.

>
>>The proposed standard will allow me to write code which will 
>>be easier to read, port, maintain and tune. This is what I DEMAND 
>>from a language for scientific applications. 
>
>This is what I *wish*, or just give up  and use APL.  The problems
>with APL write-once-APL are legendary.
>

f8x is much better than APL. Before joining the vendor side, I was
involved in many Kalman filtering projects. With F8x, I can easily
create a library which knows about triangular matrices, and hides the
implementation from users...they will mainly write

	U = PHI * U

never knowing (or caring) that phi is square (or triangular), and that
u is always triangular (with D stored in the diagonal). 

Cheers.




Keith H. Bierman
It's Not My Fault ---- I Voted for Bill & Opus

bobal@microsoft.UUCP (Bob Allison) (04/11/89)

In article <98161@sun.Eng.Sun.COM> khb@sun.UUCP (Keith Bierman Sun Tactical Engineering) writes:
>In article <24091@beta.lanl.gov> dd@beta.lanl.gov (Dan Davison) writes:
>>
>>Keith Bierman says:
>>
>>>Inasmuch as WG5 "held out" for a very short list of features, in a
>>>very large document, it seems quite unreasonable to bitch about WG5
>>>running the show.
>>
>>Waitaminnit.  My comments were based on the only information I had, the
>>Digital News article.  Your comment does not jibe with the article.
>
>No. I understand what I'm talking about. 

Well, it is semantics again.  From my point of view, your "short" list
includes MODULE/USE, overloaded operators, what is now called KIND= real
precision, and pointers.  Frankly, I consider that a substantial portion
of the language.

At Jackson Hole, the committee was pretty seriously affected by the public
comment, to the point of seriously considering alternatives which stripped
the language significantly (perhaps a third to a half depending on your
metric).  By the next meeting, after the "ultimatum", the committee added
substantial features to 8X, including vector-valued subscripts (which no
one really asked for), and considered this to be an appropriate response
to the public.   Frankly, my feeling (and that of others, even some who
are going to vote "YES") is that the American public has been ignored 
as part of a political solution in the face of very well organized
ISO members.

>>
>>BTW, there are others out there whose *perceptions* match mine.  
>>Perhaps the confusion over the last document had something to do 
>>with its presentation.
>>
>
>Much did. Walt Brainard, does seminars. Jeanne Adams (chair) and J.
>Wagoner (vice chair) have given tons of them. Learning the language
>from the standards document is not a pleasant process. Alas, the
> [...]
>

A fact that I find substantial is that, despite all these seminars,
the American viewpoint is very negative.  Admittedly there were some
uninformed voices out there (hell, I have a hard time keeping up with
what is in and out myself), but there were also a fair number of well-informed
letters who had cogent arguments (albeit ones which have been heard
before, which doesn't make them intrinsically wrong or right) against
certain features and in favor of certain missing features.

>The speakers listed above (and many others from the committee) work
>for users (ncar, ammocco, university, for starters) and have been
>speaking with, and for their user communities. If your organization
>isn't represented, you can't blame the committee! All meetings are
>open to the public. 

Actually, the public comment letters we recieved from Amoco and NCAR
were against 8X.  Which is ironic.

Yes, meetings are open to the public, if you can afford to come.  
The next meeting is at Long Island and the hotels are $108/night.  
Also, please deposit $80 at the door to cover coffee and meeting
room expenses.

>>>>Not to me.  I will read the proposed standard with a fairly open mind,
>>>>but it appears that we will get the European standard instead of a
>>>>US standard.
>>
>>>Since we (americans) wrote the document, and continue to do all the>
>>>technical work, this is simply silly.
>>
>>Ahh, semantics.
>
>No. Those who write the document have the most control. Working from
>memory (which is quite fallible) WG5 held out for :
>
>1)	pointers, with a certain syntax
>
>       [...]
>2)	some misc "spelling" changes
>
>3)	4, 5  escapes me this moment.
>
>From where I sit, the pointer debate was the biggest difference
>between the US and europeans. The committee debated the issue at
>length over a period of years (long before I got there). And the
>forces of optimization had won out. The american public comment, and
>the euopean comment went strongly in favor of pointers. The syntax
>selected has some chance of allowing optimization (unlike c).

See my comments above.  I think you missed some fairly significant
events at Jackson Hole and the subsequent ISO meeting.  I agree the
American comment was in favor of pointers.

(In another article, Keith says:)

>It has been a couple of years since I last used MS fortran. When I
>last checked into it, I decided to stick with Lahey. I seriously doubt
>that MS will ever build a compiler as good as Tom's.

Well, the Lahey compiler certainly has the advantage that it hasn't
changed hands twice in the last two years (Austec just sold RM Fortran),
so I would have to say it is now a strong second.  However, I suspect 
we sell a few more compilers than Tom does and I think there are a 
few reasons why.  (In case someone can't tell, I work on the Fortran
compiler at Microsoft, so any obvious biases apply; however, I have
some pretty solid marketing information at my disposal).

For that matter, I could say I doubt Sun will ever build an 8X 
compiler as nice as their 77 compiler.  Words are cheap.

Finally, as someone who has had to draft a fair number of the public
review comment responses, I object strongly to you overuse of the term
"craft" in previous articles (at this point, I prefer the term 
"crank" as in "crank out responses").

Bob Allison
uunet!microsoft!bobal
(Yup, another of those pesky NO votes on X3J3, too)

khb@fatcity.Sun.COM (Keith Bierman Sun Tactical Engineering) (04/12/89)

In article <4008@microsoft.UUCP> bobal@microsoft.UUCP (Bob Allison (uunet!microsoft!bobal)) writes:

>... stuff about x3j3, the standard, etc.

It should be noted that Bob and I are speaking for ourselves. It has
been pointed out (*privately*) that ANSI rules require all public
comment to be answered. Said private party is taking notes and expects
to use it to torpedo the standards effort by the moral equivalent of
phillabustering (sp). *sigh*

Our feelings aside, there is no offical "silly proposal" bucket. All
public comments are formally responded to, as per the rules.

Bob and I disagree (clearly) in many areas. I was quite happy with the
standard before Jackson; and my current interest is to get us back to
where we were...or the best we can. (* btw: for the record, bob is a
nice guy and I bear him no ill will :> *)

One of the very anti-standard members and I discussed the issue of
presentation. He pointed out that when he gave a f8x presentation the
audiance came away anti. When he watched, say, J. Adams give one the
audiance was always strongly pro. Before I became I vendor, I used to
run into customers (we were consultants) who had just been briefed on
the standard by their vendor (who will remain nameless). They were
stongly against. Typically I was able to turn them around in 15 minutes
or less. Interestingly enough he had exactly the same experience. 

The current draft is different than the pre-Jackson document, but not
massively so. Code written to work with PJ document would be easy to
fix to work under the new document; with some notable changes (RANGE,
etc). But the features which I expect to be most heavily used (dynamic
arrays, simple array notation, portable numerics, operator
overloading, modules and keyword argument passing) have been modified
a bit, but for the most part the functionality is still there.

We should sign off the document and let the vendors and the buyers
take the next step.

Two footnotes:

1)	Bob, I still get stuck with PC based programs now and then,
	and I still think Tom's compiler is much better than yours.
	MS may have the marketshare, but Tom's is better.

	Since neither of you is working with Sun, I am completely unbiased.
	(may, of course, be wrong :>)

2)	I fully expect Sun's f88 compiler to be MUCH better than the
	f77 compiler; in _every_ respect. But the proof will take some
	time...

Cheers all.

As always, I speak for myself, by myself and with myself. Myself will
never be divided.
Keith H. Bierman
It's Not My Fault ---- I Voted for Bill & Opus