views:

438

answers:

5

This may be a duplicate of http://stackoverflow.com/questions/31672/learning-fortran-in-the-modern-era, but that thread went on discussing legacy code concerns.

Anyway, few months ago in a bookstore sale I picked up book called FORTRAN 66 for PDP-11. I found it interesting and decided it would be nice to learn FORTRAN. So I'm looking for some modern books/tutorials dealing with new versions of FORTRAN.

+2  A: 

If by 'new versions of Fortran' you mean Fortran 2003, then try:

  1. The Fortran 2003 Handbook

I, however, would also check out the books for past versions, made available as Numerical Recipes.

In other words, you need to know at least a little bit of FORTRAN 77, so that you can move comfortably to Fortran 20xx (and remember, it is Fortran now, not FORTRAN).

Arrieta
+3  A: 

For learning modern Fortran I recommend Fortran 95/2003 Explained by Metcalf, Reid and Cohen. The Fortran 2003 Handbook is excellent, but I don't think it is as suitable as a tutorial -- it is more of a reference for someone who already knows the language. I'd start by learning Fortran 90/95/2003 and only learn obsolete features of FORTRAN II, IV and 77 as needed for dealing with legacy programs.

M. S. B.
+3  A: 

Chapman Fortran 95/2003 for Scientists and Engineers - although somewhat massive in volume, it is an excellent beginners book. The author takes it slowly, also with explanations why is something done the way it is done, yet goes from the basic to the rather advanced fortran subjects.

Another I heartily recommend is the one that M.S.B. already mentioned - by Metcalf, Cohen and Reid (also known as the "MRC book" in some circles). A little more steep learning curve, but nothing that should worry, even one who's never had any encounters with fortran or programming at all. I generally agree with the rest of that answer as well.

ldigas
+3  A: 

For learning from scratch the best book used to be Fortran 90 Programming by Ellis, Philips and Lahey. Trouble is, it only goes to Fortran 90 and there have been some significant improvements to the language in the 95 and 03 standards, improvements which render some of the workarounds necessary in Fortran 90 obsolete. I quite liked the look of Introduction to Programming with Fortran by Chivers and Sleightholme, but I've not read it or tried (re-)learning Fortran from it.

To upgrade from 90 to 2003 the book by Metcalf, Reid and Cohen is excellent, but I don't think it is right for the absolute beginner. It's terse and is more about what new features the language has rather than how to apply them.

The Fortran 2003 Handbook is for the shelf, for reference when you need to get into the obscure corners of the language and the standard, but it's no tutorial.

Numerical Recipes is a good source of algorithms coded in Fortran and any half-way decent Fortran programmer should be familiar with the table of contents. It's not uniformly an excellent guide to programming in Fortran.

And pay no heed to the siren voices that tell you you have to come to modern Fortran through FORTRAN77. You don't, learn modern Fortran, learn old Fortran when, as you will if you work with Fortran for a while, you start to come across the old constructs.

High Performance Mark