Slashdot Mirror


Fortran 2000 Committee Draft

Richard Maine writes "John Reid, convenor of the ISO Fortran standards comittee, has posted the following announcement to some Fortran-related forums: 'I am pleased to tell you that the draft Fortran 2000 standard is now out for comment. ... The J3 (USA Fortran committee) version, which is identical except for the title page and the headers and footers, is available in ps, pdf, text, or source (latex). This is a very significant milestone for Fortran 2000. It is a major extension of Fortran 95 that has required a significant amount of development work by the J3. ... The abstract of the revision, which lists the major enhancements is appended. I have written an informal description of the new features, which will be published in the next issue of Fortran Forum (about to appear).'"

The formal position is that a CD (Committee Draft) Registration and Approval Ballot is in progress. The deadline for comments (from national bodies) is 27 December. Each national body will have its own deadline ahead of 27 December, so be sure to submit your personal comments to your national body well before then. For the USA, they should be sent to Deborah Donovan, email: ddonovan@itic.org. For the UK, they should be sent to David Muxworthy, email: d.muxworthy@ed.ac.uk.

John Reid, ISO/IEC JTC1/SC22/WG5 Convener

.................................................. ......................

ISO/IEC JTC1/SC22/WG5 N1494

Committee Draft revision of ISO/IEC 1539-1:1997 - Programming Language Fortran - Part 1: Base language

Abstract

Fortran is a computer language for scientific and technical programming that is tailored for efficient run-time execution on a wide variety of processors. It was first standardized in 1966 and the standard has since been revised three times (1978, 1991, 1997). The revision of 1991 was major and those of 1978 and 1997 were relatively minor. This proposed fourth revision is major and has been made following a meeting of ISO/IEC JTC1/SC22/WG5 in 1997 that considered all the requirements of users, as expressed through their national bodies.

The significant enhancements in the 1991 revision were dynamic storage, structures, derived types, pointers, type parameterization, modules, and array language. The main thrust of the 1997 revision was in connection with alignment with HPF (High Performance Fortran).

The major enhancements for this revision are

(1) Derived type enhancements: parameterized derived types, improved control of accessibility, improved structure constructors, and finalizers.

(2) Object oriented programming support: type extension and inheritance, polymorphism, dynamic type allocation, and type-bound procedures.

(3) Data manipulation enhancements: allocatable components, deferred type parameters, VOLATILE attribute, explicit type specification in array constructors, pointer enhancements, extended initialization expressions, and enhanced intrinsic procedures.

(4) Input/output enhancements: asynchronous transfer, stream access, user specified transfer operations for derived types, user specified control of rounding during format conversions, named constants for preconnected units, the flush statement, regularization of keywords, and access to error messages.

(5) Procedure pointers.

(6) Support for IEC 60559 (IEEE 754) exceptions.

(7) Interoperability with the C programming language.

(8) Support for international usage: access to ISO 10646 4-byte characters and choice of decimal or comma in numeric formatted input/output.

(9) Enhanced integration with the host operating system: access to command line arguments, environment variables, and processor error messages.

In addition, there are numerous minor enhancements.

Except in extremely minor ways, this revision is upwards compatible with the current standard, that is, a program that conforms to the present standard will conform to the revised standard.

The enhancements are in response to demands from users and will keep Fortran appropriate for the needs of present-day programmers without losing the vast investment in existing programs.

