bean@putter.wpd.sgi.com (Bean Anderson) (09/13/90)
Ada has a new standard coming down the pike that addresses, amoung other things, Ada's floating point weaknesses and should make it acceptable in the high speed computation environments that traditionally have been dominated by Fortran. Many major traditional Fortran users are already switching over to Ada (e.g. NASA). Fortran 9X is becoming a complex language and those who want the extra features are going to switch to Ada -- those who do not want the extra features will stick with Fortran 77. Therefore, Fortran 9X will not be a major commercial language. I've heard this argument from several sources and I've seen the evidence myself of the switch to Ada. I know of several major companies that are either not doing a Fortran 9X compiler or are only paying lip service to the project. Obviously, those of us in the compiler business need to predict as accurately as possible what the customer base really wants (as opposed to what *we* think they need) in order to plan our future work. So, netland, what is the future for Fortran 9X? Is this argument just so much hogwash? Will Fortran live forever? Bean
maine@elxsi.dfrf.nasa.gov (Richard Maine) (09/14/90)
On 13 Sep 90 01:37:50 GMT, bean@putter.wpd.sgi.com (Bean Anderson) said:
Bean> Obviously, those of us in the compiler business need to
Bean> predict as accurately as possible what the customer base
Bean> really wants (as opposed to what *we* think they need) in
Bean> order to plan our future work.
Bean> So, netland, what is the future for Fortran 9X? Is this
Bean> argument just so much hogwash? Will Fortran live forever?
(Hi Bean)
Obviously a religious question, so let me be sure to say that my
crystal ball is broken today. I don't know what "the people"
will want, other than to be fairly confident that different ones
of them will want different things.
As for myself and myself only... I already have several thousand lines
of Fortran 90 code. (No, I haven't yet found a compiler to start
debugging it with). I experimented a bit with Ada, and though I liked
some features a lot, I went back to Fortran for my work. I design in
Fortran 90 for future code. Stuff that has to run today I code in
Fortran 77. In some cases, I'm playing with doing initial design in
Fortran 90 and then making "temporary" Fortran 77 versions based as
much as feasible on the Fortran 90 design.
I guess that answers your question for one user. I'll avoid going
into the reasons for my feelings because.
1) I don't have time today to write a book and you don't want to
read one anyway.
2) No sense in inviting too much religious war. Yes, others feel
differently and, indeed, different answers may be better for
them.
---
--
Richard Maine
maine@elxsi.dfrf.nasa.gov [130.134.64.6]ian@argosy.UUCP (Ian L. Kaplan) (09/14/90)
I am only partially familiar with the old version of Ada, so I
certainly do not know what new extensions have been proposed for the
new version. I am, however, familiar with Fortran 90.
In Fortran 90 arrays are first class objects on which all of the
basic atomic operations (+, -, *, /) can be performed. Many
intrinsics become array valued, user functions can return arrays and
arrays can be sectioned. Although Fortran 90 has many other features,
the support for array processing is, in my opinion, the most
important. The Fortran 90 array syntax provides a natural way to
express algorithms on multiprocessor machines. Unless the new Ada
supports these features, I do not think that it will supplant Fortran
90.
There are some side issues to keep in mind as well.
1. Fortran has "grown up" in the numeric community and supports
features specificly for numeric programming. These features include
the complex data type and a large set of intrinsics (for example,
Fortran 90 supports intrinsics for transpose and matrix multiply).
2. When Ada first came out the major focus was on implementing a
conforming Ada product. Since the language is so large and not
all the semantic implications were clear, a number of vendors were
late in this effort. Compared to the work on Fortran, I have
seen much less focus on developing highly efficient optimizing Ada
compilers. The performance of the compiled code is critical in
large numeric applications.
3. People forget how many years it took before Fortran 77 started to
become a widely adopted standard. The Fortran 90 standard has
only recently been adopted, so it is probably a little early to start
concluding that vendors will not implement it. How fast a vendor
implements it may depend on the sort of machine they sell.
Vendors selling vector processors (Alliant, for example) have
already implement some of Fortran 90's array features. Vendors
selling SIMD processors (MasPar and Thinking Machines) also
implement the array features. While these are all tiny companies
compared to IBM or DEC, these days most innovation comes from
small companies.
From what I can see, Ada has not met with broad acceptance outside
of the goverment, where people are forced to use it. If I were to
place a bet on a language that would start to eat into Fortran's
dominance in numeric programming I would bet on ANSI C.
Ian Kaplan
ian@mapar.com
argosy!ian@decwrl.dec.com
These opinions are my own and not those of MasPar Computer Corp.hht@sarnoff.sarnoff.com (Herbert H. Taylor x2733) (09/14/90)
**> Many major traditional Fortran users are already switching
**> over to Ada (e.g. NASA). Fortran 9X is becoming a complex
**> language and those who want the extra features are going to
**> switch to Ada -- those who do not want the extra features
**> will stick with Fortran 77. Therefore, Fortran 9X will not
**> be a major commercial language.
Actually, Fortran90 programs tend to be much less "complex" - as
you use the term here - then Fortran77. Lots of F77 nested loops
become clean single algebraic expressions.
**> I know of several major companies that are either not doing
**> a Fortran 9X compiler or are only paying lip service to the project.
Care to name them?
**> [comments deleted]
**> So, netland, what is the future for Fortran 9X?
There is of course the old joke: "We do not know what the scientific
programming language of the year 2000 will be but we do know it will be
called Fortran."
**> Is this argument just so much hogwash?
**> Will Fortran live forever?
Having asked essentially this question to researchers at dozens of
National labs during the past two years I am afraid the answer is,
"Certainly for a long time". The prevailing logic is, "would you
rather convert a million lines of something called 'fortran to
something else called 'fortran or to something called, 'ADA ?" Some
F90 re-writes may be nearly as difficult as complete ADA ports but to
the nervous types making the decisions its still easier to say,
"Fortran". This is not a flame at Fortran90 (which I happen to like)
but merely an admission that re-coding an algorithm in a new version
of any language which exploits new data structures can be harder then
starting from scratch in a "different" language with the appropriate
data structures.
The future success of F90 (and perhaps any new or extended language)
will closely "parallel" the emergence and success of systems which
exploit its data structures. In particular it appears to be a natural
for the massively parallel SIMD variety of systems - evidenced by
announced products from TMC, MasPar, DAP etc. It also appears to be a
natural for other SIMD systems such as the Princeton Engine,
Wavetracer, etc. I am not aware of any commercial Fortran90 products
for large MIMD systems but that doesn't mean it isn't being done.
Anybody know what's happening in the MIMD world?
herb taylor lamson@sierra.crd.ge.com (scott h lamson) (09/14/90)
>From: maine@elxsi.dfrf.nasa.gov (Richard Maine) >Fortran 77. In some cases, I'm playing with doing initial design in >Fortran 90 and then making "temporary" Fortran 77 versions based as >much as feasible on the Fortran 90 design. That's interesting. I have been doing some "design" and prototype execution in Mathematica, and then implementing it in Fortran when I haven't changed it for a month. -- Scott| ARPA: lamson@crd.ge.com Lamson| UUCP: uunet!crd.ge.com!lamson (518)387-5795| UUCP: uunet!sierra.crd.ge.com!lamson General Electric Corporate Research and Development
joe@etac632 (Joe Fulson-Woytek) (09/14/90)
:On 13 Sep 90 01:37:50 GMT, bean@putter.wpd.sgi.com (Bean Anderson) said: : :Obviously, those of us in the compiler business need to :predict as accurately as possible what the customer base :really wants (as opposed to what *we* think they need) in :order to plan our future work. : :So, netland, what is the future for Fortran 9X? Is this :argument just so much hogwash? Will Fortran live forever? : I just want to clarify something from this original posting. NASA is a large agency. The fact that some highly visible projects are using ADA does not mean that NASA as a whole is doing so. For the thousand + users of our supercomputer center (Cray Y-MP and IBM mainframes) Fortran is clearly the language of choice and will remain so for the foreseeable future. Joe Fulson-Woytek
usenet@nlm.nih.gov (usenet news poster) (09/25/90)
In article <1990Sep13.013750.24378@relay.wpd.sgi.com> bean@putter.wpd.sgi.com (Bean Anderson) writes: >Many major traditional Fortran users are already switching >over to Ada (e.g. NASA). Fortran 9X is becoming a complex >language and those who want the extra features are going to >switch to Ada -- those who do not want the extra features >will stick with Fortran 77. Therefore, Fortran 9X will not >be a major commercial language. [...] >So, netland, what is the future for Fortran 9X? Is this >argument just so much hogwash? Will Fortran live forever? In the academic chemistry/biophysics world a big, complicated, buggy and late Fortran 90 would run a greater risk of pushing people into C and C++ than into Ada. There are two driving forces behind this, the portability and the enormous number of C programmers in the world. Even if the current draft of Fortran 90 is accepted and the world sets out to write compilers, it is going to be at least two or three years before an academic scientist computing in a heterogeneous Unix/workstation environment is going to have any reasonable prospect of expecting code which utilizes the full functionality of Fortran 90 to port freely (and bug freely) between platforms from different vendors. Since heterogneous workstation environments are the norm rather than exception, this is a critical issue. A clear indication that vendors were committed to prompt Fortran 90 implementation would be a big help. C++ is available on a number of platforms now, offers upward compatability (from C), and, with object definition and operator overloading, much of the syntactic simplification of Fortran 90 arrays with much greater versatility. The major problem that I see with C++ is that these object definitions are not part of the language so everyone is free to implement their own (incompatible) versions. Imagine programing in C if every site wrote their own version of stdio.h. I don't think the pointer code efficiency issues in Fortran 90 are a major issue. If a clear compact syntax reduces the number of bugs in the 95% of my code which account for 2% of the run time, I will gladly do a profiling run and recode the few inner loops where it really matters. > Bean David States