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)."
if(flag.and.function(var)) then...
is undefined if flag is false and function() has side effects.
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.
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?
Watch great movie opening scenes!
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.
/nets multiple compilers here, no no really this is a different point) and makes it a process.
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
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
Really ?
Be very much aware that there are lots which measure "efficient" in
development time, NOT execution time.
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
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?
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.
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++.
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.
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.
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.
Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
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?
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.
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.
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.
I don't see what the problem is here. I learned about Fortran. I learned about Fortran and Cobol in History Class.
I'm waiting for FORTRAN XP.
One CPU cycle wasted on digital restrictions management is ONE TOO MANY.
Ok, I will start over:
dubious9: I challenge you do some complex multi-dimentional array calculation and manipulation
You mean like:
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
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
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.
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
Since the 1990 standard the official spelling has not used all caps, so the latest standard is "Fortran 2003".
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
I've been coding a lot of vector, matrix, tensor stuff for hydrodynamic research. F90 is friendly for that.
r seSlides.html
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/HTMLF90Cou
If they exist I want to buy a Fortran related T-Shirt. Also one about TI-994A's but not the ones in cafepress.