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.

Banner

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.

Banner


Cracking Codes with Python

Author: Al Sweigart
Publisher: No Starch Press
Date: Jan 2018
Pages: 416
ISBN: 978-1593278229
Print: 1593278225
Kindle: B0713P1Q8X
Audience: Would-be Python programmers
Rating: 4
Reviewer: Mike James
Cracking codes in Python - exciting!



Basic Electronics: Theory and Practice

Authors: Sean Westcott, Jean Riescher Westcott
Publisher: Mercury
Pages: 
ISBN: 978-683925286
Print: 1683925289
Kindle:  B08BPK1VW2
Audience: Students and hobbyists
Rating: 2
Reviewer: Harry Fairhead
More and more programmers need an understanding of electronics as the needs of the IoT mix  [ ... ]


More Reviews

Last Updated ( Saturday, 11 December 2021 )