Modern Fortran
Written by Mike James   

Author: Milan Curcic
Publisher: Manning
Date: November 2020
Pages: 416
ISBN: 978-1617295287
Print: 1617295280
Audience: Fortran programmers
Rating: 5
Reviewer: Mike James
Not your parents' Fortran?

Fortran is the oldest of the high-level languages and it is still going strong - even if an early Fortran programmer might have trouble identifying some of its newer features. Should you learn Modern Fortran? Only if you are in an environment where it is used. In practice this means a scientific environment and in particular any supercomputer establishment. Fortran is still strong on number crunching and it has such a heritage of code and experience it isn't going to be dumped any time soon. Even so. for general computing Fortran is an uncessary complication.


This particular book is an introduction to modern Fortran specifically using GNU Fortran, but almost any other compiler will do. If you are using Linux then gettting started is easy because GCC is usualy already installed.

Part 1 starts off with a look at Fortran and its history and considerations for its use today. From the word go the emphasis is on parallel execution and I was almost expecting a parallel "Hello World", but no, a simple print statement does the job. Then we move on to a simple example program on the propagation of a cold front, which makes sense when you notice that the author Milan Cucic a meteorologist and oceanographer. The emphasis in the book, reasonably enough, is on scientific applications, but it isn't tough going.

Part 2 starts with chapter 3 and it is an introduction to core Fortran. This goes over the usual elements of programming - loops, conditionals, subroutines,modules and so on. If you don't know Fortran this is where you learn it. The later chapters deal with data - arrays and using files. There are two larger examples - a stock market forecaster and a tsunami wave simulation.

Part 3 is called advanced Fortran and it starts off with a more detailed look at parallelism in Fortran - the project is a tsunami simulator and the approach is to use coarrays. The remainder is all about data and data types including generics and user-defined operators.

Part 4 is the final stretch and it is indeed called the Final Stretch. It covers the parts that many language-oriented books leave out - interworking with C and using the web - TCP client and server. The final chapter brings us back to parallelism with teams, events and collectives.

For many readers the appendices will also be useful. The first is on getting GCC working, next there's one on converting calculus to differences and the final one revisits the tsunami simulator developed throughout the book.


This is a good book clearly written by someone who uses the language for real. The emphasis is on parallel programming for number crunching and the elements of Fortran are introduced to serve this purpose. It isn't a reference manual-style examination of the language and is much better for this.

If you need to come to grips with number crunching-oriented Fortran, is there any other, then this is highly recommended.



To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.


JavaScript: The New Toys

Author: T.J. Crowder
Publisher: Wrox
Date: July 2020
Pages: 260
ISBN: 978-1119367956
Print: 1119367956
Kindle: B08C9PH74Z
Audience: Experienced JavaScript developers
Rating: 4.5
Reviewer: Mike James
Great title! Can the book be as good?

Racket Programming the Fun Way

Author: James W. Stelly
Publisher: No Starch Press
Date: January 2021
Pages: 360
ISBN: 978-1718500822
Print: 1718500823
Kindle: B085BW4J16
Audience: Developers interested in Racket
Rating: 4
Reviewer: Mike James
If you have ever wanted to Lisp then try Racket.

More Reviews

Last Updated ( Saturday, 11 December 2021 )