273 comments

  1. latex..hmmm... by selderrr · · Score: 3, Funny

    available in ps, pdf, text, or source (latex).

    Now who says Fortran is not a sexy language ?? hum ?

  2. "Fortran 2000" by i_am_pi · · Score: 0, Offtopic

    Is that like "Latin 2000" or "Greek XP"?

    1. Re:"Fortran 2000" by SEWilco · · Score: 2, Funny
      As someone whose first programming language was Fortran IV, I prefer to think of this as "Fortran MM".

      ...and I can assure you that computers in Year 4 were quite different than these photon-emitting wriggly things we have nowadays.

  3. Fortean 2000? by PhilHibbs · · Score: 1

    Am I the only one that read through half the main story, mis-reading every occurrence of Fortran as Fortean? I just surfed here from http://www.forteantimes.com, so imagine my surprise at what I thought was a major co-incidence.

  4. What is Fortran used for these days? by beanerspace · · Score: 4, Interesting
    As a programmer who cut his teeth on good-old K&R C back in the 80's and has been fortunate/unfortunate enough to avoid shooting himself in the foot with Fortran and/or Cobol ... I have 2 questions?
    1. What are the compelling reasons to use Fortran in 2002?
    2. Do they differ much from the use of Fortran in the past?
    3. Is it the same language as the Fortran of prior decades?
    4. Can someone summarize without the tech-eze the future of Fortran - especially in light of the aforementioned Fortran 2000 Committee Draft?

    Just curious I guess.
    1. Re:What is Fortran used for these days? by bsdparasite · · Score: 2, Informative
      It is still being used in structural analysis tools. These old fortran programs run and run well. Libraries of stuff have been built long ago and they just work. Sure, C is great, but for running simulations which are 2 days long on a Cray, Fortran can't be beat.

    2. Re:What is Fortran used for these days? by Quixote · · Score: 2, Funny

      I have 2 questions? 1. ..
      2. ..
      3. ..
      4. ..

      I think you have a bigger problem.

    3. Re:What is Fortran used for these days? by sisukapalli1 · · Score: 3, Informative

      There is one compelling reason for using Fortran still: the set of available libraries. By libraries, I do not mean generic libraries to connect to databases, or to parse XML, or such, but libraries that say, simulate the chemistry of gases in the atmosphere, and so on.

      The main pain with such libraries is the amount of effort that goes on into debugging and evaluating the code. In case of many Fortran libraries for numerical analysis, a lot of that work is already done. While, porting it to C/C++ or Java appears trivial (in most cases it is also not trivial), doing the QA involves unacceptable costs.

      There is also a thing or two to be said about the speeds, which many folks have noted.

      S

    4. Re:What is Fortran used for these days? by /ASCII · · Score: 5, Informative
      Fortran is NOT the same language as in prior decades. Some differences:
      • Fortran77 and earlier where made for punchcard machines. Incorrect indentation caued lines to be treated as comments, variable declarations or something other than what was intended.
      • For the same reason, anything past character 73 was a comment in Fortran77.
      • Fortran allows dynamic memory allocation nowdays.
      • Global variables don't use the hideous common block

      The list goes on and on, but these are changes that where implemented in Fortran90. Since then, attepts have been made to turn Fortran into an OO language. Aid i18n and other things to make Fortran less of a CS language.

      The reason you might want to try out Fortran is because of speed. Under gcc/Linux C may be the fastest language, but under Solaris, Irix, AIX and other oldschool OSes, Fortran is still speed king, for two reasons.

      Firstly, the Fortran compilers are well tuned mature products under these platforms.

      Secondly, the Fortran language makes all kinds of assumptions that the programmer must adhere to. Example: If a function recives two arrays, they must not overlap. This allows Fortran compilers to do loop unrolling in cases where a C-compiler cannot.

      --
      Try out fish, the friendly interactive shell.
    5. Re:What is Fortran used for these days? by vi-rocks · · Score: 4, Informative
      What are the compelling reasons to use Fortran in 2002?

      Fortran is still used quite a bit in scientific and engineering circles. There is a HUGE code base that people (understandably) do not want to give up. I spent three years in the mid-90's developing groundwater numerical models with Fortran90.

      Some reasearch instutituions and software development companies have starting using C; however, mainly for pre- and post-processors. Many are still using Fortran numerical engines.

      Another reason that Fortran was still popular (at least through the 90's) was that some of the major compilers (Such as IBMs Fortran complier) ROCKED. Some simulations that I was working on took weeks to peform and the compliers were very good at optimizing the Fortran code -- without the scientist getting too close to the hardware.

      I must admit; however, that today all my programming is either done in C, Objective-C, or Perl -- even though gcc will compile Fortran code. (Can you believe I wrote a postscript driver for printing evelopes on our lab's printer in Fortran! )

    6. Re:What is Fortran used for these days? by /ASCII · · Score: 2, Interesting

      Fortran90 and C play nice nowadays when it comes to cross language library usage. At least in my experience, which is limited to the standard compilers under IBM SP2, IRIX and Solaris.

      --
      Try out fish, the friendly interactive shell.
    7. Re:What is Fortran used for these days? by Draoi · · Score: 3, Interesting
      A lot of the human genome mapping stuff was written in Fortran. I knew one of the guys who was working on it (in Cambridge - UK, not MA!)

      Loadsa stuff on Fortran and genome mapping here This site has thousands of contemporary applications of Fortran. Just follow the link back up ...

      --
      Alison

      "It is a miracle that curiosity survives formal education." - Albert Einstein

    8. Re:What is Fortran used for these days? by slide-rule · · Score: 3, Interesting

      Let me somewhat answer w/ what I know from the basis of Fortran '90; I haven't seen anything specific on 2000. Where I work (large aerospace industry company) all the Fortran code is still the old-school stuff (F'77... or older); there's so much of it, and it uses so many anachronisms and non-ANSI (machine and/or compiler dependent tricks / hacks / bugs / unknown evil things) code constructs that the majority of it just *cannot* even be ported to '90. (I know... I tried porting a rather small thing over to only compile with the new compiler, and all the output was way, way wrong, owing to an unknown issue that I didn't have the skill and the boss didn't have the money to chase.)

      Now, F'90 didn't have true OO in it; it had just introduced "MODULE"s, and for those couple of us rebellious "young'uns" that embraced it, '90 was far and away better. I'm personally a big fan of more complete OO programming, but the bosses and supervisors here just cannot comprehend what it even is. (I've tried to explain it several times... their perspective, and perhaps refusal to learn from someone half their age, prevents their understanding at why OO is, generally, a Good Thing). Are the current Fortran languages similar? Well, in the sense that C++ is (or can be) similar to C, then yes... assuming you only code to the bits that you understand. But doing so really defeats the whole purpose of having revised the language.

      For my $0.02, with where Fortran seems to be trying to head (not that I've read the referenced draft; I haven't), we might as well write and compile with C++; the vaunted speed advantage starts bleeding away with (direct or indirect) access to pointers and other things, and my experience here the past several years is that said speed difference is mainly a function of the quality of the compiler anyway. (And ours sucks big hairy ones, and I won't say which one it is.)

      The biggest insurmountable hurdle here is that Fortran now-a-days is really only *used* in the scientific community, and, by and large, such community is less concerned with staying up with the new learning curve of programming practices and more concerned with getting the next thing done. (For a humorous semi-related example of this, consider our recent "port" of a well-used CFD code into Fortran '90... we changed the make file to use "f90" rather than "f77" and made sure it still compiled... huzzah! we now have a Fortran '90 program *cough*NOT*cough*...)

    9. Re:What is Fortran used for these days? by dAzED1 · · Score: 1

      I was kinda wondering about that myself, but figured eh, its early. Maybe my eyes haven't woken up yet.

      Guess they had!

    10. Re:What is Fortran used for these days? by Schnapple · · Score: 2, Funny
      This reminds me of an old joke I heard in College:

      What will Fortran look like 10 years from now?
      Who knows? But no matter what it looks like they'll still call it Fortran...

      OK, not exactly a rimshot joke

    11. Re:What is Fortran used for these days? by clary · · Score: 2

      Q: What programming language will engineers use in 50 years?

      A: I don't know, but they will call it Fortran.

      --

      "Rub her feet." -- L.L.

    12. Re:What is Fortran used for these days? by falzer · · Score: 1

      5. Is it possible to profit from Fortran 2000?

    13. Re:What is Fortran used for these days? by DaveAtFraud · · Score: 3, Informative
      Fortran is NOT the same language as in prior decades. Some differences:
      • Fortran77 and earlier where made for punchcard machines. Incorrect indentation caued lines to be treated as comments, variable declarations or something other than what was intended.
      • For the same reason, anything past character 73 was a comment in Fortran77.
      • Fortran allows dynamic memory allocation nowdays.
      • Global variables don't use the hideous common block
      Gee, I used FORTRAN 77 on VAXes through most of the early to mid 80s and we:
      • Didn't use punch cards: VT100s baby
      • Only comments and statement numbers had fixed columns: you're thinking of FORTRAN IV.
      • Clarification: 1 through 72 code, 73 through 80 were comments.
      • Dynamic memory allocation existed as a DEC extension to VAX FORTRAN. Lots of other hardware manufacturers provided the same capability, it just wasn't standard.
      • ...and explain to me the difference between a global variable and a variable in a common block.
      Also, last I checked (admitedly a while ago), FORTRAN under Linux gcc was translated to C for compilation.
      --
      They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
      Ben
    14. Re:What is Fortran used for these days? by mr_z_beeblebrox · · Score: 1

      ... I have 2 questions?

      What are the compelling reasons to use Fortran in 2002?

      As a BASIC programmer for a large distributor I will venture an educated guess at that. In the 70s and 80s there were not large financial, warehouse or other packages out in large quantities. Those that were out were very limited. Many companies (mine included) bought a package from a consultant and hired him on to modify it. Months became years and eventually the system fit them like a glove due to mods. Now, using our system for example, we evaluated many current systems and found that was close. To get the mods we felt gave us all our critical functionality would cost us 600,000 dollars. Not worth it. Basic and Fortran and Cobol all have vendors making system tools which link to their environment. For example, I can fax and e mail etc...basically I can do anything a modern app could do, just that we have to code it.

      Do they differ much from the use of Fortran in the past?

      Guessing, no. Still using it for business and science.

      Is it the same language as the Fortran of prior decades?

      Don't know.

      Can someone summarize without the tech-eze the future of Fortran - especially in light of the aforementioned Fortran 2000 Committee Draft?

      As long as people will pay for it, it will continue.

    15. Re:What is Fortran used for these days? by Anonymous Coward · · Score: 0

      Example: If a function recives two arrays, they must not overlap. This allows Fortran compilers to do loop unrolling in cases where a C-compiler cannot.

      The latest version of the C standard, C99, has a new keyword, restrict, that allows a C programmer to voluntarily mark pointer arguments as not overlapping. I know the above is just one example, but it's one that the C committee has addressed.

    16. Re:What is Fortran used for these days? by /ASCII · · Score: 1

      What I meant was that f77 was designed to be used with punchcards, which made for some bad syntax when editing using a terminal. Should have been more precise there.

      You're probably right about variable declarations not having their own column in f77, it's been a while.

      If you check my original comment, you'll see that I never said the common block is not a global variable. It's just that the syntax is awfull. Horrible. Evil. Like implicit variable declarations. Like the infamous "IF I=1.10" syntax.

      --
      Try out fish, the friendly interactive shell.
    17. Re:What is Fortran used for these days? by /ASCII · · Score: 1

      This begs the question how many C compilers actually take advantage of this feature. I don't know of any high performance fully compilant C99 compilers that are actually shipping. Support for C89 is getting there, albeit slowly.

      --
      Try out fish, the friendly interactive shell.
    18. Re:What is Fortran used for these days? by kaisyain · · Score: 2

      Blitz's benchmarks show that Fortran isn't quite the speed king you imply it is. As they show Blitz++ does more aggressive loop unrolling than Fortran. The main performance bottleneck seems to be that Blitz++ doesn't do loop jamming, although they show there are circumstances in which loop jamming makes the Fortran compilers slower. The moral of the story: benchmark, never assume.

      Fortran may be faster for your particular application. But it may be slower. If performance is that important then you have to write both and benchmark them. If performance isn't that important then other considerations (availability of libraries) dominate.

    19. Re:What is Fortran used for these days? by Anonymous Coward · · Score: 0
      ... Fortran77 and earlier where made for punchcard machines.

      Didn't use punch cards: VT100s baby

      Read his comment again, couple of times if necessary. He wasn't saying you have to use punch cards, but that due to its origins there were (are?) those silly restrictions on columns. Or are you saying the column oddities (and non-significant white space inside tokens) had nothing to do with punch cards?

      And as to DEC (or others extensions); it's like saying "Java can access Windows registry". Sure, vendors provide various extensions, but including them as "part of language" where no such thing was standardised is pretty misleading.

    20. Re:What is Fortran used for these days? by Anonymous Coward · · Score: 0

      (Can you believe I wrote a postscript driver for printing evelopes on our lab's printer in Fortran! )

      No. You're a liar. A dirty, rotten liar.

    21. Re:What is Fortran used for these days? by RealAlaskan · · Score: 1
      Also, last I checked (admitedly a while ago), FORTRAN under Linux gcc was translated to C for compilation.

      No. All the frontends, for Aida, C, Fortran, Java, et cetera, compile to a common object code (or assembler? Now my memory is failing.), which is then compiled by a single back end. So, different front ends, same back ends. Nothing gets ``compiled to C''. Unless, of course, you're using gcl, which compiles Lisp to C, which it then passes to gcc. But that's a whole 'nother kettle of eels.

    22. Re:What is Fortran used for these days? by horster · · Score: 1

      uh - no thannks, I'll stick with C for speed Java for enterprise and perl for a quick hacks.

      Thanks.

    23. Re:What is Fortran used for these days? by Fascist+Christ · · Score: 1

      "The time has come", the Walrus said, "To talk of many things: Of shoes and ships and sealing wax, of cabbages and kings."

      Although OT, I felt inclined to quote a song that references that quote.

      "Babies, and bachelors, fishes, cabbages, and queens don't know what's coming but they know what it means." -Todd Rundgren Worldwide Epiphany

      --
      TodayTM BillyJoelTM GoogleTMd for StitchTMes due to WindowsTM while RollerbladeTMing with an AppleTM and a PopsicleTM
    24. Re:What is Fortran used for these days? by orim · · Score: 1

      OK, I understand all the answers about legacy code. But doesn't a new set of specs and a new language imply continued development in that language?

      --
      "If you could only see what I've seen with your eyes..." - Roy Batty
    25. Re:What is Fortran used for these days? by beanerspace · · Score: 1

      I started out with 2 ... then added 2 more ... forgot to change the original line ... arg!

    26. Re:What is Fortran used for these days? by Anonymous Coward · · Score: 0

      That's true... only if you're an aero... ;)

    27. Re:What is Fortran used for these days? by Bndar+Log · · Score: 1
      Short answers:
      1. You use Fortran 90/95/2000 if you have old code in an earlier dialect, and you don't want to have to rewrite it from scratch.
      2. Yes. F90 has a portable way to do things like C structs (Vax Fortran 77 had structures, but they were a vendor extension). F90 has pointers, dynamic ("allocatable") arrays, a module facility, a portable way to specify precision for numeric types, whole-array operations, and other things. F95 added a few features that help with running Fortran on supercomputers. F2000 adds type-extension version of OOP, and other things.
      3. No, see 2 above.
      4. Fortran is evolving. Old features that are not used are being removed from the language; new features that wide experience suggests are useful, are being added.
      People claim that C/C++ compilers can be made to generate as fast of code as Fortran compilers, and that differences in performance are explainable solely as quality-of-implementation issues. This is not quite as true as you might think. The difference is that when a Fortran program uses aliasing, the program is not standard-compliant, and the compiler optimizer is free to botch your code. Experienced Fortran users know this, and write code without aliasing, and compilers make that code fly. In /theory/ with enough sweat, a C/C++ compiler could detect all the cases where aliasing isn't happening, and optimize as a Fortran compiler would. In practice, this doesn't happen, because Fortran users complain to the vendors when the optimizers break code, and C/C++ users mostly just take whatever they can get.

      That's not to denigrate C/C++ users --- it's just that the quality of optimization depends on what the standard language guarantees, AND on collective user expectations.

    28. Re:What is Fortran used for these days? by UrGeek · · Score: 1

      This is no good reason. What a waste of time!
      DIE, FORTRAN, DIE, DIE, DIE!

      And your sister, COBOL, too.

    29. Re:What is Fortran used for these days? by vi-rocks · · Score: 2, Informative
      No. You're a liar. A dirty, rotten liar.

      Man! I hate being called a liar -- OK, you asked for it! -- Here is the code. The executable was wrapped in a shell scrip that shuffled everything nicely along -- it also required standard input file (text) to define the address for the envelope

      A link to "EV" Fortran source code
    30. Re:What is Fortran used for these days? by Anonymous Coward · · Score: 0

      Yeah, I heard the Horse and Buggy are still reliable too...

    31. Re:What is Fortran used for these days? by Doctor+Faustus · · Score: 1

      I don't know a heck of a lot of FORTRAN, but I'm decent with PostScript (about to get rusty, because we're converting to XSL-FO at work). I don't get to see other people's PostScript code too often.

      Anyway, you've got a save at the beginning of the output, so shouldn't there be a restore? You're going to get save objects accumulating on the stack.

    32. Re:What is Fortran used for these days? by vi-rocks · · Score: 1

      LOL -- I didn't realize people were going to be reviewing my code. You are of course right :)

      This is the *only* PS code I had ever deveopled. It printed one evelope at a time and seemed to work. Picked up the Adobe manual and was able to figure out enough in a evening to get this to work (man, were those the days). As I remember, being familar with RPN really helped out when it came to PS programming. (BTW, all the coding was done on an RS/6000 -- his name was darcy -- sniff -- I miss him)

    33. Re:What is Fortran used for these days? by Anonymous Coward · · Score: 0

      But then again, the benchmarks for the PDE's and DAXPY routines (both very common uses for linpack/lapack) show potential for 3-15% performance losses compared to F77...

      I could care less about the mechanics of why loop jamming makes my code slower/faster/cooler, or recoding 200,000+ lines of F77 into C++ (even if I *do* get rid of the odd "GOTO"!), but I enjoy working on new approaches to modeling the physics of a probelem mathematically.

      Furthermore, it's the latter that typically results in the biggest advances in computational speed. Squeezing that last 2% of potential speed out of my Fortran code would be nice, but finding an effective way of utilizing a few thousand more processors is where I earn my keep.

    34. Re:What is Fortran used for these days? by iamwoodyjones · · Score: 1

      Oh, god I hope you're not from Lockeed.

      Becuase I'm from Boeing and I'm stuck in the middle of a huge Fortran 77 mess that they've been using the f90 compiler on. Oh god is it messy. Luckily I've written a PERL script that "semi" translates easy stuff. Then I go through and hand-audit the rest.

      But still. It's not the language I detest. It's all their horrible spagetti code they made.

    35. Re:What is Fortran used for these days? by slide-rule · · Score: 1

      Just to reassure you slightly, I'm not. However, think "fuel consumption device". ;-)

      Otherwise, what you say is true enough... it isn't the language specification itself that causes the problems as much as the general non-CS-ness that the engineers approach code-writing with. That being what it is, a CS-guru here has a glorified 'sed' script (well, very similarly anyway) to convert f77 syntax to f90 syntax. (strip line numbers, fix continuation marks, etc.) The shock and horror of my experience was, even only changing a couple things to satisfy 'f90' warnings and errors, *by hand*, the old pre-f77-code really ran differently (and not meaning that the precision changed the last sig.fig slightly... ASCII output graphs suddenly had no data traces in them, file output format was hosed as to be useless... very very frightening. I could only somewhat sympathize with the unfortunate 'owner' of that code when I was forced to say, "Well, it'll never work, here, with f90; I understand f77 is going away, and I understand Unix is also [mostly] going away, but there is nothing I can do." (Worse still for him, no one understood the vagaries of what it did, there is/was no documentation, and what little I could untangle was so inefficiently written as to make BASIC a nice alternative.) I went home and lamented what might've otherwise been a nice, useful, maintainable code. ::shudder::

    36. Re:What is Fortran used for these days? by tpv · · Score: 1

      Then you're ready to start programming in fortran ;)

      --
      Read more of this story at Slashdot.Read more of this story at Slashdot.Read more of this story at Slashdot.
    37. Re:What is Fortran used for these days? by iamwoodyjones · · Score: 1

      HAHAHAHA!
      You lamenated the horrible spagetti code? I almost did that too with this one routine. Isn't horrible to see all these routines just lying around gathering dust until they hire someone new to take care of them. They should have been taken care of the whole time. If code is grown instead of written, then these routines I see every day are like a child who's been neglected his whole life. The code needs a counsler not a programmer. I'm in that boat right now, and I want out fast! But, alas, I have no choice at the momement. It pays the bills quite nicely.

    38. Re:What is Fortran used for these days? by slide-rule · · Score: 1

      The code needs a counsler not a programmer. I'm in that boat right now, and I want out fast!

      This, for once, was where I managed to use one of the company's own 'lines' against it: "Hey, I'm just an engineer, not a paid, professional code guru." (Which seemed to nicely translate, as desired, to "This is bad... deal with it as-is or give it to someone else.") I hope you find your own way out before you go bug-fscking-nuts, though... especially if you *are* the paid, professional code-guru.

    39. Re:What is Fortran used for these days? by Tony-A · · Score: 1

      Fortran is a sort of universal machine language. If you are willing to be non-portable, it is quite feasable to program *anything* in Fortran. With the help of some asm code, I've even done top-down functional programming in Fortran. This was *after* the compiler became "unsupported". The code depended on *exactly* what the compiler did. The strange thing is that the functional code was not as slow as one would expect.

    40. Re:What is Fortran used for these days? by iamwoodyjones · · Score: 1

      *sigh*

      Unfortuanetly, I am suppose to fill those shoes. I work on math intensive code that was developed by mathmaticians and engineer's.

      They made a mess and hired me to clean it up. The worst part, though, is that they don't care about teaching me any of the math. I scored C's in all of my Calculus classes. But, I'm not as math illiterite as they suppose me to be. Of course, standarized tests can't be wrong, right? =P

      So, there's two groups. The first being the development group. They almost soley consist of mathematicians and others who don't know how to code very well. Then there's maintainence. That's the team I'm on. We're the people who have blindfolds on when we do our work, because the other team doesn't write any proper documentation and come from the knowledge-is-power-I-won't-tell-you perspective.

      I'm looking frantically to get out ASAP. I doubt it'll happen any time soon though.

      Well, enough ranting. You've been another cool dude that I've met over the years. Thanks for being a part of the never-ending-show I like to refer to as life.

  5. 2000? by viper21 · · Score: 1

    Do these folks realize that it is 2002 already? :-)

    Don't they have anybody in their marketing department? Any product labeled 2000 is going to look old. It should definitely be Fortran Millenium, or fortran 3000. Something catchy like that.

    -S

    1. Re:2000? by Anonymous Coward · · Score: 0

      You forget..

      Announcing the new..

      FortranXP.. part of the Fortran.NET initiative.

    2. Re:2000? by Sycraft-fu · · Score: 2

      They've had some problems with dates in teh past :). I seem to recall that after Fortran77 the next development version was called Fortran8X, because it was going to be finialized sometime in the 1980s. Well time bassed and it's now what we call Fortran90 becasue they didn't get it done until then.

      I assume with will be Fortran200X, with X being whatever year they finally nail down the final spec.

    3. Re:2000? by OrangeSpyderMan · · Score: 2

      I assume with will be Fortran200X, with X being whatever year they finally nail down the final spec.

      Better make that 20XX then, just to be on the safe side :-)

      --
      Try NetBSD... safe,straightforward,useful.
    4. Re:2000? by iabervon · · Score: 2

      That's the difference between C and Fortran. The group working on C9X, in a sudden burst of work, completed the standard in the middle of December 1999. Of course, they're still working on the details, but they got an official release out in the right decade.

  6. As they say... by cperciva · · Score: 2

    "I don't know what programming language we're going to be using in 2000, but it's going to be called Fortran."

    Ok, so we're not all using Fortran any more, but it isn't completely dead -- or rather, the language which is *now* called "Fortran" isn't completely dead, even though it has little in common with the original "Fortran" beyond the name.

    1. Re:As they say... by DaveAtFraud · · Score: 4, Interesting

      The original quote appeared in an issue of Scientific American that came out in the late 1990s. The article was on, you guessed it, the amazing longevity of FORTRAN. The bottom line is that there are a fantastic number of huge FORTRAN libraries out in the real world for doing all sorts of number crunching. The libraries are well understood, any bad behavior at boundary conditions is documented and they have a lot of milage on them so the results are generally regarded as valid. It makes far more sense to keep something called FORTRAN around that is compatible with this code than is does to attempt to re-write and re-test.

      Oh, and no one cares that there isn't a pretty GUI interface to programs for analyzing structural stress, heat flow analysis, doing x-ray crystalography, etc.

      --
      They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
      Ben
    2. Re:As they say... by OverCode@work · · Score: 2

      Maybe so. I'm kind of glad we're not stuck with the original C, or McCarthy's first version of Lisp. Both of those were pretty weak compared to ANSI C and Common Lisp. :)

      It's interesting to see Fortran continue to evolve. Evidently a lot of people like it, for one reason or another.

      Yet another language added to my list of things to learn at some point. :)

      -John

  7. Need a GNU version by alexhmit01 · · Score: 4, Insightful

    I had to learn F77 for a class my freshman year (1997, not THAT long ago) and we were working with F77. A part of that appeared to be because there were free compilers. Since most Fortran code is done in research groups that aren't computer groups, they may not all think to buy a real compiler.

    A Free F2000 compiler - that researchers here about - would go a long way towards getting Fortran coders into Fortran 2000.

    My understanding is that F95 and now F00 (or whatever) are "modern" langugages.

    Amazing what you can do WITH backwards compatibility if you put energy into it.

    Alex

    1. Re:Need a GNU version by Shimbo · · Score: 2, Interesting
      A Free F2000 compiler - that researchers here about - would go a long way towards getting Fortran coders into Fortran 2000.

      Yeah, trouble is a modern Fortran compiler is both hard to write and about as unsexy as it gets in the GNU/Linux world. Which is sad because the language is dismissed by folks who should know better, based on syntax that was obsolete even in F77.


      Now we can return to the: I haven't used Fortran for 25 years, has anything changed posts? And why doesn't someone write an OO language based on C?

    2. Re:Need a GNU version by sisukapalli1 · · Score: 1

      Try g77 -- the gnu version of fortran

      GNU Fortran 0.5.26 20000731 comes with Redhat (I checked on 7.0 and 7.3)

      S

    3. Re:Need a GNU version by Draoi · · Score: 2

      GNU already provides a compiler for Fortran77 - it's part of the gcc collection. There's also a drive to release a Fortran95 compiler.

      --
      Alison

      "It is a miracle that curiosity survives formal education." - Albert Einstein

    4. Re:Need a GNU version by Anonymous Coward · · Score: 0

      are you a dumbass?

      what do you think the 77 suffix denoted?

      he was asking for a Fortran 2000 compiler. jesus.

    5. Re:Need a GNU version by sql*kitten · · Score: 2

      Since most Fortran code is done in research groups that aren't computer groups, they may not all think to buy a real compiler.

      No, a research group with limited funding is more likely to buy a commercial compiler. The reason is the quality of code generation. I don't have the numbers to hand, but I have experienced vendor-supplied compilers like SPARCworks producing binaries that run twice as fast as identical code compiled with gcc (probably because gcc has limited ability to leverage platform specific features, and vendors have unlimited ability to do so). On PCs, Watcom had the best compiler for a while, and Motorola's compiler for PPC is the best on that platform. Spending money on a compiler can result in significantly lower hardware costs, particularly if you have few developers and lots of user workstations/compute nodes.

  8. But the big question of course is by tetrode · · Score: 1

    Will they support .NET? :wq

    1. Re:But the big question of course is by Anonymous Coward · · Score: 0



      Yes, they do (at least some compilers)

  9. Do they need psychiatric help? by Anonymous Coward · · Score: 0

    Fortran 2000 Committee Daft

    Oh, its "Fortran 2000 Committee Draft".

    Nevermind.

  10. Re:Do we care? by Pedrito · · Score: 5, Funny

    Isn't Fortran completely irrelevant in the 21st century anyways?

    Absolutely not!!! NASA uses it to slam probes into Mars.

  11. Re:First Fortran77 Post by Anonymous Coward · · Score: 0


    This hasn't been necessary since free format became
    part of the language in the Fortran 90 standard.
    Even before that, the "c" went in column 1...

    Fortran is still the best language to do numerical
    analysis. Little things like multidimensional arrays
    and complex numbers go a long way..

  12. If only fortran were useful by SlugLord · · Score: 2, Funny

    I'll start by admitting that I have little experience with fortran and with the applications thereof.

    That being said, what experience I do have is that fortran is excessively difficult to write and lacking in some of the basic features I'd expect a programming language (I'm not familiar with fortran 95, but fortran 77 ::shudder:: doesn't support recursion, lexical scoping, etc., to my knowledge)

    I can understand teaching fortran 77 to allow people do program for old interfaces and deal with the old code that would be expensive to rewrite, but why would you revise fortran to make it more usable? Why not just use C?

    Perhaps I'm missing something, but I think fortran should not be taught in college (it is required for some majors here) except in the context of the historical significance of fortran.

    1. Re:If only fortran were useful by WetCat · · Score: 2, Informative

      Because Fortran 90, for example, is one of
      the most parallelizable languages right now
      that support automatic parallelization to
      many CPUs.
      Because a lot of numeric libraries are available for that language.
      Because it's a lot easier to write numeric calculation programs on Fortran.

    2. Re:If only fortran were useful by RealAlaskan · · Score: 1
      ... what experience I do have is that fortran is excessively difficult to write and lacking in some of the basic features I'd expect a programming language ...

      You've missed the point of Fortran: Fortran is SIMPLE. FORTRAN is for FORmula TRANslation. If you have an equation, it is easy to translate it into Fortran. You do have functions and subroutines, so you can make your code readable, but you don't have any of the goodies that make C powerful, and nasty. It is difficult to shoot yourself in the foot with Fortran.

      If you have something that is best solved by recursion, you probably have a problem that isn't suited for Fortran. Or, more likely, you have a problem which you represent via recursion, but your program (after compilation) solves with a loop.

      If you stop pretending that Fortran is C, you'll find that for the set of problems it is meant for (number crunching, ideally with complex numbers), F77 is easier than C, and probably faster, as many other posts have explained already. My F77 program will be written, and run, while you're still debugging your arrays and pointers in C.

      Having said that, numerical python and R let you use the good old libraries (Atlas, Blas, Linpac, et al) without giving up the modern conveniences.

    3. Re:If only fortran were useful by gurgel · · Score: 1
      I'll start by admitting that I have little experience with fortran and with the applications thereof.

      ...

      I'm not familiar with fortran 95 ...

      If you do not no Fortran, then why do you think you are the right person to tell others if it should be thaught/used or not?

  13. Image problem by InnovATIONS · · Score: 1
    It is really hard for them to avoid the impression that they are behind the times when the DRAFT of the Fortran 2000 specification comes out in 2002.

    I mean when the final specification is released in what, 2004, everyone is going to say "Hey look, Fortran is a really up-to date language?"

    Would Ford show the prototype of the 2000 Focus in 2002 and then actually sell the 2000 Focus starting in 2005?

    1. Re:Image problem by alienmole · · Score: 2

      When your language is over 50 years old, a few years here or there doesn't make a difference. Nobody is choosing to use FORTRAN based on marketing literature.

    2. Re:Image problem by Anonymous Coward · · Score: 0

      IANAFP but I think Fortran 77 was released in 1980. So a 2004 release is not that far behind par.

      Of course, some of us remember Fortran IV

    3. Re:Image problem by vand · · Score: 1

      It is really hard for them to avoid the impression that they are behind the times when the DRAFT of the Fortran 2000 specification comes out in 2002.

      I mean when the final specification is released in what, 2004, everyone is going to say "Hey look, Fortran is a really up-to date language?"

      Would Ford show the prototype of the 2000 Focus in 2002 and then actually sell the 2000 Focus starting in 2005?


      Ford didn't have the guts to announce the specifications for the 2005 model year Focus in 1997, and announce that it would be shown as a concept car in 2000.

      Fortran 2000 is called that because in 1995 its first public review was originally scheduled to be in 2000. By the time the feature set was nailed down in 1997, it was clear that the first public review would be in 2002. You wouldn't even know if Ford slipped their first public review.

  14. Background on Fortran by tibbetts · · Score: 5, Informative

    For those of us under 50, here's some history of the granddaddy of all high-level programming languages.

    IIRC, my former graduate advisor and professor was on the team that wrote a very early Fortran compilers at MIT in the late 50s, written entirely on punch cards. We've come a long way in ~50 years.

    --
    :wq
    1. Re:Background on Fortran by voodoo1man · · Score: 1
      Well, you do have to at least give Fortran respect from a historical perspective and its influence. After all, McCarthy was inspired to invent Lisp in part by Fortran I's deficiencies and in part because the Algol committee wouldn't accept his recommendations =].

      All kidding aside, I would seriously love to see a good research paper on the reasons behind Fortran's (relatively) enormous success, especially compared to other languages of the era. I've briefly looked at some Fortran code, and I just can't understand why it's been consistently used for so long. Anyone have any links?

      --

      In the great CONS chain of life, you can either be the CAR or be in the CDR.

    2. Re:Background on Fortran by gorilla · · Score: 2

      I'd call COBOL the grandaddy of high level languages. FLOWMATIC, which evolved into COBOL, was started in 1952 by Grace Hopper, which makes it about 2 years older than FORTRAN.

    3. Re:Background on Fortran by Zordak · · Score: 1
      the reasons behind Fortran's (relatively) enormous success
      Complex numbers as a primitive. I'm not sure about early Fortran, but in Fortran90, you can even use primitive addition and subtraction on matrices. For example, if a, b and c are all matrices of complex variables, "c = a + b" performs the correct matrix addition. Fortran was built with science and engineering in mind. Newer languages seem to be targeted towards Computer Science problems, which is why all of the old tried-and-true physics modeling and simulation codes are written in Fortran.

      Newer stuff like C, C++, Java and even Pascal have their uses, but for raw scientific calculations, Fortran is DA BOMB!

      --

      Today's Sesame Street was brought to you by the number e.
    4. Re:Background on Fortran by jbolden · · Score: 2

      1) The compiled code is fast

      2) The language is very easy to learn; so people who are good at science but not necc. good at computer science can write good code in it.

      3) It was extremely innovative when it was invented.

    5. Re:Background on Fortran by Paul+Komarek · · Score: 2

      Parts 1 and 2 go together. Fortran prevents certain "pointer nightmares" allowed in C which reduce performance.

      -Paul Komarek

  15. Compile Time? by ellem · · Score: 2

    Damn! It takes a long time to compile Fortran... It's been two years already... And this is just a Draft!

    --
    This .sig is fake but accurate.
  16. Goodie! by peterdaly · · Score: 2

    This reminds me of a couple years ago when our AS/400 RPG programming group went to a users group meeting and found out about a "new" command which will finally allows them to manipulate dates as dates in RPG, not numbers!

    The really shocking part was the function had been part of their language for over 5 years. Imagine if my Java skills were 5 years out of date. I would be making flaming applets on webpages thinking that was advanced.

    In Fortran's favor, I do hear many people still use it today and it has plenty of good uses. I would like to know whether it really does, or whether the people who say that have their head in the sand. I am young enough to have missed most things Fortran, starting my programming with exposure with QBASIC then Pascal as my learning labguages.

    -Pete

    1. Re:Goodie! by stand · · Score: 1
      The really shocking part was the function had been part of their language for over 5 years. Imagine if my Java skills were 5 years out of date. I would be making flaming applets on webpages thinking that was advanced.

      Yeah, instead you are writing Java code that may not work in 5 years. I think your story shows a great strength of Fortran that gets lost in these days of "Internet time." There is something to be said for maturity and stability in a language.

      Of course, stagnation can be bad too.

      --
      Four fifths of all our troubles in this life would disappear if we would just sit down and keep still. -C. Coolidge
    2. Re:Goodie! by MadHungarian · · Score: 2, Interesting

      There are a lot of factories out running FORTRAN, usually on DEC/COMPAQ/HP OpenVMS systems to do plant floor control. I just ported an OpenVMS system to Windows 2000, about 1/3 of the code is FORTRAN. (Why not Linux you ask, because Linux does not have "events" like OpenVMS and Windows 2000 have. Given the extra time it would have taken to change the structure of the code, it was cheaper to buy Windows. Actually my customer would have prefered Linux.)

    3. Re:Goodie! by mprinkey · · Score: 1

      "There is something to be said for maturity and stability in a language."

      This is quite true, but there is a huge issue with functionality, stabilit, and performance of the compilers. The Fortran standard is fairly simple, so you would think that compiler makers could get it right. But, we have found that EVERY Linux Fortran compiler revision from EVERY vendor (except maybe Intel) introduces new glitches. There is no gold standard under Linux, though the Intel compiler might become one in another few years. All of the Fortran90+ compilers are closed source. The GCC Fortran compiler is Fortran77 and has no support for things like OpenMP.

      The big issue here is lack of market size. The potential market for Fortran compilers is about 1% of that for C or Java. The vendors just don't have enough customers/revenue to provide adequate QA and development, IMO.

  17. Re:And surprisingly in other news... by Anonymous Coward · · Score: 0

    >Fortran, Cobol, and Pascal are dead languages!!!

    You're not a Math major, you don't work in an Oil and Gas Exploration company, so you don't have much need of the first two. When was Pascal ever "alive?" It was never meant to be used for anything besides education.

  18. Could be a step backwards by CaptainAlbert · · Score: 2, Informative

    So, someone's finally noticed that using a souped-up version of BASIC for writing mission-critical numerical code is a bad idea. :)

    However, it's likely that most programmers who needed features such as inheritence, polymorphism, function pointers and so on have already bitten the bullet and moved to a C++ environment; trading off some gripes about the "standard implicit type conversions" (spit) for the increase in modularity, interoperability, etc. Introducing such features into the Fortran language now isn't going to re-write thirty years of pre-F2000 code. It feels like we're going to end up with "VB for scientists"at this rate!
    But the real reason that so many people still stubbornly use Fortran is *performance*. Because the language is so much simpler (i.e. less expressive) than C or Java, it's hell of a lot easier to perform optimisations on it. Good Fortran compilers can re-arrange loop nests and do all sorts of clever stuff to improve parallelism, locality, and other aspects of performance. Add expressiveness (in the form of pointers, for example) and you add many extra complications which can render the optimisations invalid. If you can't optimise it as aggressively as you used to, you've just lost the penultimate excuse that anyone is still writing in Fortran. (The last excuse is that the 500,000 line codebase they're working on is also written in Fortran :-)).

    Now I'm sure that lots of professional users and compiler writers have been involved in drafting the new standard, and that these concerns have been addressed. But I still reckon that Fortran needs euthanasia, not resurrection!

    There, my 2p is now your 2p :)

    --
    These sigs are more interesting tha
    1. Re:Could be a step backwards by slide-rule · · Score: 1
      But I still reckon that Fortran needs euthanasia, not resurrection!

      Forget euthanasia... it needs to be taken out behind the barn by a large farm boy with an axe handle and severely beaten to a pulp. ;-)
    2. Re:Could be a step backwards by smithmc · · Score: 1

      So, someone's finally noticed that using a souped-up version of BASIC

      Calling FORTRAN a "souped-up version of BASIC"? That's like slagging the Kinks for doing Van Halen covers.

      --
      Downmodding is the refuge of the weak. Don't downmod, make a better argument!
    3. Re:Could be a step backwards by vand · · Score: 1

      Perhaps Captain Albert hasn't noticed that Eisenhower is no longer president. There have been four editions of Fortran standards since its introduction in 1956, each one providing useful additional functionality. The next one does the same.

      Fortran isn't less expressive than C, it's differently expressive. Fortran lacks bit-level fields of structs, but it provides for array operations. The target of Fortran is scientific and engineering computing, not games or dishwasher controllers. When some people say that Fortran is less expressive than C, they mean that C has pointers. Well, Fortran has had pointers for a decade. But Fortran doesn't allow arithmetic with them. Some might say this means C is more expressive, but it was shown in the 1970's that C's allowing arithmetic on pointers causes C pointer optimization to be NP-hard. So you pay for C's "expressive pointers" by subverting any possibility to do a good job of optimizing them.

      Leslie Hatton has been studying software defects and their causes (look for his work in IEEE Computer Society publications). He found that the defect density in C++ programs is 2-3 times higher than in equivalent Fortran or Ada programs, and their cost-per-defect to repair is 2-3 times higher too, resulting in a six-fold increase in cost to "own" a C++ program. So you pay for C++ expressiveness with unreliable expensive-to-own programs.

      Hatton found C to be sufficiently fragile that he wrote "Safer C," to give some guidance to practitioners who insist on writing "mission critical" applications using an assembler designed for the PDP-11.

      When Rational and Verdix merged in 1994 Stephen Ziegler noticed that they both had developed equivalent products in C and Ada, and had kept very careful diaries. He observed that C programs have an "ownership" cost roughly twice the "ownership" cost of Ada programs. See
      http://www.rational.com/products/whitepapers/ 337.j sp

      One should use the correct tool for each job. Fortran remains the correct tool for computational mathematics. Additions to Fortran since 1966 have addressed difficulties in software engineering, making Fortran more suitable for other applications -- but not more suitable than other languages would be if there were no need for high-performance computation.

  19. Re:And surprisingly in other news... by MrFredBloggs · · Score: 1

    Whats a `dead language` then? We`re not talking about rap albums or september 11th t shirts here - its a functional tool for creating software. Or is the concept of writing software out of date now?

  20. Fortran 2000 replaces Fortran 95 by cornicefire · · Score: 1

    It took them two extra years to make it Y2K compliant! And civilization on earth didn't fail.

  21. Features in Fortran 90 by Anonymous Coward · · Score: 0

    Pointers and recursion!

  22. Nobody--AND I MEAN NOBODY-- by Anonymous Coward · · Score: 0

    has ever improved on the combination of FORTRAN and LISP. If you know those two languages, you can write better--MUCH BETTER--software faster--MUCH FASTER--than any C++/XML/Java/buzzword tosser can.

    1. Re:Nobody--AND I MEAN NOBODY-- by Hi+Larry! · · Score: 1

      Relax, Don't do it, ..., When you wanna...!

  23. Re:And surprisingly in other news... by hugesmile · · Score: 2, Informative
    You young whippersnappers don't appreciate the past. Computers and languages were here long before you were, and trust me, Slashdot wouldn't even exist, if it weren't for the pioneers working in Fortran and Cobol, and Grace Hopper running around with her 12 inch wire telling us what a nanosecond is.


    Those who don't learn from the past are condemed to repeat it. So learn to appreciate it, or your next job is going to be coding in Fortran 2000.


    10 if (you .ne. learnfrompast) then 10

  24. Suck mah balls by Anonymous Coward · · Score: 0


    Kudos to Cartman

    Post some good stories so I don't need to be AC!

  25. Re:And surprisingly in other news... by arivanov · · Score: 2

    I think it is you who needs to get his head out of his a...:

    1. Fortran will not die until someone rewrites all those scientific computation code into C. And this will not happen anytime in the immediate future. On top of it (the last time I tried) the fortran source generated by some popular symbolic computation packages (like Mapple) was usable (after hacking) and the C was not. C++ - not even f... close.

    2. Cobol - no comment.

    3. Pascal. I have been watching C++ programmers take a month what used to take me a day or so with TP for Windows or early Delphy. I know - neither of them is suitable for big projects but they will still blow away C++ for RAD even now. And I do not care anymore typing away in perl anyway ;-)

    So get a grip on reality and learn a bit about these "supposedly dead" programming languages before opening your a...e (err... mouth).

    --
    Baker's Law: Misery no longer loves company. Nowadays it insists on it
    http://www.sigsegv.cx/
  26. Re:Do we care? by T.E.D. · · Score: 3, Interesting
    Isn't Fortran completely irrelevant in the 21st century anyways?
    Absolutely not!!! NASA uses it to slam probes into Mars.

    I hope this gets modded up as funny (because it is). However, I feel compelled to point out two things:
    1. Fortran is indeed in wide use still. I know the Flight Simulator business is chock full of it. I'd suspect anything that involves a lot of number crunching and has been done for more than 5 years has a lot of it done in Fortran.
    2. The mars probe actually had an unusual amount of non-Fortran code in it. It had a great deal of AI software in it, which makes a bit of sense when you consider that you can't exactly have someone sitting in Houston trying to control it with a joystick in realtime. The ping time to Mars is just brutal. :-)

    So Fortran may have taken us to the Moon, but it takes an expert system to slam probes into Mars.

  27. Fortran 2000 comittee draft by PourYourselfSomeTea · · Score: 0, Redundant

    Oh man. It's only in draft and it's already two years behind!

  28. Re:First Fortran77 Post by snatchitup · · Score: 1

    That's right. Didn't labels start in column 2?

    And actually, maybe that was Fortran IV, and 77 got rid of the rediculousness of that, around the same time that Basic complilers started showing up in which you no longer need line numbers.

    Remember writing Basic programs line by line, and you'd realize you needed to insert some code. So you would issue the command:

    renumber 100

    It was silly, but at the time, I thought it was a major advancement over good ol Fortran.

  29. Re:Sad news ... Stephen King dead at 55 by waferhead · · Score: 1

    Can this text get added to the lameness filter?

    It's getting old...

  30. This raises an interesting question..... by dannyp · · Score: 3, Interesting

    How many /.-ers have ever written anything in Fortran? Sounds like a poll topic to me.....

    1. Re:This raises an interesting question..... by will_die · · Score: 1

      I did.
      In the first programming class in college we did 2 weeks on cobol and 2 weeks on fortran. Mainly as an intro to thoses past languages to show how nice modern computer languages are.
      I have actually done 6 months of cobol programming where I was paid for it, even got a month of formal training.

    2. Re:This raises an interesting question..... by Anonymous Coward · · Score: 1, Interesting

      Unfortunately, the language is still considered an essential prerequisite to an engineering degree at many universities. At ours, the choice is offered to take a Fortran course or a C++ course. Having learned C++ in high school, I opted to try something new. I'm currently in our college's introductory Fortran course. The language is the most antiquated, atavistic, anachronistic heap I've ever encountered. Any problem Fortran can solve is also solvable by C. The only excuse to still be using Fortran is to mantain old code and, on certain platforms, write lightining-quick optimized code. As the platform on which our school teaches Fortran is WinXP, I doubt that the latter is one of their concerns. Furthermore, they present Fortran as the optimal solution for modern engineering problems, so I doubt they're prompted merely by nostalgia.

      Fortran should be deprecated. We should not be teaching the next generation of professionals to be programming in Fortran. We should be doing our best to move them onto a new platform. Offer some Fortran experience later on, strictly so that they aren't totally oblivious, but make sure that you emphasize the obsoleteness of the language.

    3. Re:This raises an interesting question..... by vrt3 · · Score: 2
      I did, at university. Fortran 77. First in 1993-1994 as general introduction to programming (my study was not CS-oriented).

      And a few years later, in 1996-1997 to run some very simple simulations concerning ... ahum ... don't even remember ... it had something to do with physicochemics.
      Amazingly, I failed the exam, due to a combination of circumstances:

      • I had been practicing on my Pentium (100 MHz), which compiled the programs in a few seconds, using a decent editor
      • The assignment asked for a combination of two existing programs (we were provided with a small library of existing programs at the exam)
      • I wanted to copy-and-paste the two programs into one
      • The only editor on the PC didn't allow that (!)
      • I managed to combine them, but it resulted in a number of compilation errors
      • The damn PC was very slow: a compilation took over 5 minutes, during which I could do nothing else (it was running MS-DOS...)
      • There wasn't enough time fix all the bugs
      • 2 minutes before deadline, I saw the light: I was supposed to change a few numbers in the first program, let it run, note the output, use it as input into the second program and be done
      • 2 minutes was not enough to implement it that way (remember the slow compilation times)
      • I didn't see that solution at first because writing down a number on paper as a means of IPC is against my principles
      --
      This sig under construction. Please check back later.
    4. Re:This raises an interesting question..... by Anonymous Coward · · Score: 0

      I wrote hundreds of programs in Fortran (and PL/1) 1974 - 1982 , using cards, DEC LA120s, and other odd forms of program input. From the perspective of C# and Java, I can't see the slightest reason for this language to still exist. (From the perspective of Visual Basic, on the other hand... in fact I always thought that was a mistake brought on by Bill's interest in writing Basic interpreters...he should have gone Visual Fortran, or better, Visual PL/1)

    5. Re:This raises an interesting question..... by R2.0 · · Score: 1

      Lehigh U
      1986
      Engineering 1 (Yes, that was the class name)
      All Fortran, All the Time.

      --
      "As God is my witness, I thought turkeys could fly." A. Carlson
    6. Re:This raises an interesting question..... by turgid · · Score: 2

      I had to for my final year project at uni. I wasn't allowed to use C, and I had to write standards-compliant F77 i.e. with none of the convenient extensions. The program was to look for structure in simulated collapsing gas clouds in the intertellar medium, i.e. to look for protostars. I ended up having to implement a doubly linked list and binary trees inside (static) arrays. It was a miracle it worked. After learning C, going to FORTRAN was hell. You can see where early 80s microcomputer BASICs came from when you are reduced to writing FORTRAN-77, only the source formatting is worse...

    7. Re:This raises an interesting question..... by TeknoHog · · Score: 2
      As a physicist, I've written most of my scientific code in F90. It's far from a dead language. I agree with many people that F77 is a horrible mess, but F90 and later versions are excellent for scientific stuff, for example if you consider array handling features.

      The long history of FORTRAN (sic) means a large base of scientific libraries. This is also something that prevents switching to C[++] overnight. In fact I'd much prefer using F90+ for all low level code.

      --
      Escher was the first MC and Giger invented the HR department.
    8. Re:This raises an interesting question..... by Arcaeris · · Score: 1

      At my university, it's either ForTran 90 or C/C++ as one of the first classes every non-loser major has to take. C/C++ fills up ridiculously quickly, so it was ForTran for me.

      My brother actually got a job here programming to analyze data produced by some satellites or something, and it was all in ForTran 77.

    9. Re:This raises an interesting question..... by mprinkey · · Score: 1

      CompSci 202C, I think, at Penn State. Spring 1991. Fortran77 with Applications

      Engineers and Scientists do love their Fortran. I thought it was a little clunky as I was using Turbo Pascal before, and it spoiled me I guess.

    10. Re:This raises an interesting question..... by TheMatt · · Score: 2

      Yo. I have written a genetic algorithm for minimizing cluster energies in F95. I've written various utilities for my theoretical chemistry work in F95, e.g., a program for doing reflection-principle spectra from ab initio calculations.

      Also, (almost?) all major quantum chemistry programs are written in Fortran (usually FORTRAN77), so whenever I need to hack the programs to correct the output, or give me something new, you must do it in Fortran.

      --

      Fortran programmer...oh yeah. Array math for life!

    11. Re:This raises an interesting question..... by DaveAtFraud · · Score: 2

      Excised from my resume long ago:

      1980 to 1981 - Missile Applicatiopn Program - Timing and Resolution: optimize launch times for ICBMs and SLBMs to minize launch interval and probability of conflicting arrival. (IBM FORTRAN)
      1981 to 1982 - Missile Application Program - MIRV Domain Generation: provide interactive planning tool for assigning MIRVed missiles to targets. (IBM FORTRAN)
      1983 (early) - Can't talk about it but FORTRAN
      1983 - 1985 - Over-the-horizon Backscatter (OTH-B) Radar: Track History Programs (DEC FORTRAN 77)
      1985 - 1987 - Relocatable Over-the-horizon Radar (ROTH-R): Detection and Tracking related programs (DEC FORTRAN 77)

      Then I got to start writing stuff using Ada.

      --
      They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
      Ben
    12. Re:This raises an interesting question..... by Anonymous Coward · · Score: 0


      Every day!!!

      I first learned Fortran in high school in '88
      (along with Basic and Assembler)
      I switched to Pascal as an undergraduate
      (Turbo Pascal rocked!)
      Learned C as an intern at Los Alamos,
      and am now back to Fortran full-time.

      Everbody who thinks C++ is great for everything needs
      to pull their head out of their a**. If I was going
      to write a graphics front-end, I'd probably use C++ or Java (maybe TCL), but for pure number crunching,
      Fortran wins hands down.

    13. Re:This raises an interesting question..... by mce · · Score: 1

      Fortran (the WATFIV dialect/system, actually) was my first and only programing language when I came to the univ back in the 1983-85 timeframe. During my first year we even still had to use punched cards. We were supposed to be doing some very small assignments but were each given a certain number of extra "computer points" that we could spend as we saw fit. I don't remember the details, but it went along the lines of: each compilation run costs X points per Y cards; each second of CPU time consumed Z points; each sheet of paper printed costs 1 point; etc.

      Me not being satisfied with stupid the kind of little toy programs that my classmates were getting excited about, I opted to burn my points on a "game" program (yes, with punched cards!). The idea was that it first generated a 2D maze and then interpreted any remaining input cards as commands from a human player who had to find his way out. The program would comment on how well the player performed thereby revealing bits of info about the maze. The player was than supposed to rerun it with an other set of comands based on what (s)he had found out. Unfortunately, I only managed to actually run (not just compile) this thing about 5 times before my points were all used up. So I never got all the bugs out. But I still have all the cards!

      Having learned from that experience, I used my second year extra points not to program more useless Fortran stuff, but to print out the entire set of manuals for CP and VM/CMS. That gave me a lot of very useful material to find out how OS-es worked "as seen from the outside". And I still have all those listings too!

      After that, I opted for CS major and Fortan disappeared from the radar screen except in one class about numerical approximation and the like. That was in somewhere in 1986-88.

      I haven't touched it since.

    14. Re:This raises an interesting question..... by skyhawker · · Score: 1

      I have to admit I learned Fortran in high school in 1966. And we did use punch cards. Programming the card puncher to automatically skip columns and stuff was part of the fun.

      --

      The best diplomat I know is a fully activated phaser bank.
      -- Scotty.
    15. Re:This raises an interesting question..... by foobar104 · · Score: 2

      I wrote (well, wrote most of) the engine module for an F-16 flight simulator. All in Fortran 77. Did a bunch of work on the simexec, too, which was in Ada 83.

      I'm conflicted. I'm not sure if I'm bragging, or confessing.

    16. Re:This raises an interesting question..... by Anonymous Coward · · Score: 0

      So... in other words, you're a fucking idiot who couldn't program himself out of a paper bag, and who also likes to blame his tools (the computer was too slow, the editor wouldn't let me cut-and-paste) instead of taking responsibility for missing the boat.

      Did I crack your code?

    17. Re:This raises an interesting question..... by herc_mk2 · · Score: 1

      I spent about 5 years (1985-1990) at the US Dept of Health & Human Services, doing simulations and modelling. Virtually all of the work our group did was in Fortran or SAS.

      It was all on IBM mainframes, since most of our input data was the entire US decennial census. It's 12 years later now, but I still don't think there are too many PCs that could crunch and massage that amount of data in a reasonable time...

    18. Re:This raises an interesting question..... by fishbowl · · Score: 2

      I wrote a Turing machine simulator, a lexical analyzer (actually more of a weighted million monkeys simulator), and a card game in fortran, between 1978 and 1979. I wrote my own random number generator also. My programs worked on the compiler in the Burroughs B6700 and the Microsoft compiler for TRS-80 Model I. Somewhere I have all this on paper tape, printouts, and 5.25" floppies.

      --
      -fb Everything not expressly forbidden is now mandatory.
    19. Re:This raises an interesting question..... by Degrees · · Score: 1

      I am one of those people who learned FORTRAN as my first programming language in high school - one full year (1979/80) on punched cards. Then, at the local community college, I had four more semesters of it - but took a COBOL class, as I liked programming better than calculus. Then, still in school, I learned BASIC - which led to the lightbulb going on: this is FORTRAN. Ok, it is FORTRAN for kiddies, but learning how to program FORTRAN meant instant understanding of BASIC.

      One of the best things I got out of my last FORTRAN class was structured programming using Nasi-Schneiderman flowcharts. "Structured prgramming" is just a fancy way of saying 'top-down, stepwise refinement', but like the scientific method, its a bulldozer for any real problem you want to solve. The Nasi-Schneiderman flowcharts were great help - and we even used a pencil and ruler to draw the flowchart on the program code printout.

      In what has got to be God's sense of just irony, I ended up becoming a professional programmer in a horrible little language called RPG II (well, at least for three years). Don't drop out of school to take a job in industry, kids. An engineering degree would have gotten me a lot farther, faster, and would have given me better chances for mobility.

      But I digress. I liked FORTRAN; that led me to those Nasi-Schneiderman flowcharts, which I now use for all my procedural diagramming. (Not that I get to do much any more....)

      --
      "The most sensible request of government we make is not, "Do something!" But "Quit it!"
  31. Genome@home by Anonymous Coward · · Score: 0

    I just want to mention that the SPA algorithm that Genome@home uses to make genes is written in Fortran.

  32. Re:And surprisingly in other news... by Anonymous Coward · · Score: 0

    >Fortran, Cobol, and Pascal are dead languages!!!

    i know, i wont believe it until netcraft confirms it.

  33. Re:And surprisingly in other news... by Anonymous Coward · · Score: 0

    Damn straight, why just yesterday I coded a new FEA application entirely in Python! And those accounting types downstairs slammed out some spaghetti code in Perl... They're the only ones who can understand it. Oh, and now that Java has replaced Pascal as the introductory language of choice in CS departments everywhere, we've gotten a lot fewer competent Computer Scientists and gotten a lot more average Computer Programmers. Pity, that. Code monkeys are much less valuable.

  34. Neither Fortran, Latin, nor Greek is dead by yerricde · · Score: 3, Informative

    You compare Fortran 2000 to supposedly "dead" spoken languages with Microsoft version numbers after them.

    Fortran is not dead. It is still used for numerical computation because its default pointer aliasing rules allow. C only picked up similar aliasing rules in C99, which no common compiler fully supports yet.

    Latin is not dead. It simply became Italian, with forks turning into Romanian, Spanish, and French, and then Portuguese, Sardinian, and several other languages forking in turn from those.

    Greek is not dead. What the heck do you think they speak in Greece?

    --
    Will I retire or break 10K?
    1. Re:Neither Fortran, Latin, nor Greek is dead by fsmunoz · · Score: 3, Informative

      Latin is not dead. It simply became Italian, with forks turning into Romanian, Spanish, and French, and then Portuguese, Sardinian, and several other languages forking in turn from those.

      Actually that's not quite right; all the neo-latin languages are directly descendant from Latin (minus perhaps local variations that are that: variations). Romanian, Spanish French, Portuguese, Sardinian, etc, were all derivations from latin (i.e. all first descendants). TO add more fuel to the fire 'Spanish' is actually a gross generalization; it should be properly called Castillian, since it was the language of the Kingdom of Castille and appeared at the same time as Portuguese, Leonese and Catalan (Occitan).

      cheers,

      fsmunoz

  35. Fortran & C by Anonymous Coward · · Score: 1, Insightful

    I think that Fortran's move towards OO,
    will not be of interest to most fortran coders
    (who use fortran for the libraries, or who
    cannot be bothered to learn another language).

    It is interesting that C is not moving
    in this direction, and instead the recent C99
    revision addressed many the complaints of Fortran
    coders (by introducing complex.h etc).

    -j

    1. Re:Fortran & C by turgid · · Score: 1

      C already went in that direction, twice. It's called C++ and Objective-C.

  36. erm... Fortran allows what? Vectorization. by Anonymous Coward · · Score: 1, Informative

    It is still used for numerical computation because its default pointer aliasing rules allow

    erm... you forgot to say what they allow. Fortran's default pointer aliasing rules prohibit two arrays passed to one subroutine from aliasing to one another. This allows for code optimization using a processor's vector units.

    1. Re:erm... Fortran allows what? Vectorization. by gnuadam · · Score: 1

      ...which assumes that your processor has vector units, and that your compiler is smart enough to know about them.

      A large amount of science is now done on commodity intel pentium chips with gcc (g77). Not a big win, I'd say.

      --
      You say :wq, I say ZZ. Why can't we all just get along?
    2. Re:erm... Fortran allows what? Vectorization. by foobar104 · · Score: 2

      A large amount of science is now done on commodity intel pentium chips with gcc (g77).

      Depends on how you define "large," I suppose. There might be a lot of engineers and scientists out there running numerical analysis code on commodity hardware, but an awful lot of that kind of work still gets done on big vector-processing supercomputer systems like Crays. There are still a lot of J90's out there running Fortran code for companies like Ford and Boeing, and at seemingly every major university in the world. And NEC's SX series is, according to everything I've heard so far, selling very well.

      Don't assume that vector computers are dead just because you've never seen one.

    3. Re:erm... Fortran allows what? Vectorization. by gnuadam · · Score: 1

      I define large as, well, large. I'm a scientist. Everyone I know in my field (computational chemistry) has run code on intel/amd machines, and many do so as their primary source of computer power.

      And I have seen a cray. I've run code on the university's cray. Guess what, my university is getting rid of its cray to buy a massive linux cluster. Check any university you please and I'll lay 50-50 odds that they have recently or will soon purchase a 100+ node commodity cluster. Hell, even my puny research group is buying a 50 processor cluster. There's just too much power for too cheap to keep supporting expensive hardware for anything but things that just don't distribute well.

      I never said vector processing was dead, I just said it's not safe to assume they're the only game in town anymore for serious science.

      --
      You say :wq, I say ZZ. Why can't we all just get along?
    4. Re:erm... Fortran allows what? Vectorization. by Anonymous Coward · · Score: 0

      Ha. You know absolutely nothing.

  37. Re:And surprisingly in other news... by Anonymous Coward · · Score: 0

    No, you fool! You've fallen into the same trap: C is not a "modern" language! Do they teach C in college anymore? Nope (not as an intro language, and almost never as a core requirement, anyway). They teach Java! Throw out all those useless C applications and rejoice at your modernity! What's that? No OS, you say? Pish!

  38. Fortran .NET actually exists by yerricde · · Score: 2

    FortranXP.. part of the Fortran.NET initiative.

    Fortran for .NET is real.

    That was just the first result from this Google search.

    --
    Will I retire or break 10K?
  39. Yes by Anonymous Coward · · Score: 0
    1. Re:Yes by Schnapple · · Score: 2
      I fired up the preview Fortran.NET edition. It becomes instantly obvious why this is around and, for some, neccessary. They showed how Windows Forms and ASP.NET can work with existing Fortran code and they have some interesting examples. Mathematical modeling that was written back in 1985 is rendered on a Windows Form.

      The real reason of course why we have a Fortran.NET is because it's being done (primarily) by Lahey, and without Fortran, Lahey is nothing. They're not about to let this ".NET Thing" pass them by.

  40. Ever tried Delphi? by yerricde · · Score: 1

    When was Pascal ever "alive?"

    Ask Borland.

    --
    Will I retire or break 10K?
  41. Re:First Fortran77 Post by slickwillie · · Score: 2

    I thought the 'C' went in column 6. It makes the draft standards really hard to read, especially if you get the punchcard format.

  42. Object Oriented Fortran by Anonymous Coward · · Score: 1, Funny

    OOF!

    1. Re:Object Oriented Fortran by Anonymous Coward · · Score: 0

      Object Oriented Fortran = OOF!

      Generated Object Oriented Fortran = GOOF

    2. Re:Object Oriented Fortran by Anonymous Coward · · Score: 0

      FOOBAR

      'nuff said ;-)

  43. Difference between FORTRAN 2000 and... by sphealey · · Score: 2
    Could someone please explain how FORTRAN 2000 is different from Ada? Or PL/I for that matter? Talk about extending something past the point of its intended use until it reaches escape velocity from reality...

    sPh

    1. Re:Difference between FORTRAN 2000 and... by Dirk+Pitt · · Score: 2
      Well, for starters, Fortran 2000 is different than Ada and PL/I in that it will be backwards compatible with F90, allowing the MILLIONS of lines of F90 code in production to move forward.

      Secondly, in FEA and CAD there are always big pushes to migrate to C++ or another 'modern' language, only to be rejected because standard C/C++ math libraries aren't fast enough for high-end sci apps (HUGE matrix operations, millions+ DOF models, weather prediction, etc.), or, at least the performance/efficiency gains aren't good enough to warrant migration. Not to mention there are a scary number of MechE's and other scientists out there who think that FORTRAN is the only extant language. ;-)

    2. Re:Difference between FORTRAN 2000 and... by sphealey · · Score: 2
      Well, for starters, Fortran 2000 is different than Ada and PL/I in that it will be backwards compatible with F90, allowing the MILLIONS of lines of F90 code in production to move forward.
      Mind you, this is all tongue in cheek. No language wars needed today!

      But IRRC, a PL/I compiler will compile FORTRAN 66 code with no complaints.

      sPh

    3. Re:Difference between FORTRAN 2000 and... by William+Tanksley · · Score: 2

      But IRRC, a PL/I compiler will compile FORTRAN 66 code with no complaints.

      A PL/I compiler will compile Befunge code with no complaints :-). An amazing language -- if you can put two tokens together, the language design committee probably assigned them a meaning.

      (But not one which makes sense of Befunge, of course. :-)

      -Billy

    4. Re:Difference between FORTRAN 2000 and... by sphealey · · Score: 2
      Well, when one chooses to use a 200-blade Swiss Army Knife, one takes one's chances!

      But seriously, I believe it is actually part of the design spec of PL/I that it compile FORTRAN 66 "decks" correctly. Of course, we know now how well that little marketing trick worked out.

      sPh

  44. Penultimate FORTRAN program by sjonke · · Score: 1

    FORTRAN_TO_C.F

    Damn - now it has to be updated.

    --
    --- What?
  45. Ave frater! by BluBrick · · Score: 2

    "Zero" non numerum est!

    --
    Ahh - My eye!
    The doctor said I'm not supposed to get Slashdot in it!
  46. Why I write science in C not fortran by gnuadam · · Score: 1

    Because C is also a very parallelizable language with hooks for both MPI and openMP and even PVM if you really want. Because automatic parallelization sucks, even in fortran. Because I can either find numerical libraries in C or I can link with the fortran ones. Because at the end of the day, I can read C easier than I can fortran and with correct use of the compiler, I can get it as (nearly as?) fast as fortran. The only reason fortran is still around in science is legacy code (which is fine by me, I don't want to port it) but new code should be written in what the programmer is more comfortable with debugging. And I disagree strongly that writing even numerical code is easier in fortran ... for me.

    And FORTRAN is a niche language. FORTRAN is only really useful for number crunching. If you learn C you can do it all.

    --
    You say :wq, I say ZZ. Why can't we all just get along?
    1. Re:Why I write science in C not fortran by WetCat · · Score: 1

      1)Surely you can! Fortran just have its own place of applicability, and it will hold it,
      same as Mac people do not want to give their Macs for PC.
      2)Unlike C, Fortran 90 (NOT Fortran 77!) has parallel features
      built in language, not libraries. Loops can
      be parallelized without programmer interaction, for example. It makes creation
      of parallel programs easier.

    2. Re:Why I write science in C not fortran by foobar104 · · Score: 2, Troll

      Because C is also a very parallelizable language with hooks for both MPI and openMP and even PVM if you really want.

      You don't get it. A high-quality Fortran compiler will unroll your inner loops for you, creating an executable that will spread your non-dependent iterations across multiple CPUs. This happens automatically. SGI's old Fortran compiler, Power Fortran, was exceptional at this. I haven't used the new F90 compiler myself, but I understand it's just fine at autoparallelization as well.

      The only reason fortran is still around in science is legacy code (which is fine by me, I don't want to port it) but new code should be written in what the programmer is more comfortable with debugging.

      Agreed! Fortunately, in engineering, the kids are still coming out of the schools with fluency in Fortran. That way, they can use not only the language they're most comfortable with, but also the language that's best suited for the job.

      And FORTRAN is a niche language... If you learn C you can do it all.

      I think we're getting to the point where C will be considered about as useful as assembler. That is to say, for some tasks it's essential. For most, though, it's more trouble than its worth.

    3. Re:Why I write science in C not fortran by zrodney · · Score: 1

      I think we're getting to the point where C will be considered about as useful as assembler. That is to say, for some tasks it's essential. For most, though, it's more trouble than its worth.

      Thank you for your expert opinon on language development. Having read your thoughts,
      I am convinced that it was more trouble than
      it was worth. :-P

    4. Re:Why I write science in C not fortran by gnuadam · · Score: 1

      Not to be rude or anything, but I do get it. "Unrolling" inner loops is a risky thing and works sometimes and not others. I've seen autoparallization fail miserably. Far better to find critical areas yourself and use openMP to do it for you, anyway.

      As for the FORTRAN fluency thing. I graduated in 1999 with a degree in chemistry. I work now in the computational chemistry field. Almost everything is written in fortran. I was forced to take fortran, and I agree it's a good thing. But I much prefer C for the reasons I gave above.

      --
      You say :wq, I say ZZ. Why can't we all just get along?
    5. Re:Why I write science in C not fortran by gnuadam · · Score: 1

      2)Unlike C, Fortran 90 (NOT Fortran 77!) has parallel features built in language, not libraries. Loops can be parallelized without programmer interaction, for example. It makes creation of parallel programs easier.

      1. There are many c compilers that have autoparallization features. The IBM compiler (xlc) that shipped with my university's IBM regatta has such a feature. The C compiler I use on the Origin 2000's at NCSA also has it. It's dangerous to use, because it mostly sucks.

      2. OpenMP is a compiler specification, so writing SMP code in C is supported by the compiler - no libraries needed for basic parallelization. Even FORTRAN has to resort to libraries to get parallization on a distributed system (ie a cluster).

      --
      You say :wq, I say ZZ. Why can't we all just get along?
  47. What, no standardised exception handling? by gowen · · Score: 2

    As someone who writes Fortran 95 that has to be portable between two Intel Linux boxes (one w/NAG fortran on with Intels), and an OSF1 with Digital FORTRAN, standardised exception/signal handling [not just IEEE_FPE] would make my life soooo easy right now (the DEC one is great [ie Just Like C], the rest are ugly/nonexistent [or, at least, I can't find'em]).

    Actually, can I turn this into an AskSlashdot - Are there any really portable methods for doing exception handling in F95?

    --
    Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
  48. Re:And surprisingly in other news... by PythonOrRuby · · Score: 4, Informative

    I think in general it helps to teach more than one language. The current trend is to have a "core language" that schools teach in excruciating detail so that students will be able to go out and get a job right away, because they have a "skill".

    But much of the time, they don't understand how or why what they've been taught actually works, which makes learning other programming languages vastly more difficult, since they're focusing on what's different in the syntax rather than on what's the same in the semantics.

  49. FORTRAN IS GREAT FOR MULTIPROCESSING by goombah99 · · Score: 2, Informative

    Fortran has some notable advantages over C. Perhaps the most latent advantage is in the realm of multi-processing. For example there are several statments that give the compiler big hints that the loop can be spread out. For example there is loop command that is like a FOR loop but specifically says the order of the loop evaluation does not matter. Other looping commands tell the computer to apply a function over an entire array at all positions specified in a map. Function declarations tell the compiler if a variable/array in the arg list will be altered by the function call. There are delberate limits on pointer type variables that forbid pointer arithmatic and allow compiler efficiencies. As a result fortran is a marvelous multi-processing language because the compiler knows how to allocate instructions safely and how to allocate memory optimally.

    --
    Some drink at the fountain of knowledge. Others just gargle.
  50. Not Dead, living peacefully in the background by ilyahndre · · Score: 2, Interesting

    Fortran isn't entirely dead. At least to the scientific community. I am a Fortran programmer, working at in a research position and I'm not 50 years old, I'm not even 20. (Yeah for co-op)

    Truthfully, anything that Fortran can do, C can do better. But that wasn't always the case. Fortran used to be A1 for number crunching, and thus is used and still used by many research companies. Sometimes, if you don't have a CS degree its just easier to use the language you learned when you were in University or College than spend the time learning C or Java.

    Some older satellites (8-15yrs) used Fortran code. And if those satellites are still in the sky, (which they are) then those persons working on keeping and updating them need to use good 'ol Fortran to keep them up in the sky.

    Each 'new' version of Fortran tries to get a little bit more object-oriented than the last. At the moment I use both 77 and 90 (neither are object oriented). Fortran also has the lovely feature of GO TO!

    Fortran will probably be used for awhile longer. Even with .Net. Try it some time, its a rather amusing little language.

    1. Re:Not Dead, living peacefully in the background by Anonymous Coward · · Score: 0

      Uh, C has "goto" too...

      and Fortran is still more efficient.

    2. Re:Not Dead, living peacefully in the background by TheMatt · · Score: 2
      Truthfully, anything that Fortran can do, C can do better. But that wasn't always the case. Fortran used to be A1 for number crunching, and thus is used and still used by many research companies.
      Well, I don't know about that. I hate, hate, hate, hate, hate, hate using arrays in C. Hate. It is probably second only to Perl for the uselessness of its arrays. And since I usually deal with complex numbers, C is even worse. Finally, the libraries' numerical routines for C aren't as good as those for Fortran, in my opinion.
      --

      Fortran programmer...oh yeah. Array math for life!

    3. Re:Not Dead, living peacefully in the background by maxwell+demon · · Score: 1

      One feature of F90 missing in C and C++ is modules.

      Yes, you have headers, but that's just not the same.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    4. Re:Not Dead, living peacefully in the background by joib · · Score: 2

      C99 has complex numbers. But I agree the array syntax in F90 is extremely neat. F77 doesn't have that, so I don't really see why F77 arrays are any better than C ones.

  51. Thump Thump Thump... What's that noise? by tommck · · Score: 4, Funny
    That's the sound of a club hitting a bloated sack of rotting protoplasm that used to be a dead horse back in 1985
    </sarcasm>

    T

    --
    ---- It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
  52. FORTRAN 2000 by Anonymous Coward · · Score: 0, Troll

    I started coding in FORTRAN IV in 1975. I have used Basic, COBOL, 3 or 4 assembly languages, Pascal, C, C++, Java, and various and sundry other toys. I started as a scientist and then quickly became a programmer/sysadmin. I used FORTRAN for scientific applications programs for 14 years. I then switched to C and now C++. I like both of these much more than FORTRAN. However, where I work we have one of the top 20 fastest supercomputers in the world and we do oceanographic and meteorological modelling. These are ALL done in FORTRAN for two reasons: First, it's the fastest language to use on almost all supercomputers. Second, most scientific modelling programs are (and were) written in FORTRAN. As long as these guys keep it the best/fastest language for parallel processing it will continue to exist. This is neither good or bad, it just is.

  53. "Penultimate"? by Wakko+Warner · · Score: 2

    You do realize this word means "next-to-last", right?

    So, what's the ultimate fortran program?

    - A.P.

    --
    "Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
    1. Re:"Penultimate"? by sjonke · · Score: 1

      Why, "Hunt the Wumpus" of course.

      --
      --- What?
    2. Re:"Penultimate"? by Anonymous Coward · · Score: 0

      and so it would imply that the last would be along the lines of FORTRAN2000_TO_C.F

  54. Fortran 2001 = F001 ? by Anonymous Coward · · Score: 0

    Sorry, couldn't resist.

  55. Bad Fermat Joke by Amazing+Quantum+Man · · Score: 2

    I have written an informal description of the new features

    Which this margin is unfortunately too small to contain.

    --
    Fascism starts when the efficiency of the government becomes more important than the rights of the people.
  56. damn fortran by gnuLNX · · Score: 1

    why won't this lame language just go die. Die Fortran...just go lay down and die. I work as a computational chemist and it is painful to me to watch me superiors write fortran code...I just can't understand why they won't take the time to at least learn C...although for the size of our projects C++ is the obvious lnaguage of choice.

    I hate Fortran and wish that it would just go lay down and die.

    --
    what?
    1. Re:damn fortran by Framboise · · Score: 1

      Over the years I took the pain to learn and program Fortran, Basic, Pascal, PL/I, APL, Lisp, C, C++
      etc. but when it comes to program numeric stuff
      Fortran remains the best choice.

    2. Re:damn fortran by foobar104 · · Score: 5, Insightful

      although for the size of our projects C++ is the obvious lnaguage of choice

      Um... no. The language that your people are comfortable using is the language of choice. No other meaningful criteria exists.

      Let's say there were some magic language, Foo, that was absolutely perfect for computational chemistry. It has standard library calls like solveThisHardProblemQuickly() and such. Just perfect.

      Like any other programming language, Foo has a strict syntax. It's easy to write a buggy program in Foo, but tricky to write a perfect one. All languages are like this.

      Your Fortran programmers decide they're going to abandon their preference and write in Foo instead. How many months do you think it would take for them to become conversant in Foo? How many trivial bugs will slip through in that time because your programmers weren't experienced enough with Foo to catch them? How far behind will you be at the end of the whole process?

      And that's assuming that Foo is perfect. If Foo has its own idiosyncrasies and quirks, you can comfortable double those estimates.

      There is only one inviolable law of computer programming: do what works.

    3. Re:damn fortran by Anonymous Coward · · Score: 0

      I believe it's bedtime. Oh, wait...I was misled by the snoozefest that somehow passed as your post.

    4. Re:damn fortran by DaveAtFraud · · Score: 2

      Its probably more appropriate to tell it to:

      C Tell FORTRAN to goto Hell

      goto 666

      or if you're into phone keypads:

      goto 4335

      --
      They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
      Ben
    5. Re:damn fortran by Anonymous Coward · · Score: 0

      Bull. Shit. You've obviously never coded any real Fortran in your life. F works extremely well for self contained programs. Otherwise you end up linking C in anyway. F I/O blows. Try loading a DICOM file in F. Go on... I dare you.

  57. Re:Do we care? by Anonymous Coward · · Score: 0

    You're unfortunately right about Flight sims. I just received a .for file and the guy expected me to know what to do with. Now, I'll go back to my C code :)

  58. Fortan Rocks!! by Lil'wombat · · Score: 2, Insightful

    Back in my grad school days (5 yrs ago) everyone who had supercomputer time was writing in FORTRAN. Just ask yourself, do you want to write a new optimized routine to compute the Cholesky decomposition of a positive definite matrix for a sparse matrix and store the resulting sparse matrix in band compressed form so that you can increase your grid size from 5k to 20k elements -OR- do you grab the linpack routines from http://www.netlib.org/linpack and go have a beer.

    At the University of Minnesota beer usually won.

    --

    Truth: If it's not one thing, it's another

    1. Re:Fortan Rocks!! by Anonymous Coward · · Score: 0

      Back in my grad school days (8 years ago), I didn't want to rewrite a bunch of old Fortran code either, so I put a nice C++ wrapper around it and built myself a matrix class that under the hood called the crusty old Fortran, but day-to-day I didn't have to deal with that crap.

      So, you can avoid Fortran, and still have a beer.

    2. Re:Fortan Rocks!! by aallan · · Score: 4, Insightful

      Back in my grad school days (5 yrs ago) everyone who had supercomputer time was writing in FORTRAN.

      Amoungst physicists and astronomers, anyone with supercomputer time today is still writing in FORTRAN. I don't see that changing in the near future. Graduate students are starting to write in different languages, but to talk to their superivsors (the guys with large existing codebases) they have to be able to talk and write FORTRAN.

      Most of the time its not worth their time to port a couple of hundred thousand lines of modelling code to some other language before they can add layers on top, its unlikely it'll ever be worth anyones time to do somethnig like that.

      A lot of the Java, Perl/Tk and Python/Tkinter stuff I write these days is sitting ontop of a whole bunch of FORTRAN that it would take the next twenty years to rewrite. If it works, whats the point of doing it all again? Thats no fun...

      I think language interoperability is becoming more and more important now the industry is (sort of) maturing. This is where code reuse in the real world is going to come from, rather than the current fads in code design which keep on promising more code reuse.

      Al.
      --
      The Daily ACK - Eclectic posts by yet another hacker
    3. Re:Fortan Rocks!! by joib · · Score: 2

      Actually, these days you grab the LAPACK routines instead of linpack. But if you like C++, MTL is about as fast as lapack.

  59. FORTRAN has its uses by Anonymous Coward · · Score: 1

    Unlike Cobol or pascal or anyother "Old" language FORTRAN has some advantages. Properly written fortran code will be faster than c. However, it cant do every thing that c can. FORTRAN 95 is even faster for multiprossesor machines. So it is a higher level, higher perfromance, less featured language. Plus, most Geniuses only know FORTRAN. So, I think the Object Oriented stuff in FORTRAN 2000 will be lost on them. They don't want it and they wont use it.

    You may laugh, but there are still new scientific applications being written in Fortran.

  60. They're ruining FORTRAN!!! by vrmlguy · · Score: 3, Interesting
    I went to college in the mid 70's. We learned (essentially) Fortran 77, although it wasn't called that then. F77 didn't have a very formal standardization process, it was just the collecting of extensions that several vendors (mostly IBM) had made to F66.

    F77 was a cool language. IIRC, the original version of Adventure Cave used an interpreter that was written in F77. It is also one of the few languages that have native support for imaginary numbers (some versions of APL did as well).

    Looking at the summary of changes, I suspect that they've finally messed up the things that made FORTRAN (or at least F77) great. The addition of pointers stands an excellent chance of rendering code un-optimizable, and I fear that adding OO features is an even bigger mistake. I would have liked to have seen Unicode support and exception handling, and that's about it.

    --
    Nothing for 6-digit uids?
    1. Re:They're ruining FORTRAN!!! by aallan · · Score: 2

      Looking at the summary of changes, I suspect that they've finally messed up the things that made FORTRAN (or at least F77) great. The addition of pointers stands an excellent chance of rendering code un-optimizable, and I fear that adding OO features is an even bigger mistake.

      FORTRAN went OO during with Fortran90 and pointers were added with Fortran95, although for anyone used to C pointers, Fortran95 pointers are (erm) pretty wierd...

      Al.
      --
      The Daily ACK - Eclectic posts by yet another hacker
    2. Re:They're ruining FORTRAN!!! by Eric+Smith · · Score: 3, Insightful
      IIRC, the original version of Adventure Cave used an interpreter that was written in F77.
      Some ports might have used F77, but ADVENT was originally written on a DECsystem-10 using Fortran-10, which was DEC's implementation of FORTRAN 66. The original code is available in the Interactive Fiction Archive; there are two versions ever so slightly different, adv350-pdp10.tar.gz and advent-original.tar.gz. I'm not certain which was earlier, though one of them has some messages in mixed case, so that is probably later. All others can be traced back to one of these.

      String handling in FORTRAN 66 was not very portable. On the DECsystem-10, five ASCII characters were stored per word. This was the biggest hassle in porting to another platform.

    3. Re:They're ruining FORTRAN!!! by vrmlguy · · Score: 2
      Yeah, you're probably right about ADVENT using Fortran-10. I remembered that it used extensions to F66, and assumed that it was F77. After I had posted, I wished that I had mentioned DEC along with IBM as contributing ideas to F77. I compiled ADVENT on an IBM mainframe using F77, and it required minimal hacking to get it to run.

      ADVENT was pretty portable, though, in spite of the string handling. For player commands, ADVENT used it's own, non-ASCII, character encoding that fit six characters into a pair of 16-bit values. This meant that even with the source code, you couldn't make heads or tails of the table containing all the verbs, so you didn't know what actions were available to you.

      --
      Nothing for 6-digit uids?
    4. Re:They're ruining FORTRAN!!! by TamMan2000 · · Score: 1

      Fortran90 is not OO and has pointers. F90 is modular, and supports types, but that is not OO

      --
      "I'll have a Guinness, no wait, make that a Coors Light" -Grad student I work with, who shall remain anonymous...
    5. Re:They're ruining FORTRAN!!! by TamMan2000 · · Score: 1

      My understanding is that (in f90) most optimizers give up on pointers, but that is why you don't use them unless you have to... It is as simple as that, and when you really need a pointer, it can save you a lot of time. I mostly use pointers in convergence checkers and other stuff that only runs once an hour or so...

      I am also really glad to see the OO. I am curious; why do you think that is so awful?

      --
      "I'll have a Guinness, no wait, make that a Coors Light" -Grad student I work with, who shall remain anonymous...
    6. Re:They're ruining FORTRAN!!! by Eric+Smith · · Score: 2
      For player commands, ADVENT used it's own, non-ASCII, character encoding that fit six characters into a pair of 16-bit values.
      You must have started from a PDP-11 port, because that was a common encoding on the PDP-11 (called "RAD50"), but the original PDP-10 version certainly didn't store them that way. They were stored five seven-bit ASCII characters to a machine word (36 bits), which is why the player commands had only five significant characters and the game couldn't tell "NORTHEAST" from "NORTH" (you had to use "NE").

      The PDP-11 version was probably more portable than the original PDP-10 version.

  61. Re:First Fortran77 Post by Anonymous Coward · · Score: 0

    I really can't remember, been a while...

    I never used F77 anyway, all my compilers were more advanced, though they all predated F95, they had many additional and fairly standard 'non-standard' features such as you'd expect from any good procedural language.

    Any the I/O was superb for files and command line... (compare with the c**p that C++ has...)

  62. WARNING: PetsWarehouse is no longer Slashdotted! by Anonymous Coward · · Score: 0

    Sorry for the offtopic post, but this is important.

    See this story from yesterday for more details. Pets Warehouse has recovered from the Slashdot Effect and is back up. Click the link, click the link, click the link! Don't let Robert Novak, Slashdot enemy-of-the-month, earn one more dollar from his website!!!

    Also, e-mail them and tell them what you think! Call them at 1-800-991-3299 from a payphone: they'll have to pay for the 1-800 call *and* for the payphone usage!

    Show them the POWER of Slashdot!!!!!!!!!!!

  63. Fortran!?!? urgh... triggering ... flashbacks... by Sand_Man · · Score: 1

    twitch.

    I can't use Frotran, my PC doesn't have a punch card reader. And they will never elect an actor to the Whitehouse. Hope they get the hostages home from Iran soon.

    twitch twitch

  64. Sick and tired of IGNORANCE by Shab264 · · Score: 1
    FORTRAN was part of the engineering curriculum at Virginia Tech in '96. Unfortunately that was the last year it was taught, and everyone who actually learned FORTRAN before the class was taken off thought it was a huge mistake.

    Of course, don't tell that to the latest bunch of basement denizens who, just because they don't UNDERSTAND FORTRAN, they think it's automatically obsolete. In '97, Tech started teaching C++ instead of FORTRAN, and guess what, the class of 2001 engineering student all sneer at FORTRAN, but lo and behold, when they get out into the real world, they can't get jobs as easily as the class of 2000. Why, you ask? Because FORTRAN is still used for a sh!tload of applications!

    I now work for the school, and i'll give you a perfect example why FORTRAN is still used. At my job, we have to sort every students' name and ID in this huge file. We use FORTRAN to do it, but we thought it would be interesting to see what other languages could do in terms of efficiency. We wrote a C++ shell sort (reasonably efficient) routine to sort the 30k names. It took several seconds...not bad. Our old FORTRAN code is a bubble sort routine (least efficient) and it does the same job in less than ONE SECOND. That is why FORTRAN is still used and screw all you idiots who think FORTRAN is dead!

    Forgive me, I'm just sick and tired of other people's stupidity.

    1. Re:Sick and tired of IGNORANCE by Anonymous+MadCoe · · Score: 1

      I feel with you... The college I attended I was shocked to see them replace Pascal by C++ and now Java because they are more "modern". A good programming language is good at what it's meant for, and learning it teaches you more than how to use the language as a tool, it teaches you about programming in general. Fortran is good at what it was made to do and more. So is Pascal. Learning either of those will teach you about programming. Learning C++ or Java as a first language is a big mistake, these languages are very powerfull once you understand programming, which you don't nessecarilly learn from C++ ot Java (just like you don't necesarilly learn that from Pascal or Fortran, but you stand a much better chance).

    2. Re:Sick and tired of IGNORANCE by Zeinfeld · · Score: 2
      We wrote a C++ shell sort (reasonably efficient) routine to sort the 30k names. It took several seconds...not bad. Our old FORTRAN code is a bubble sort routine (least efficient) and it does the same job in less than ONE SECOND

      You are not comparing like with like. Depending on how you code bubble sort can be quite fast if the items are already mostly in order.

      C++ is not the frienliest of languages to write an optimizing compiler for and if you buy the standard edition of Visual C++ you don't even get the optimizer. So comparing languages on the basis of unspecified compilers is idiotic.

      I have used Fortran extensively and in particular for numerical applications. My experience was that the code people wrote in Fortran tended to have a much greater number of bugs. There were plenty of libraries arround but the quality was mostly very poor. Even very well known packages such as CERNLIB were riddled with bugs, even after 20 years of development.

      A competent programmer working in any imperative language can write code that outperforms an incompetent programer in any other. Most of the physicists I worked with didn't even turn on the optimizer.

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
    3. Re:Sick and tired of IGNORANCE by Anonymous Coward · · Score: 0

      How did you write it in C++? You can write slow stuff in any language. I bet you implemented it using classes/objects and made it very OOish... /rolleyes

  65. Thank you! by Greg+Hewgill · · Score: 1
    I'll start by admitting that I have little experience with fortran and with the applications thereof.

    Thank you very much for this introductory line in your comment. After quickly reading this, I knew I could immediately skip the rest of your post.

    If only the whole slashdot community would follow SlugLord's lead, and let us all know when they've just posted a useless comment. Bravo!

  66. Re:Do we care? by sbaker · · Score: 3, Interesting

    I work in the flight sim business. I can assure you that every one of the 2 million plus lines of code written by my team over the last ten years was in C++ and for the ten years before that it was in C or Ada.

    30 year old code will probably be in FORTRAN.

    We do still have legacy code in Fortran. Mostly stuff we inherited from other simulators - and mostly in the area of simulating the actual flight dynamics. That stuff is hard to rewrite accurately and is a *tiny* fraction of a typical multi-million-lines-of-code simulator.

    HOWEVER (dragging this screaming and kicking back on-topic) there is absolutely no need to invent FORTRAN 2000 just so we can run legacy code. If it's legacy code, that's because we can't/won't rewrite it - so why would we need a new revision of the language?

    All that the world needs is a good way to call FORTRAN functions from within C++ - and we already have that.

    FORTRAN should just be left to die peacefully.

    --
    www.sjbaker.org
  67. FO^H/RTRAN, FORTRAN, Fortran, ForTran??? by dpbsmith · · Score: 2

    But what about the BIG question?

    When and why did the name change from "FORTRAN" (all uppercase, preferably with a slash across the letter O) to "Fortran" (mixed-case)?

    Indeed, since the name means Formula Translation, if the name was to be changed at all, why was it not changed to ForTran (with an internal upper-case T?)

    Those familiar with the world of M, I mean MUMPS, I mean M[UMPS], where the name of the language either was or was not officially changed, and the language is or is not properly referred to by both names or by one or by the other, and where M is either an officially sanctioned abbreviation, an officially sanctioned alternate name, or the One True name, or was changed in the ANSI spec but not the ISO spec... or not... will appreciate the importance of such issues.

    Particularly since in these modern days it's pretty safe to assume that your PC's printer is equipped with a full 192-character chain.

    1. Re:FO^H/RTRAN, FORTRAN, Fortran, ForTran??? by biobogonics · · Score: 1

      Re: Mumps, MUMPS, M

      Since the remaining commercial version of this language is put out by a single company, it doesn't matter what the language is called, since Intersystems is going to be selling it.

  68. Then again by Goonie · · Score: 1

    Plankalkul, designed by Konrad Zuse in 1945 has got some strong claims as the first (though it didn't influence later languages as it didn't become known to the wider computing world until the 1970's).

    --

    Any sufficiently advanced technology is indistinguishable from a rigged demo
    --Andy Finkel (J. Klass?)
    1. Re:Then again by gorilla · · Score: 2

      But Plankalkul wasn't implemented until 2000. I don't think it would be possible to implement it on the late 50's computers, and certainly not on the Z1/Z2/Z3 or other 1945 computers. Without an implementation, it's not a computer language, it's just math.

    2. Re:Then again by Paul+Komarek · · Score: 2

      I don't understand your distinction between computer languages and math, especially the part about "Without an implementation". I've never seen anything suggesting that an implementation is necessary for something to be considered a "language".

      -Paul Komarek

    3. Re:Then again by Tablizer · · Score: 1

      Anybody know of a website with *actual examples* of code used in early compilers of the 50's?

  69. Hmm, I recognize those people by Leto2 · · Score: 2

    I think I recognize some of these names on the Fortran 2000 committee, they were on another committee that was coming up with designs to retrofit Model-T's with solar cells

    --
    <grub> Reading /. at -1 is like driving through Cracktown in a convertible that is stuck in 1st
  70. It's not a "modern language" till it goes OO by BitwizeGHC · · Score: 1

    Why am I not surprised to hear about object-oriented features being slapped onto the side of Fortran for no other reason, apparently, than to be cool? I'm with our buddy Tablizer on this one: objects are nice in some applications but there are places where they're better left out. Coincidentally, many of those places are where languages like Fortran are still used.

    --
    N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
  71. But ... but, THIS isn't Fortran! by Dr.+Mu · · Score: 1

    Migawd! They even let you populate an array without reading the numbers from punchcards! And pointers?! Back in my day a pointer was a dog used to hunt birds.

    1. Re:But ... but, THIS isn't Fortran! by LPetrazickis · · Score: 1

      What are these "birds" you speak of?:P

      --
      Is this a sigs-optional kind of place? 'Cause I am totally down with that if you know what I mean.
  72. Re:And surprisingly in other news... by maxwell+demon · · Score: 1
    Or is the concept of writing software out of date now?
    Of course it is. Well, they haven't yet been able to avoid text completely yet, but they are working on it. After all, if programming doesn't need writing, people who cannot write can create your programs, and those people will be much cheaper.

    Actually, there are already studies if one can train apes as programmers. After all, it's well known that apes can type Shakespeare dramas if you just have enough of them and give them enough time, so why shouldn't they be able to produce software?
    --
    The Tao of math: The numbers you can count are not the real numbers.
  73. You are more correct than you think, maybe by Anonymous Coward · · Score: 1, Informative

    What you are saying could not be more true.

    The thing is, Fortran is fighting a language war on two fronts.

    On the one hand, it's struggling against newer languages like C/C++--and yes, sometimes even Java--that younger programmers are more familiar with and that have been more flexible for some years. Often, there's at least some question as to whether or not code written in one of those languages is similar enough in speed to that written in Fortran, and often, the answer, after some debate, is that it's 95% the speed or something like that, and the ease of coding far outweighs the speed lost.

    On the other hand, Fortran is struggling against very-high level languages like MATLAB/Octave, S/R, Ox, and to a certain extent, Perl, Python, and Ruby. These languages aren't exactly competitors in speed, but their ease of use is unparalleled. Everyday computational tasks that used to be done in Fortran (or C) are now routinely done in MATLAB or R because it's just so damn easy to do.

    Modern Fortran is beautiful as a numerical programming language. It is oriented toward numerical analysis far more than C/C++, so much so that it's almost comparable to something like MATLAB.

    The sad thing is, though, that not many people seem to be switching to it. True, there are those that use it, but it's often for reasons of tradition or because speed, pure and simple, is an absolute priority. It's a small group. It doesn't seem to be attracting those who currently use MATLAB, but who might use something more low-level because MATLAB isn't flexible enough, or those who use C/C++/Java/Ocaml/whatever because that other language is flexible/easy to code/portable/whatever but might switch because those languages are a bitch relatively speaking when it comes to numerical analysis.

    I'd argue that the reason why more people aren't switching is precisely because it's not more available. When someone is trying to decide between C/C++, MATLAB, or Fortran, Fortran is going to lose:

    C/C++ is often similar in speed to Fortran, has compilers freely available, and is generally more extensible than Fortran.

    MATLAB is slower, and costs lots, but there are open-source alternatives, and it's damn easy to write code for.

    Modern Fortran is fastest, but often only slightly faster than C/C++; it's easier to code numerical routines than C++, but not necessarily always due to libraries, and less easy to code in than MATLAB; finally, it's unavailable unless I pay money on the order of MATLAB.

    So you can see, most people buy MATLAB, and code really low-level stuff in C/C++/whatever.

    If Fortran is going to survive, it needs to do more than have modern features--it needs to be competitive on an avaiability front as well. Otherwise it's going to die off a slow death.

  74. Re:And surprisingly in other news... by MrFredBloggs · · Score: 1

    "After all, it's well known that apes can type Shakespeare dramas if you just have enough of them and give them enough time"

    Naah - check out the internet. That just ain't true!

  75. Re:Do we care? by Sri+Lumpa · · Score: 1

    Luckily I know how to keep my mouth closed* because I was eating yogurt when I read it and started to laugh. I can already imagine the smiles at work ("what happened to your laptop this weekend?") had it been open.

    *although some people would say I need to learn to keep it shut.

    --
    "The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers." Bill Gates,
  76. Baz's Rule Of Programming Languages... by Bazman · · Score: 2

    says...

    "Never use a programming language that is older than you are".

    So I'm just about okay with Fortran 66....

    Baz

  77. f90 syntax found elsewhere... by BlowChunx · · Score: 1

    It looks to me like the f90 syntax of accessing arrays is identical to what is used in MATLAB.

    So it looks like at the very least fortran will live on as long as Cleve Moller and crew still make a living writing software....

  78. I just have to ask... by jejones · · Score: 2

    ...with the sort of morbid fascination that makes people slow down to look at car wrecks:

    Does the language still have EQUIVALENCE?

    1. Re:I just have to ask... by Anonymous Coward · · Score: 0



      One would certainly hope so. How else do you
      reuse memory space efficiently? :-)

    2. Re:I just have to ask... by jejones · · Score: 2

      I'll answer my own question. Yes, the new draft standard includes EQUIVALENCE.

      I guess FORTRAN compiler writers need to have some fun, and if aliasing is out...

  79. Vector units in commodity hardware by yerricde · · Score: 1

    which assumes that your processor has vector units, and that your compiler is smart enough to know about them.

    PowerPC G4 has "AltiVec" brand vector units. AMD processors from K6-2 on up have "3DNow!" brand vector units. Sony PS2 Linux boxen have "Emotion Engine" brand vector units. Intel processors from Pentium 1.5 on up have "MMX" brand vector units.

    Does GCC perform vectorization?

    --
    Will I retire or break 10K?
  80. objects in FORTRAN ?? by zrodney · · Score: 1

    maybe I'm just really opinionated, but adding
    object orientation to fortran 30 YEARS after it
    was designed just isn't going to work.

    Look at OO in perl compared to python, java, or C++
    for an example of objects scotch taped onto a working
    language as an afterthought. It looks like a cat
    ran across the keyboard with all the crazy => $ #
    and other syntax that makes it hard to read.

    Also, this "old solid codebase" won't be used
    with the new object features -- that would just
    be a bad idea after another.

    When I worked at NASA Ames in their supercomputing
    center in the mid 90s, I was always amazed at how
    those huge computers were just being used to work
    matix solutions in fortran all the time. That's
    really about all crays are used for, which is a
    shame.

    but, like I said, that's just my opinion of fortran

    if this works, lets get them to develop ALGOL 2002
    or maybe RATFOR 2006?

  81. GCC compiles FORTRAN natively... by devphil · · Score: 2


    ...and has done so for quite some time. None of the languages bundled with GCC first translate into C.

    --
    You cannot apply a technological solution to a sociological problem. (Edwards' Law)
  82. g95 has been in the works for a long time by devphil · · Score: 2


    and is hosted right over at g95.sourceforge.net. Take a look.

    --
    You cannot apply a technological solution to a sociological problem. (Edwards' Law)
  83. regular expressions by brer_rabbit · · Score: 3, Funny

    One of the biggest additions to Fortran that I haven't seen mentioned so far is support for Perl 6 style regular expressions.

    [ducks for cover]

    1. Re:regular expressions by Anonymous Coward · · Score: 0

      In fact, there are at least 4 .NET Fortran compilers in development (4 different vendors) that I can think of.

  84. Easy by TamMan2000 · · Score: 1

    1. Momentum...

    2. Engineers (aero, mech, whatever) have to be conserned with all kinds of things besides writing code, but they are also the ones who understand the problems enough to write the analysis codes, so they need a fast, SIMPLE language. Most of them don't have the time, or their brain power is devoted to other problems, to learn half a dozen languages to do every little thing in just the right code.

    I am an engineer who minored in CS, and I work in computational fluid dynamics at a large jet engine company, I learned C++, and scheme in college, I love C++, I did not learn fortran until my senior year when I was interning at my current full time place of employment. I hated it at first, but it has really grown on me. It is also great for all the guys I work with who do not have the same CS experience I have...

    --
    "I'll have a Guinness, no wait, make that a Coors Light" -Grad student I work with, who shall remain anonymous...
  85. FORTRAN#, FORTRAN.NET by peter303 · · Score: 2

    Any plans for a FORTRAN on MicroSoft NET? Look how much mileage Bill G has gotton introducing various versions of BASIC the past 27 years. I recall when MicroSoft was primarily a languages company, 1975-1981, it shipped a version of PC-FORTRAN.

    1. Re:FORTRAN#, FORTRAN.NET by JoshRoss · · Score: 1

      Fujitsu Fortran for .dot is being provided by Lahey. Here is a url.

  86. one more thing by TamMan2000 · · Score: 1

    Most of the people I work with have not even teken the time to learn the new features in fortran 90, I have been trying to get them to adopt them for their own (and my) benifit. It would be hell to get these folks to learn C.

    --
    "I'll have a Guinness, no wait, make that a Coors Light" -Grad student I work with, who shall remain anonymous...
  87. F90 every day by TamMan2000 · · Score: 1

    I am an engineer in the computational fluid dynamics (CFD) department at a large aerospace company. Also, just to show it is not all old folks that use fortran, I am under 25...

    --
    "I'll have a Guinness, no wait, make that a Coors Light" -Grad student I work with, who shall remain anonymous...
  88. Java and BASIC by iamacat · · Score: 1

    What's wrong with Java then, once you have a native optimizing compiler? It has very limited aliasing (one array can not point in the middle of another array) and garbage collection will not take much time for typical FORTRAN-style programs (a bunch of arrays without embedded pointers).

    As for teaching, it's a waste of time to use any of the structured languages in the first class. First show a student how to use computer as a calculator with the BASIC "?" statement. Then show how INPUT can be used in a several-line program that solves a quadratic equation. Then add a goto to the beginning so that you can solve a bunch of equations without re-running the program. Don't teach loops, subroutines, classes etc until they are actually capable of writting a program where it makes a difference. As it stands now, we are trying to explain dance movements to students who don't know yet how to walk.

    Let's take this program:

    5 input a
    10 ? sqr(a)
    15 goto 5

    How exactly can it be made clearer by using any of the structered, OO etc programming techniques?

    1. Re:Java and BASIC by Zeinfeld · · Score: 2
      What's wrong with Java then, once you have a native optimizing compiler? It has very limited aliasing (one array can not point in the middle of another array) and garbage collection will not take much time for typical FORTRAN-style programs (a bunch of arrays without embedded pointers).

      Well it is easy enough to find out. Take the Microsoft J# or C# compilers which have a highly optimized back end and compare with a good FORTRAN. My guess would be that C# and J# would give almost exactly the same results since the two languages have the same feature set. C# might have an edge since it is slightly newer and was designed by the people who wrote the back end of the Visual C++ compiler which is the base of CLR.

      I would expect both to outperform FORTRAN.

      The reason is that FORTRAN gives very little assistance to an optimizer. OK loops can be unrolled. Guess what? every optimizing C compiler does the exact same thing.

      The only reason why FORTRAN might be faster is the static allocation model. This means that pointers can effectively be derefferenced at compile time. But that does not provide a huge advantage for today's processors.

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
    2. Re:Java and BASIC by Paul+Komarek · · Score: 2

      I'm not so sure about your last claim:

      "But that does not provide a huge advantage for today's processors."

      With the increasing disparity between cpu speed and memory latency and bandwidth, things which affect cache behavior can produce large performance gains or penalties. Dereferencing pointers at compile time is one such thing.

      If the cpu-memory mismatch continues to grow, I expect that optimizers for Fortran will be able to make better use of cache than optimizers for (say) C or Java. Unless, of course, all these extensions to Fortan screw up the advantages. ;-)

      -Paul Komarek

    3. Re:Java and BASIC by iamacat · · Score: 1

      Actually, I would expect that C#/Java will be way slower than FORTRAN right now, but only because current compilers were written with other things in mind (such as Reflection API and platform-independent class files) rather than raw performance.

    4. Re:Java and BASIC by Tony-A · · Score: 2

      If loop unrolling thrashes the cache, ....
      I think execution speed is rather faster than memory access.

  89. What a lot of CS people forget... by jellisky · · Score: 5, Informative

    ... is what FORTRAN is good for: number crunching. F77 is a perfect tool for many scientists who don't care about pointers or object oriented programming or nice graphical output subroutines or any other nice things that other programming languages have. They want something that will do some number crunching for them and won't screw up or cause problems.

    FORTRAN is simple. It works like many mathematicians and scientists think it should. It meshes well with what they really want to do in a good number of cases. The level of abstraction is perfect for many of them.

    FORTRAN will take a long time to die because of this. Personally, I like more real-time interpretive languages like IDL. But when it comes down to something that is pure number crunching that'll take a few hours, I'll gladly have FORTRAN. That's why so much in the sciences is written in FORTRAN, then the data is output and run through other programs to do the pretty plotting and further interpretation.

    FORTRAN just works, has worked for 30+ years, and with the amount of incredibly useful code still around, will still work for decades to come. Granted, I don't necessarily like some of the proposed changes, but as long as everything works like it did before with F77 code, I think no one will (or should) mind.

    -Jellisky

    1. Re:What a lot of CS people forget... by biobogonics · · Score: 1

      "... is what FORTRAN is good for: number crunching. F77 is a perfect tool for many scientists who don't care about pointers or object oriented programming or nice graphical output subroutines or any other nice things that other programming languages have. They want something that will do some number crunching for them and won't screw up or cause problems."

      I'm another old duffer who likes F77 with extensions. If I want to write in C or C++, I'll write in C or C++. Most numeric computation depends on good software libraries. Object oriented programming has no advantages in making library calls. In fact, it just adds another layer of abstraction and obscurity.

    2. Re:What a lot of CS people forget... by Tablizer · · Score: 1

      Object oriented programming has no advantages in making library calls. In fact, it just adds another layer of abstraction and obscurity.

      I don't know why people keep saying that OOP == abstraction. Abstraction is relative to needs of a particular user or sub-section. OOP tends to have a one-size-fits-all view of abstraction. Some non-OO techniques offer better relativism in abstraction IMO.

      (oop.ismad.com)

  90. Everytime you travel by air... by Vigilante42 · · Score: 2, Insightful

    ...F77 is what you rely upon.

    To calculate aircraft performance (i.e. can we take off with x passengers on this airfield that happens to have a big mountain at the end of the runway?) all (no exceptions) airlines use F77 calculation modules that are provided by the aircraft manufacturers.

    These calculations are, at least in my book, as close to mission critical as you can come. Do it slightly wrong and you may end up in the safety net at the end of the runway. Do it majorly wrong and you hit the aforementioned mountain...

    The modules are reasonably complex (up to 100k loc without a GUI), in strict F77 with the mess that that brings along and are written by Aerospace majors who, if they were lucky, got a 3 week course in F77 at University.

    The obvious question is why?
    - F77 is the most suitable language for the problem?
    - Aerospace engineers like F77?
    - It's an international conspiracy?

    Unfortunately the last one is closest to the truth. The modules are coded according to a standard decided by IATA - International Air Transport Association (http://www.iata.org). A standard that was created some 20 years ago and with regards to F77 of course has not changed since... Why? Because the airlines knows how to handle these modules. The I/O and behaviour is well documented and understood and to change to something even resembling modern CS practices (even F90 would be a giant leap forwards!) would require huge investments for the airlines. Something they are of course not too willing to do. There are some reason for the currently ridiculously low (in comparison) fares we pay.

    Oh, and by the way, the modules are of course not in any way certified by whatever competent authority there may exist. No, in general they prove their worth by the good old method of "service history".

    PS. I have not given up flying just because I've experienced this. All aircraft operations have a rather large safety margin built in. For the "ouch" picture above with the very hard mountain top, we would also need to lose one engine. This in combination with the fact that the "service history" criteria seems to work pretty good still makes flying safer than walking...

  91. Why, why, why...? by dargaud · · Score: 2, Insightful
    I partially make a living by debugging scientific fortran code. I cannot understand why they finally 'enhance' fortran with things that have existed in other languages for decades. Not that it doesn't need them (dynamic allocation of arrays... I just had to extend the kernel stack to 2Gb so we could run some old badly written fortran code).

    No, what I don't understand about keeping fortran alive is because its users (scientists mostly) are people who refuse to use something new and better. They all use fortran 77 the way they learnt it through a 10 hour university course. I tried to get some of my users to use fortran 90 or 95 and failed pathetically. As my boss said: "if you think you have a clever programming trick, forget it !"

    So what is the point of extending fortran with polymorphism and such ? They'll never use it. As a pro developper I'll never use it (I have the right tools already: C/C++/Java/assembler/perl depending on the job).

    What is the point ? So they can sell expensive compilers with the new Fortran2000 sticker on it that nobody will ever use ? Marketting gimmick ?

    --
    Non-Linux Penguins ?
    1. Re:Why, why, why...? by Anonymous Coward · · Score: 0


      "They all use fortran 77 the way they learnt it
      through a 10 hour university course"

      You got a course??? I learned it by reading
      and running a badly written f66/f77 code
      and a book that was ancient in the mid 80's
      when I read it.

      You can't learn programming from a course.

      Do it. Make mistakes. Read other peoples
      bad code. Do better. fortran can be badly
      written, but which language is is that has
      (had?) a contest for the most unintelligible
      program that worked? Hint: Think Obfuscated
      C code contest.

  92. If I use fortran 2000.... by Kaz+Riprock · · Score: 2
    Does that mean I finally have a command called:
    f00!

    This r0x0rs, d00d!

    --
    Mordor...a magical, mythical land where women are more rare than dragons--but where every man would rather find a dragon
    1. Re:If I use fortran 2000.... by richmaine · · Score: 1

      Unless you are using the gnu version, which would presumably be g00. :-)

  93. gcc(g77)? by TamMan2000 · · Score: 1

    I work in computational fluid dynamics and we have a 640 CPU linux cluster, running intels, to do a lot of our processing. Although I am not deaply involved in this part of the work, I know that we have a group of experts making sure that we use compilers that can properly optimize our codes. On our linux machines, I think we use a protland group compiler for our fortran90.

    I don't think anyone else investing that much in raw computing power would not take the necissary measures to see that it is used to it's fullest potential either...

    --
    "I'll have a Guinness, no wait, make that a Coors Light" -Grad student I work with, who shall remain anonymous...
  94. Another near-dead language... by samfreed · · Score: 1
    Has anyone heard of SNOBOL in recent decades? It had a varient called "SPITBOL" (on the CDC/Cyber under NOS/BE...). It was also a bit positional, and (at least!) until Perl, the best patern-matching and string processing language ever.

    Age is showing....

    1. Re:Another near-dead language... by khuber · · Score: 1
      SNOBOL has no control structures. It has a syntax from the punchcard days. Icon could maybe sorta be considered a modern SNOBOL/SPITBOL.

      -Kevin

      SNOBOL

      LETTERS = &LCASE &UCASE "0123456789'-"
      WORDS = TABLE()

      READ LINE = INPUT :F(OUT)
      GET.WD LINE BREAK(LETTERS) SPAN(LETTERS) . WD = :F(READ)
      WORDS<WD> = 1 :(GET.WD)

      OUT SORTEDW = SORT(WORDS)
      ADD X = X + 1
      OUTPUT = SORTEDW<X,1> :S(ADD)
      END

      Icon

      procedure main()

      letters := &lcase ++ &ucase ++ "0123456789\'-"
      words := set()

      while line := read() do
      line ? while tab(upto(letters)) do
      insert(words,tab(many(letters)))

      every write(!sort(words))
      end
  95. Math! by Anonymous Coward · · Score: 0

    Well my pa uses it in his research doing heavymath (He is professor in economics). I can remember that he ran programs that lasted a few weeks! (5 years ago) On some fat IBM machine. But now a days he dose the same on his desktop during a night.

    So all i know of FORTRAN is that its good for heavy math.

  96. Re:Do we care? by vand · · Score: 1

    All that the world needs is a good way to call FORTRAN functions from within C++ - and we already have that.

    Ermmm, I don't know how to create a Fortran pointer in C++, let alone pass it to a Fortran procedure. Fortran pointers drag around bounds and stride information for arrays, but then this isn't important for a language that doesn't actually have arrays.

    Speaking of which, how do I pass an assumed-shape array from C++ to Fortran. OOPS, I almost forgot that C++ doesn't really have arrays.

    Gee, I sure would like to use that Fortran library code that has optional arguments, but I don't know how C++ could represent an absent optional argument.

    The point of all this sarcasm is that there's lots of useful stuff in Fortran that you can't do in C++ or get at from C++.

  97. Re:Do we care? by vand · · Score: 1

    Absolutely not!!! NASA uses it to slam probes into Mars.

    If you BOTHER TO READ the report of the navigation failure of the Mars climate orbiter, you'll see that it had several causes unrelated to the fact that the software is written in Fortran.

    1. Lockheed and Martin, now one, have done business with JPL for decades. They well know that everything is metric. Inexplicably, when the spacecraft did attitude maneuvers (which because of imbalances can change the trajectory) they reported the results of their "small forces" model in pound seconds, not Newton seconds, so they were off by a factor of 4.4.

    2. A member of the navigation operations team, which was overworked, understaffed and undertrained, noticed an anomaly in the trajectory several weeks before encounter. He didn't have the expertise to understand what it was (read the part about "undertrained" above), his boss told him "you don't have time to worry about that" (read the part about "overworked understaffed" above), and because the JPL senior management has been hard at work for a decade demolishing the institutional infrastructure of experts, there was nobody he could return to.

    3. When it became obvious, even to managers, that there was something wrong with the trajectory, a "tiger team" meeting was called, with engineering, propulsion, operations, software, managers, etc. After much discussion, it was decided to do a fifth trajectory correction maneuver, since by that time the uncertainty in the spacecraft position exceeded 60 kilometers. After the meeting, the managers went back to their castle and decided not to do it.

  98. Re:Do we care? by vand · · Score: 1


    Absolutely not!!! NASA uses it to slam probes into Mars.

    If you BOTHER TO READ the report of the navigation failure of the Mars climate orbiter, you'll see that it had several causes unrelated to the fact that the software is written in Fortran.

    1. Lockheed and Martin, now one, have done business with JPL for decades. They well know that everything is metric. Inexplicably, when the spacecraft did attitude maneuvers (which because of imbalances can change the trajectory) they reported the results of their "small forces" model in pound seconds, not Newton seconds, so they were off by a factor of 4.4.

    2. A member of the navigation operations team, which was overworked, understaffed and undertrained, noticed an anomaly in the trajectory several weeks before encounter. He didn't have the expertise to understand what it was (read the part about "undertrained" above), his boss told him "you don't have time to worry about that" (read the part about "overworked understaffed" above), and because the JPL senior management has been hard at work for a decade demolishing the institutional infrastructure of experts, there was nobody he could return to.

    3. When it became obvious, even to managers, that there was something wrong with the trajectory, a "tiger team" meeting was called, with engineering, propulsion, operations, software, managers, etc. After much discussion, it was decided to do a fifth trajectory correction maneuver, since by that time the uncertainty in the spacecraft position exceeded 60 kilometers. After the meeting, the managers went back to their castle and decided not to do it.

  99. DickBag 2K by Anonymous Coward · · Score: 0

    Oh, please SEWilco, enthrall us with your tales of Fortran IV! Better yet, tell us about how you woke up one morning and found that your wife had run off with a picture of my sweaty nut sack. Deny it all you like but right now, in some poorly ventilated strip joint, your wife is showing her scarred and misshapen fun bags to large groups of overweight men in order to pay the rent on a shitty apartment where she lives alone with the photograph of my ball sack. She has had it reproduced a number of times because she enjoys rolling around with it in bed. While she services the Johns she brings home she thinks about my balls slapping against her chin, rather than the wart-infested set that she actually has to deal with. Yes, your wife left you for the life I've just described. And to add insult to injury, she's happier with her new life than she ever was with you. How does that make you feel SEWilco? Well?!! But listen, it's not your fault entirely. Very few women can resist a photograph of my testicles. For instance, your sister couldn't. The last I saw of her she was stumbling around the desert licking the decapitated head of a prarie dog because, in her drug-induced state, she believed it to be my left ball. The women who have been part of your life certainly have taken a turn for the worse, haven't they my good friend? In the end, it doesn't matter. They were ass-lickers to begin with so you're probably better off without them. I do recall the fact that you, yourself, are an asslicker BUT one ass-licker alone is a much better thing than a group of ass-lickers living together. A group of ass-lickers doesn't know that they are ass-lickers. They think they are happy, well-adjusted people living the American dream. Alone, very, very alone, you can see that you are an ass-licker and take appropriate action. For instance, you could stop licking so much ass! That might be a good start. But let's get back to your post, shall we? You are such a fucking loser. I can't even begin to describe how much I dislike you. You are dickless, in the most true sense of the word. I pity you and any children you might spawn. Your parents gave you the genetic tools to do nothing outside of sucking dick and, from time to time, pouring food into your mouth. You are stupid and ugly and I must again stress that I do not like you. Get that into your head because that's how everyone feels about you. Look at your day to day living; you know it's true. No one likes you. Take care! :D

  100. Fortran don't get no respect by //-izer · · Score: 1

    Obviously nobody really reads the spec.

    I help support a code that was started in 1962
    and has been updated regularly ever since. It
    isn't pretty, but it is probably no more difficult
    to read than 40 year old C++ code (can you imagine? Shudder!).

    It (both the code and the language) works on most major platforms.

    It (both this code and the language) helped design your car, airplane, even your washing machine.

    Even if you yourself don't know or never use
    Fortran (the lower case was adopted shortly after
    the F77 standard was finalized, so it's older
    than most responders here), you or your compiler
    probably use fortran libraries.

    The new standard makes C-interoperability much
    easier. So it is likely that any major scientific
    work you do will continue to use Fortran libraries
    for many years into the future.

    OO is in there because users asked for it.

    Why to use Fortran rather than C/C++/Java: if you
    ever needed a fast multidimensional array, don't
    bother trying to implement your own in those
    languages. I know several C++ experts who tried
    developing their own matrix/tensor packages and
    gave up -- the compilers were too slow and it
    was too hard to program.

    Fortran cares about precision. Fortran cares
    about arrays. It handles type conversions
    automatically. Lots and lots of intrinsics are
    generic over your standard data types, and
    automatically handle arrays of up-to-7 dimensions.
    For scientific programming, these and other
    capabilities allow you to Just Do It.

    You can't really argue with the CS types who hang
    out on /. They've taken classes from biased CS
    professors who checked out of Fortran in the late
    70's, before F77 was even standardized and the
    compilers got fast. It is classic sophistry --
    rather than look seriously at the reasons why a
    methodology might be of true value to many people,
    they reduce it to an absurd absolute and poke
    fun at it.

    Besides, how many CS people actually know how to
    invert a matrix? (Hint -- you don't compute the inverse).

  101. um, anybody read it? It's actually good news by anon+mouse-cow-aard · · Score: 1


    It's pretty cool. All the nastiness about holleriths,
    no structured types or object oriented constructs
    is gone. Pointers or at least C_PTR can now be useful.
    and the FORTRAN C interface is now standardized.
    These were all things were people had to go outside
    the standard before in order to get real work done.
    People will not have to do that anymore.
    Let's just hope it stays as optimizable as it is currently.

    It looks to me like the committee did everything right,
    and that FORTRAN is coming along quite nicely.

  102. Fortran is still useful because..... by govt-serpent · · Score: 1

    there's no need to type that stinking semi colon at the end of every line

  103. Fortran has been my main language for 13 years. by Richard+Steiner · · Score: 1

    The airline industry (where I've spent most of my career) has a LOT of legacy code that is written in Fortran, as a programmer for a major airline, that is the code that I spent time maintaining and adding to over the years.

    Some of it is in places you might expect to see such an "enginerring-oriented" language used -- for applications like flight plan generation, optimum fuel burn calculations, and such.

    Other applications, however, like cargo waybill processing, are in Fortran simply because they're relatively old (late 60's/early 70's) and Fortran was considered the most applicable language at the time for the platform (Sperry UNIVAC 1100's) that they were written for.

    My current position doesn't use Fortran (it's a lot worse -- we use COBOL74), but it's a paycheck.

    --
    Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
    The Theorem Theorem: If If, Then Then.
  104. Re:Do we care? by Pedrito · · Score: 2

    If you BOTHER TO READ the report of the navigation failure of the Mars climate orbiter...

    If you'd BOTHER TO GET A SENSE OF HUMOR...

  105. Re:Do we care? by jantangring · · Score: 1

    > All that the world needs is a good way to call FORTRAN
    > functions from within C++ - and we already have that.
    > FORTRAN should just be left to die peacefully.

    I strongly believe this is the guy who is right. Maybe I would add that I would like to be able to call Fortran from any language, not just C++.

    Tradition.This is the primary reason people write Fortran programs. That goes for other languages too, tradition is what mainly governs the choice of language.

    Fortran is still a primary language taught to science students learning numerical analysis. Though the rational choice has been Matlab for at least a decade.

    I question the claim that Fortran compilers are somehow inherently good at optimizing code.

    There are new processors coming out all the time, so the compilers need to be reoptimized. The parameters for that optimization, like cache sizes and pipeline design, etc, are changing the rules for what code is efficient.

  106. Re:Do we care? by sbaker · · Score: 2

    You are talking about modern FORTRAN though - the legacy FORTRAN that we have is all >30 years old. I could be wrong - but I don't think all the fancy features you refer to existed back then.

    --
    www.sjbaker.org
  107. odd construct by Tablizer · · Score: 1

    The oddest Fortran construct IMO is the 3-way branch (goto) statement.

    It roughly has the format:

    if (x, y) a, b, c

    Where a, b, and c are line numbers, and x and y are two expressions to compare. If x less-than y, then goto a, if equal, then goto b, if x greater-than y, then goto c.

    Goto's galore.

  108. Damn! by Peter+Harris · · Score: 2

    Too late for this report to be nominated for the CS section of the 2002 Ig Nobel awards.

    --

    -- What do you need?
    -- Gnus. Lots of Gnus.
  109. FORTRAN FOREVER by Anonymous Coward · · Score: 0

    10 CONTINUE

  110. Re:Do we care? by T.E.D. · · Score: 2
    > FORTRAN should just be left to die peacefully.

    I strongly believe this is the guy who is right

    I'd advise against that; he's wrong. He's probably just transferring his desire to avoid using Fortran into an unsupported belief that it will go away.

    I certianly have similar desires myself (I took Fortran off my resume 10 years ago so I'd never be the poor sap stuck using it). But I don't share his delusions.

    I question the claim that Fortran compilers are somehow inherently good at optimizing code.
    :-)
    I took a graduate level course in compiler optimization, where I got to question that claim almost daily.

    What I discovered from the course is that Fortran compilers are really good at optimizing, in general. There are two main reasons for this.

    Reason one is some inherent qualities of the language, chiefly its lack of pointers. When your language supports pointers in the unrestricted way C++ and C do, suddenly any object can be aliased at any time. This makes it damn tough to optimize things.

    However, languages that are strict with pointer usage, and stricter than Fortran on the results of other constructs, could in theory be even easier to optimize than Fortran. Ada, Java, and the various Wirth languages come to mind.

    But theory really matters little. Fortran's big advantage over those other languages is in practice. Fortran users are doing hairy numerical processing, where they need all the optimization possible, and are willing to pay for it. Thus extreme efforts get put into optimizing Fortran compilers, and most of the research into optimization theory is funded by Fortran users.
  111. Re:Do we care? by jantangring · · Score: 1

    >>> FORTRAN should just be left to die peacefully.

    >> I strongly believe this is the guy who is right

    > I'd advise against that; he's wrong. He's probably just
    > transferring his desire to avoid using Fortran into an
    > unsupported belief that it will go away.

    I dont see much much I disagree with in what you write. Note that you misrepresent the first quote. It says "should" not "will".

    And in the second quote you seem to overlook the word "inherently". Fortran is not inherently good for optimization, that's what I say.

    I am aware of the extreme efforts being put into Fortran compilers. This is the reason Fortran compilers are good at optimizing, I think.

    Also, the PHD students doing the work gets to be pretty good at their craft, and they can bring over some of their optimization tricks to new architectures.

    Also, the experts in constructing the numerical algorithms come from the same team as the experts on optimizing the compilers. They are all monks in the same Bacchi temple. They share their traditional wisdom with each other.

    So. Fortran would be an extremely optimization hostile language if its compilers were not the most efficient ones for number crunching. Because these compilers are where 99 percent of the optimization energy is put today when it comes to scientific number crunching.

    But its not in the languages itself. To suck out the last performance you will be resorting to assembly language optimization, or at least using non-standard, ie non-Fortran, compiler directives inside your Fortran code.

    Strong religious tradition is the governing factor here. The tradition makes these guys stick to Fortran. They are pretty much immune to any arguments, like any other gang of zealots.

    The computer FX games guys don't program in Fortran. They program in C. And they need performance just as bad as the number crunching guys.