Intro to Fortran Development

So you’ve got yourself the desire to write some Fortran code…  Congratulations!  People most often still associate it with punch-cards and vacuum tubes, but its come a long way from that.  Today, its a powerful and highly optimized language that can be used to do some serious number-crunching, especially in light of the advancements that parallel computing has made in the past few years with GPUs and multi-core processors. And with the addition of being able to bind to C functions in Fortran 2003, it has been opened up to a world of useful libraries and toolkits.

Now how do you get started?  Well, you’re going to need a couple of things before you begin.

First of all, a good book: Modern Fortran Explained by Metcalf, Reid, and Cohen.  This is a 2011 update to one of the best Fortran books available, and includes not only Fortran 2003 standards, but Fortran 2008 as well.  I use it as a reference frequently.  It will teach you the basics of the language as well as the most complicated aspects, such as coarrays.  The pace is excellent, the writing is clear, and the examples are good.

Second, a compiler.  I use the Windows platform, and there are several different options available.  For right now, though, I’ll recommend only a single one:  Intel Visual Fortran.  They’re the most up-to-date, and arguably the most optimized.  If you know how to use Visual Studio, then you’ll know how to use Visual Fortran (because it plugs into VS).  However, note that Intellisense doesn’t work as well as it does for the other VS languages unfortunately.  Intel has made some progress on this, but there is a lot of room for improvement.  But its only a minor flaw in an otherwise excellent piece of software.

I’ll be updating this blog as I continue down this path, as well.  Hopefully what I put on here will be helpful to others.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s