[J3] Comments on 23-146

Van Snyder van.snyder at sbcglobal.net
Mon Feb 27 23:54:52 UTC 2023


On Mon, 2023-02-27 at 19:47 +0000, Jeff Hammond wrote:
> 
> 
> > On 27. Feb 2023, at 21.39, Van Snyder <van.snyder at sbcglobal.net>
> > wrote:
> > 
> > 
> > 
> 
> 
> > 
> > 
> > 
> > 
> > External email: Use caution opening links or attachments
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > On Mon, 2023-02-27 at 15:21 +0000, Jeff Hammond wrote:
> > > I would prefer that Fortran join this modern language set rather
> > > than fade into history like Ada.
> > 
> > 
> > 
> > WG9 has more members than WG5.
> > 
> > 
> 
> 
> 
> 
> This argument is of no intellectual merit whatsoever and I’m
> embarrassed for you that you made it.

It's easy to criticize something about which you are entirely ignorant,
but that just invites embarrassment.
The real embarrassment is the general ignorance among those who are
dabbling in language design of the widespead use of Ada. That mighe be
excused because it's in a different community from uses of Fortran and
people with narrow experience might not notice it. Because it's widely
used (but some don't know about it), WG9 has more members than WG5.
Here's just one example. When the Cassini mission to Saturn (on which I
worked) was being designed, Sandia kept promising to develop a
radiation-hard NS 16032. They never delivered. At about this time, the
CIA and Air Force and ... said "Hmmm, everybody (except apparently JPL)
knows about all the rad-hard processors we have. So we'll just publish
the list." JPL engineers collected the spec sheets, chose one, and
bought several. They built flight prototype computers and handed them
off to the software developers, who discovered that, being primarily
military products, the only programming environment available was Ada.
They were hopping mad. They had had their teeth all set to develop
flight software, for what ended up being 26 processors, in C++. They
soon found the compiler detecting errors that the C++ compiler
would/could never have caught -- catastrophic errors that would have
doomed a $billion mission. As with most cults, the newest recruits
became the most avid proselytizers.
Another example: Most of the software in the Boeing 777 is written in
Ada.
Critics of Fortran point to its original development in 1956, and its
first standard in 1966, and assert that it has "faded into history." We
know better, because we use it, and we know that there are modern
versions. As it turns out, in case you missed it, the Ada 1983 standard
has been revised in 1995, 2005, 2012, and 2022. It hasn't "faded into
history."  See https://www.adacore.com/about-ada/timeline-of-ada.
If one bothers to read "Concurrent and Real-Time Programming in Ada" by
Alan Burns and Andy Wellings, instead of engaging in ad hominem
attacks, one would understand why Ada developers and users found that
tasking was inherently less efficient than the alternative added in
2012: Protected variables. That was part of the "enhancements in the
area of real-time programming and multicore support" mentioned in the
abstract for the 2012 standard. An important addition in 1997 was the
Ravenscar tasking profile defined at the International Real-Time Ada
Workshop. This is considered to be "a major breakthrough in language
technology," especially for use in "applications with stringent safety
certification requirements." Another important addition in 2012 was
support for "programming by contract," which has been proposed many
times to help make Fortran programs more reliable, but for some reason
reliability always has lower priority than other projects.
One important decision that the Ada committees made was to reject
asynchronous constructs because they found they were too vulnerable to
deadlocks and securiity and safety problems. Do we really want to
introduce that into Fortran, without thinking deeply about it first,
just because other popular languages, some largely designed by
students, made the same mistake?
Does the Fortran community really want to ignore the experience of
others? Is it really necessary to do what one community has done, even
though another community has a better idea?
As George Santayana said, "Those who refuse to learn the lessons of
history are doomed to repeat them." But Hegel said it better: "The only
thing we learn from history is that we don't learn from history."

> Jeff
> 
> 
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.j3-fortran.org/pipermail/j3/attachments/20230227/72c168f1/attachment-0002.htm>


More information about the J3 mailing list