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.


Principled Programming

Author: Tim Teitelbaum
Publisher: DateTree Press
Date: March 2023
Pages: 429
ISBN: 978-8987744109
Print: B0BZF8R467
Audience: General
Rating: 5
Reviewer: Mike James
Principled Programming - what else would you want to do?

Administering Relational Databases on Microsoft Azure

Author: Prashanth Jayaram et al
Publisher: Independent
Pages: 622
ISBN: 979-8706128029
Print: B08Y4LBTP4
Kindle: B08XZQJHMK
Audience: Azure DBAs
Rating: 2 or 4 (see review for details)
Reviewer: Ian Stirk

This book aims to help you pass the Azure Relational Database exam DP-300, how does it fare?

More Reviews

Last Updated ( Saturday, 11 December 2021 )