Slashdot Mirror


FORTRAN 2003 Accepted as Standard

GraWil writes "Despite the nay sayers citing its death in 1965, the FORTRAN standards committee has now released the final FORTRAN 2003 specification. In an announcement to the comp.lang.fortran group, Michael Metcalf annouced that 'Fortran 2003 has passed its ballot with flying colours: 20 yeses, 0 noes, 8 abstains.' Strictly speaking, the 2003 and past standards are not freely available but drafts can be found online. FORTRAN 2003 is an upwardly-compatible extension of the current standard, FORTRAN 95, adding and extending support for exception handling, object-oriented programming, and improved interoperability with the C language. In other FORTRAN news, the GNU FORTRAN 95 compiler has made amazing progress over the past year. Gfortran will be part of gcc-4.0 when released (probably in 2005)."

59 comments

  1. Have they addressed any of the weirdnesses? by gowen · · Score: 5, Interesting
    Three things bug me about F95, which I use every day
    1. No standardised/portable method for handling command line parameters.
    2. Undefined behaviour for short-cutting logical ors. e.g. the behaviour of
      if(flag.and.function(var)) then...
      is undefined if flag is false and function() has side effects.
    3. The things you *can't* use parameters for (like fixing lengths in format statements) without running fpp/cpp on the code first
    4. No standardised meanings for

      real(kind=8) x

      Does that mean an 8 byte real? Or a 8 bit real? It depends on the compiler... (and yes, I know the portable solution is

      real (kind=kind(0.0d0)) x

      and the such like, but *thats* really ugly, compared to

      double precision x.


    --
    Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
    1. Re:Have they addressed any of the weirdnesses? by dubious9 · · Score: 2, Interesting

      I find Fortran (especially old fortran like 77) is most easily worked when you do the setup and application logic in C/C++. Once you've got the type conversions down (ie, when passing Fortran strings, their lenth is appended as an argument, or that array subscripts are reverse and start from 1), it's quite easy to call C from Fortran and Fortran from C.

      Since C is much more standard and cross platfrom, you can get that stuff out of the way and do the heavy lifting in Fortran. Data types, yes, those can be inconvenient cross-platfrom wise, (though I've never had to worry about them much on HPUX or Sun) but otherwise use the right tool for the job.

      --
      Why, o why must the sky fall when I've learned to fly?
    2. Re:Have they addressed any of the weirdnesses? by gowen · · Score: 1

      Well, I once wrote a Perl front-end that output Fortran files with all the appropriate options set, and then recompiled the whole thing -- with a recompilation for every data point generated. It worked, but it was ... inelegant.

      --
      Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
    3. Re:Have they addressed any of the weirdnesses? by bhima · · Score: 1
      We don't use Fortran that much any more, mostly variations of existing code rather than the from the ground up sort of things, but that is exactly how I use it!

      Though I had put it down to my comfort with C and the lead propeller head's comfort with Fortran...

      --
      Nothing in the world is more dangerous than sincere ignorance and conscientious stupidity.
    4. Re:Have they addressed any of the weirdnesses? by Anonymous Coward · · Score: 0

      1. Command line? I use punch cards, you insensitive clod.

      2. It doesn't seem like good programming practice (except in perl, of course, where anything is allowed) to depend on order of execution of equal precedence operations.

      3. what's wrong with fpp?

      4. uck

    5. Re:Have they addressed any of the weirdnesses? by wjwlsn · · Score: 1

      I haven't done any Fortran-95 in a while, but I believe that most of this syntax is correct:

      Integer, Parameter :: KREL=Kind(0.0d0)
      Real (KREL) :: X=0.0_KREL

      Later on, if you want to go back and change to some other precision (single, quad??), just change the parameter statement. Also, note that if you want to use literal constants, just append "_KREL", as in "1.0_KREL".

      --
      Getting tired of Slashdot... moving to Usenet comp.misc for a while.
    6. Re:Have they addressed any of the weirdnesses? by Vlad_the_Inhaler · · Score: 1

      2. Undefined behaviour for short-cutting logical ors. e.g. the behaviour of
      if(flag.and.function(var)) then...

      is undefined if flag is false and function() has side effects.


      You should be shot for trying something like that. In any language. An optimising compiler is supposed to evaluate 'flag' first.

      If you want to pull a stunt like that, try
      c
      c *WARNING*: function has side-effects so we have to execute it!
      c
      funcres = function (var)
      if (flag .and. funcres) then

      --
      Mielipiteet omiani - Opinions personal, facts suspect.
    7. Re:Have they addressed any of the weirdnesses? by gowen · · Score: 1

      Ah! (lightbulb goes on). That makes sense. I'd seen statements like 0.0_HIGH where "HIGH is a named parameter" in the documentation, but could never figure out how to get them to work

      --
      Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
    8. Re:Have they addressed any of the weirdnesses? by gowen · · Score: 1
      In any language. An optimising compiler is supposed to evaluate 'flag'
      But if flag is false should it evaluate function().

      The C standard quite clearly states that it

      if(a && func()) {block;}

      is equivalent to

      if(a) {
      if(func()) {
      block;
      }}

      Nothing is that clearly defined in Fortran
      --
      Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
    9. Re:Have they addressed any of the weirdnesses? by kclittle · · Score: 1
      short-cutting logical ops based on order of execution is absolutely critical to those using C/C++:

      if ( ptr && *ptr ) {...}

      Most modern languages I know of support this.

      --
      Generally, bash is superior to python in those environments where python is not installed.
    10. Re:Have they addressed any of the weirdnesses? by Anonymous Coward · · Score: 0

      1.) use formatted reads or namelists
      2.) Don't make function which have "side effects" you cant cope with (not really a fortran thing, is it?)
      3.) the following works fine for me (Sun and Intel fortran compilers):

      integer, parameter :: l=3
      character(len=l) :: str


      4.) rather than using real(kind=(0.0d0)) (which is not guaranteed portable) - you should use selected_real_kind etc. asking for a certain precision rather than double something ..

    11. Re:Have they addressed any of the weirdnesses? by Anonymous Coward · · Score: 0

      1. Yes they have (fixed it). An free implementation for lots of compilers already exists, see: http://www.winteracter.com/f2kcli/ 2. What about: if (flag) then if (function(var)) then ... The fact that logical expression can be evaluated in any order is intended to give the compiler the freedom the play all kind of optimisation tricks 3. I guess not..havent read it (it is not free!!) 4. If you do: integer, parameter:: DP=kind(0.0d0) at a central place, you can write lines like real(kind=DP) x everywhere and if later on you wish to change the kind of all your double precisions you only need to change one line. A really portable way is (double precision can mean different thing on different platforms): integer, parameter::MYKIND=selected_real_kind(15, 307) real(kind=MYKIND) x which guarantees you a precision of at least 15 digits and a range of 10^-307 to 10^307.

  2. Deafening silence by bonniot · · Score: 4, Funny

    Halh an hour after Fortran 2003 was announced on slashdot, the silence is deafening. Have most people migrated to other languages? I often heard that the amount of legacy code will make fortran survive for a long time. Or is it just that the sets of fortran users and of slashdoters do not intersect?

    1. Re:Deafening silence by kawika · · Score: 4, Funny

      Sorry it took me a while to respond. I was down in the computer room re-punching my card decks to comply with the new Fortran 2003 standard.

    2. Re:Deafening silence by Anonymous Coward · · Score: 0

      Well, after coding in Perl and high-level numerical languages (e.g., R, Matlab), as well as some C/C++, I've started to think that maybe I should start using Fortran.

      I've coded in F77 before--which I didn't like--but it seems like the newer versions of Fortran are very clean syntactically.

      Why am I looking at Fortran more? Because it has two things that make it very attractive for numerical programming: speed and intrinsic support for numerical programming.

      By "intrinsic support" I mean that the syntax of Fortran incorporates beautiful, elegant facilities for numerical programming, without adding "outside" libraries. Sure, someone can do matrix manipulations in C++, but the libraries I've seen are relatively awkward in syntax, and they aren't "built into" the language specification itself. Fortran handles matrices wonderfully, as cleanly as very high-level numerical languages like R or Matlab.

      But Fortran has the speed of C/C++, unlike R or Matlab. So you seem to get the best of both worlds.

      So far, the only thing holding me back from using newer Fortran more has been the lack of freely available compilers, and my distaste with using F77 (a lot of what's out there is still written in F77). But now with G95, maybe I'll give it a try.

    3. Re:Deafening silence by traveyes · · Score: 2, Interesting

      You joke.... Seriously, where I work there's 2 people that still write in Fortran/66. No kidding.

      They don't use card-punchers, but they might as well.

      .

    4. Re:Deafening silence by beliavsky · · Score: 1

      There is enough interest in Fortran to support about 10 Fortran 95 compiler vendors -- see http://www.dmoz.org/Computers/Programming/Language s/Fortran/Compilers/ . You can see in the comp.lang.fortran newsgroup that people ARE using it to write new code, using the new features of Fortran 90 and 95. Fortran is still the best compiled language for numerical work -- compare its handling of arrays with that of C or C++.

  3. What future programming languages will be by tod_miller · · Score: 4, Insightful

    Taking aside the idea of syntax for moment, this is a RT on 'what is a language' nothing to do with turin complete, OO or AOP or whatever.

    What we really care about: libraries. Being able to do things quickly, without fsking about.

    That is why php is successful, people can just run phpnuke/postnuke etc.

    Perl is also successful because of its roots and flexibility, and easy to get into, and you could just run slashdot on your site if needs be.

    What really helps these, is foundations. php/mysql, perl/whatdoesslashdotuse? People will write in anything if they see an easy way to get something done. Tutorials and support material.

    The point - except for people studying 'computer languages' (as someone woudl study the history of world languages) who will pick up fortran as an option for a new language?

    I am first to admit I do not know the dissadvantages or advantages of it. Are there any? or is it just syntax?

    Java is a language, but much more, it abstracts the whole idea of a language ( no it isn't correct to cite /nets multiple compilers here, no no really this is a different point) and makes it a process.

    So it isn't about the clean syntax OO language, but the process of programming. Through design and development and testing, it has all be rbought up with testing, this is true of almost all languages, but when I think of Java I have a view of all the testing frameworks, libraries and standards.

    To be honest, Fortran now is just a syntax specification, that says, take this line, and make that byte code. That doesn't do it for me.

    One mans syntax is another mans syntax error.

    Error on line 1: Insert ; to complete statement

    --
    #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
    1. Re:What future programming languages will be by TeknoHog · · Score: 5, Informative
      I am first to admit I do not know the dissadvantages or advantages of it. Are there any? or is it just syntax?

      Disclaimer: I have an M.Sci in physics with a slant towards computational physics. I'm most familiar with F90 but its advantages should apply to the later revisions as well.

      Fortran is a slightly higher-level language than C. It has lots of math capabilities built-in; particularly matrix types and operations meaning good potential for parallel processing. Decent compilers can produce multiprocessor and MMX/SSE code from Fortran, and probably the equivalent on non-x86 platforms. I'm not sure if you can do this in C portably.

      Fortran has a fairly simple overall syntax where newlines matter. I found it very easy to learn, having some experience with Python and C. In some ways the syntax is rather arcane but at least it's quite clear (compared to C or Perl at least IMHO).

      Fortran does have pointers, but they are unnecessary because of other memory handling methods (namespaces or 'modules'). Dynamic memory allocation is a bit quirky IMHO, but way simpler than in C.

      The language feels well suited for physicists. It's not necessarily good for general programming, but I'd happily use it for many speed-critical sections instead of C.

      One important reason for the persistence of Fortran is the number of libraries for computational sciences, for example LAPACK. They can be included in modern Fortran programs despite being written in F77. There have been a number of attempts to make a scripting front-end for these libraries; Matlab is one of them, even though its F77 roots are not very visible.

      The common complaints about Fortran are mostly true for F77 and older revisions. F77 is a truly horrible language, and it has none of the nice features that make F90+ good for scientific computing.

      --
      Escher was the first MC and Giger invented the HR department.
    2. Re:What future programming languages will be by dubious9 · · Score: 1

      Basically when you are doing heavy math problem such as nuclear simulations or atmospheric or whatever, fortan is nice. The syntax is fairly succinct, there is less memory management than in C and it's built in math and especially matrix abilities are second to none.

      It has lost it's usage as a general purpose language, as yes you're right in that, and most people will never need to pick it up. But for scientists Fortran is an attractive option especially if know how to interface it with C (and it's not that hard), you can use the best of both languages.

      --
      Why, o why must the sky fall when I've learned to fly?
    3. Re:What future programming languages will be by gowen · · Score: 2, Interesting
      Dynamic memory allocation is a bit quirky IMHO, but way simpler than in C
      Quirky? I really like it.

      i) Declare a variable allocatable.
      ii) Allocate it, and check IFAIL
      iii) Deallocate it when you're done.
      iv) Profit!

      The real paradigm shift you need for a C programmer moving to fortran, is that nothing is passed by value and side effects are used so much. But the intent(in) and intent(out) directives are your friends for that sort of thing.

      Function overloading is pretty straightforward too, once you start using modules with well defined interfaces.
      --
      Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
    4. Re:What future programming languages will be by sjames · · Score: 1

      how to interface it with C (and it's not that hard), you can use the best of both languages.

      It is fairly easy, I just wish symbol underscoring and capitalization didn't cause so much trouble. A nice set of manditory linker flags to link libraries with different conventions would be nice :-)

  4. Re:In other news by noselasd · · Score: 1

    Really ?
    Be very much aware that there are lots which measure "efficient" in
    development time, NOT execution time.

  5. Re:In other news by tigersha · · Score: 1

    That would hardly make Fortran efficient, but then in comparison to C++...

    --
    The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  6. Re:In other news by dubious9 · · Score: 2, Interesting

    Then I challenge you do some complex multi-dimentional array calculation and manipulation. Most applications, yes, but why would scientists still use it if *everything* was better in c++? Not everything is maintaining applications from the 70's; there *is* new development.

    There's a language for every problem domain and when that problem domain includes heavy lifting with math, it's often fortran. Besides you can quite easily compile C and Fortan together, Fortran for the math, C for the application data and GUI.

    --
    Why, o why must the sky fall when I've learned to fly?
  7. GFORTRAN != G95 by Anonymous Coward · · Score: 4, Informative

    The article talks about GFORTRAN being released with the next GCC, but then links to G95 on sourceforge. From reading the gcc.gnu.org list trsffic, G95 was orginally on sourceforge, but then forked when its main developer wouldn't cooperate with anybody else, especially the GCC people. The fork was GFORTRAN, and it will be GFORTRAN, not the g95.sf.net project, which gets released.

    1. Re:GFORTRAN != G95 by Anonymous Coward · · Score: 0

      gfortran is coming along nicely. http://gcc.gnu.org/fortran

    2. Re:GFORTRAN != G95 by beliavsky · · Score: 1

      I don't know about the politics of the unfortunate g95/gfortran split, but I can say that Andy Vaught, the force behind g95, works very hard at it, adding features (including a few from Fortran 2003) and fixing bugs at a fast pace. G95 compiles many large codes as well as my (smaller) codes. Binaries are available for 7 Unix/Linux platforms from http://www.g95.org .

  8. Re:In other news by noselasd · · Score: 2, Insightful

    It seems you think of Fortran as a general purpose language, such as e.g. C and C++ it really is not. Fortran is strong at numerical computing, and in many areas there it is way better than C++.

  9. Why not the front page? by Anonymous Coward · · Score: 1, Interesting

    Why isn't this on the front page? Here I am, bustin' my ass writing Fortran code all day. I mean, the new spec is really important to me and my work. I've been waiting for the ability to natively handle command line arguments (i.e. without a STDIN/STOUT tricks) since moving from cards.

  10. GNU Fortran 95 by gowen · · Score: 1

    Has any used it on production numerical codes? Benchmarked it against NAG or Intel compilers? Any problems with incompatibility?

    --
    Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
    1. Re:GNU Fortran 95 by aminorex · · Score: 1

      Yes, yes, and yes.

      Dependency analysis is not GCC's strong suit.

      --
      -I like my women like I like my tea: green-
  11. Re:In other news by bhima · · Score: 2, Informative
    C & Fortran represents far more code where I work than C++ (or any other single language solution) and there is not single line of java in production code (we use a lot of Perl in house come to think of it).

    I think the main reason is that Fortran can describe the problem space in ways that scientists can use well (and hence is maintainable) and C handles the rest fine.

    I don't understand why some many younger people are so quick to put older languages down, my sister has made a small fortune maintaining / extending COBOL apps for various financial institutions using more or less the same method (C & COBOL together). I guess it's because they've never understood the various problem spaces to begin with and see the world in a web-centric sort of way.

    --
    Nothing in the world is more dangerous than sincere ignorance and conscientious stupidity.
  12. Re:In other news by gowen · · Score: 1
    Everything that can be done in FORTRAN can be done more efficiently and just as expressively in c++
    Really? How do you get around the fact that the flexibility of C/C++ pointers make it almost impossible to completely optimise/parallelise code is a safe manner?
    --
    Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
  13. What sectors are people using this in? by SLiK812 · · Score: 4, Interesting

    When I was a young lad in college (all of 10 years ago), I had to learn Fortran for one of my Chem Eng classes. We were learning Fortran77, mostly cause my profressor didn't think we would need it in the future, and didn't want us to be concerned with some of the new structures in more current versions.

    The Aero's also had to learn it (I know cause I taught it to them, since their prof sucked). So what sectors of industry are people working in with Fortran? Is it still just the Chemical and Aeronautical fields, are other places (where a different language might be more beneficial, say) still using it, cause no one wanted to convert systems?

    1. Re:What sectors are people using this in? by j_cavera · · Score: 5, Interesting

      The nuclear engineering communitiy is (still) standardized on F77. The reasons: 1) many great neutronics codes were written in the 60's (often for weapons research) using F77 and are still valuable today and 2) the NRC has some strange requirements concerning foward and backward compatability - almost anything from a DEC PDP-3 to a new G5 iMac can compile F77 code. Maybe someday they'll let us use F95...

      --
      #include "humorous_pop_culture_reference.h"
    2. Re:What sectors are people using this in? by Anonymous Coward · · Score: 2, Funny

      Writing F77 code in the 60's????

    3. Re:What sectors are people using this in? by Anonymous Coward · · Score: 0

      They still teach it to ME's and AE's at my school...

    4. Re:What sectors are people using this in? by Vlad_the_Inhaler · · Score: 1

      Airlines.

      NWA for example.
      There used to be two competing mainframe packages for airlines, one was essentially written in Fortran. I don't know the other one and have fogotten it's name.
      afaik, people are now migrating away from the Fortran one towards Unix systems (?), but they ain't got thar yet. (it is not a conversion job, it is a complete rewrite)

      --
      Mielipiteet omiani - Opinions personal, facts suspect.
  14. Libraries and support tools by Per+Abrahamsen · · Score: 2, Insightful

    You gave the answer. For scientific computing, Fortran is where the libraries and support tools are.

    You can think of it as being for scientific computing what php is for web development. Except, of course, that Fortran is far more dominating in the scientific computing field than PHP is for web development.

    I know, I write scientific computing in C++, and I must occationally consider if it wouldn't have been more cost efficient to use Fortran, where most of the relevant libraries, support tools and expertise is.

  15. I like Fortran by samberdoo · · Score: 0

    My biggest concern is the ability for Fortran to co-exist with other languages, specifically C. I would like to use Fortran for the things it does well and be able to combine it with my C code for the things C does well. Unfortunately, the compilers are not always compatible. I wish this would be addressed better in the future.

  16. Stop...the...nightmare by b-baggins · · Score: 2, Funny

    Twisted visions of late nights hunched over the green glow of my IBM XT sweating through trying to write a Fortran 77 program to data crunch my analytical Chem class lab reports are running through my brain like nails on a blackboard.

    --
    You can tell a great deal about the character of a man by observing those who hate him.
    1. Re:Stop...the...nightmare by dimsley · · Score: 1

      OMG

      I have the same nightmares. I was an Aero and I remember having to model how heat dissipates from different fin shapes in color! I also remember praying that the program will finish running on my IBM PS2 before class started. I hated Fortran so much that it turned me off from computers for years and I have always loved them since I got my first VIC 20 when I was 9. I'm just writing about it and I need a towel for my cold sweat and half a bottle of Advil for my migraine!

  17. Fortran (and Cobol) by Anonymous Coward · · Score: 0

    I don't see what the problem is here. I learned about Fortran. I learned about Fortran and Cobol in History Class.

    1. Re:Fortran (and Cobol) by Anonymous Coward · · Score: 0
      I can tell, because you spelled them both wrong. They're FORTRAN and COBOL.

      ~~~

    2. Re:Fortran (and Cobol) by Vlad_the_Inhaler · · Score: 1

      I have been programming both for years. The pay is a lot better than for Java / C / whatever, basically because of people like you who don't want to learn 'old technology'.

      My problem is, you are half right. Eventually their use will die out. I reckon that I will have a big problem in about 10 years, but then again (quoting John Maynard Keynes): 'In the long run, we are all dead'.

      --
      Mielipiteet omiani - Opinions personal, facts suspect.
  18. Holding out. by base3 · · Score: 2, Funny

    I'm waiting for FORTRAN XP.

    --
    One CPU cycle wasted on digital restrictions management is ONE TOO MANY.
  19. MODERATION MADNESS STRIKES AGAIN by hummassa · · Score: 2, Interesting
    Moderators: the grandparent was not flamebait, I was serious.

    Ok, I will start over:

    dubious9: I challenge you do some complex multi-dimentional array calculation and manipulation

    You mean like:
    Matrix a, b, c, d;
    a = b * b / c + d.dot(a);

    unh? easy answer: use the right lib.

    dubious9: why would scientists still use it if *everything* was better in c++? Not everything is maintaining applications from the 70's; there *is* new development

    I don't know!? Because they don't know C++? Because they would have to put a C++ course in Engineering School? Because they don't know the whole awful lot of ultra efficient, STL-based, highly-parallelized numeric/scientific computation libraries available for C++? (an initial search of freshmeat returns at least seven interesting, relevant results)

    bhima: see the world in a web-centric sort of way

    what does a web-centric way has to do with c++?

    noselasd: Be very much aware that there are lots which measure "efficient" in development time, NOT execution time.

    See below :-)

    tigersh: That would hardly make Fortran efficient, but then in comparison to C++

    I am really more comfortable -- and efficient -- with c++'s features and quirks than with fortran's. But as I answered to dubious9, this is not what I said in the grandparent post. It was: Everything that can be done in FORTRAN can be done more efficiently and just as expressively in c++. So, it kind of lost its raison d'etre. And I stand for it. I can do things like the matrix manipulation of the first question in c++ and have the compiler parallelize what it can, use SSE or whatchmacallit, using templates (and more on this in the last answer) and operator overloading.

    noselasd: It seems you think of Fortran as a general purpose language, such as e.g. C and C++ it really is not. Fortran is strong at numerical computing, and in many areas there it is way better than C++

    No, it is not. That was my point to begin with.

    gowen: Really? How do you get around the fact that the flexibility of C/C++ pointers make it almost impossible to completely optimise/parallelise code is a safe manner?

    Answer: Partial Template Specialization. It works.
    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
    1. Re:MODERATION MADNESS STRIKES AGAIN by Smallpond · · Score: 1

      Doesn't Partial Template Specialization generate a lot of overhead at runtime? I think that FORTRAN tends to get used for stuff like this because all of the data type manipulation gets eliminated at compile time. Caveat: I know equally little about C++ and modern FORTRAN compilers.

    2. Re:MODERATION MADNESS STRIKES AGAIN by sjames · · Score: 1

      However, that still doesn't get around the primary advantages of FORTRAN.

      First as was pointed out above, the lack of pointers (and a few other restrictions as well) enables optimizing compilers to produce extremely efficient code compared to C/C++.

      The other is portability. While C/C++ are rather portable, FORTRAN guarantees that you'll get exctly the same precision no matter what platform you compile on. Integer, Real, and Double have never changed in definition. If it produced the correct results on the PDP11 years ago, it'll be correct on your PC today.

      Complex numbers, matricies, etc are standardized and well defined parts of the language itself. If it doesn't do exactly what other FORTRAN compilers will do with it, it isn't a FORTRAN compiler at all.

  20. Fortran lives in scientific research. by CharAznable · · Score: 2, Interesting

    Back in college, a couple of years ago, I worked as a research assitant for an astronomer. He made me learn Fortran77, and then Fortran 90. F77 is horribly stiff, no different from punching stuff into a card. But F90 was really great, easy, straight forward syntax, and very, very fast. My job was basically working with 15 year old f77 code and writing new f90 code used to calculate IR emissions from protoplanetary disks around stars. I leared a lot and made me a better programmer, I think.

    --
    The perfect sig is a lot like silence, only louder
  21. Re:In other news by Mod+Me+God+Too · · Score: 1

    What about Matlab - that seems to be taking over for most serious math problems/teams I encounter - and it can output in C++ et all too.

    --
    --

    It is not the commies, the government, the nigger, nor the corporates. It is your paranoia.
  22. Re:In other news by Vellmont · · Score: 1


    I guess it's because they've never understood the various problem spaces to begin with and see the world in a web-centric sort of way.


    No, we just hate legacy crap that exists for no other reason than no one wants to bite the bullet and develop something new in a non-crappy language like COBOL. Corporations are famous for short sightedness and continue to do things like maintain old COBOL programs for years and years where it'd probbably be cheaper in the long run to re-write the whole thing in an easier to maintain object oriented language that doesn't require rare, exepesive COBOL programmers.

    --
    AccountKiller
  23. not "FORTRAN" by Anonymous Coward · · Score: 0

    Since the 1990 standard the official spelling has not used all caps, so the latest standard is "Fortran 2003".

  24. FORTRAN vs. C++ by hummassa · · Score: 1

    You have one wrong point (the same of the brother [Smallpond] post) and one right.

    1 (wrong). Pointers: Partial Template Specialization enable at compile-time all the optimizations that the lax aliasing rules of C++ normally would disable. Good c++ numeric libraries are full of well-tought, well-defined PTSs that make the hard work for you.

    2 (right). Portability: Yes, this is a plus for Fortran. But what I said in my original post is about New Code To Be Written. I really doubt any 21st century engineers need their code to run the the PDP11, so, to write new engineering code, I would surely go with C++ and a good numeric library.

    Why? because anything I would write in FORTRAN I can write with equal expressiveness and efficiency in c++.

    But YMMV -- that's me.

    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
    1. Re:FORTRAN vs. C++ by sjames · · Score: 1

      But what I said in my original post is about New Code To Be Written. I really doubt any 21st century engineers need their code to run the the PDP11, so, to write new engineering code, I would surely go with C++ and a good numeric library.

      I agree that nobody is likely to want to run any code on a PDP 11 anymore (though some DO run ancient code on PDP 11 compatible PCI cards in a PC now). That's not the issue. The issue is more that scientific and engineering code tends to last a LONG time, and can be very difficult to update since every change requires you to revalidate it's correctness even for the corner cases and you can never bbe 100% certain that a subtle bug hasn't been introduced (consider a single bug that loses precision under a rare but existant circumstance).

      Fourty years from now, sombody running today's code on their new wizz-bang/12000 with ultra-moby threading (and a quintrix) will be really happy if it's in FORTRAN. How sure are you that your C++ code is 512 bit clean?

    2. Re:FORTRAN vs. C++ by hummassa · · Score: 1

      How sure are you that your C++ code is 512 bit clean?
      By using the right numeric library? 100%.

      --
      It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
  25. I love F90 by asadodetira · · Score: 1

    I've been coding a lot of vector, matrix, tensor stuff for hydrodynamic research. F90 is friendly for that.
    For example you can move matrix blocks in one statement, or set them all to zero at once. It's almost like using a math package but fast.


    This online manual is teh goodness:
    http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90Cour seSlides.html

    If they exist I want to buy a Fortran related T-Shirt. Also one about TI-994A's but not the ones in cafepress.