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


Programming with Rust

Author:  Donis Marshall
Publisher: Addison-Wesley
Pages: 400
ISBN: 978-0137889655
Print: 0137889658
Kindle: B0CLL1TGVT
Audience: Programmers wanting to learn Rust
Rating: 3
Reviewer: Mike James
Rust is the language we all want to learn at the moment so this is just in time.



SQL Server 2022 Revealed

Author: Bob Ward
Publisher: Apress
Pages: 506
ISBN: 978-1484288931
Print:1484288939
Kindle: B0BLB4VJL9
Audience: DBAs & SQL devs
Rating: 5
Reviewer: Ian Stirk

This book aims to explain the new features in SQL Server 2022, how does it fare?


More Reviews

Last Updated ( Saturday, 11 December 2021 )