Modern Fortran in Practice
From its earliest days, the Fortran programming language has been designed with computing efficiency in mind. The latest standard, Fortran 2008, incorporates a host of modern features, including object-orientation, array operations, user-defined types, and provisions for parallel computing. This tutorial guide shows Fortran programmers how to apply these features in twenty-first-century style: modular, concise, object-oriented, and resource-efficient, using multiple processors. It offers practical real-world examples of interfacing to C, memory management, graphics and GUIs, and parallel computing using MPI, OpenMP, and coarrays. The author also analyzes several numerical algorithms and their implementations and illustrates the use of several open source libraries. Full source code for the examples is available on the book's website.
- Electronic book text
- 14 Jun 2012
- CAMBRIDGE UNIVERSITY PRESS
- Cambridge University Press (Virtual Publishing)
- Cambridge, United Kingdom
- 11 b/w illus. 11 tables
Table of contents
1. Introduction to modern Fortran; 2. Array-valued functions; 3. Mathematical abstractions; 4. Memory management; 5. An interface problem; 6. Interfacing to C: SQLite as an example; 7. Graphics, GUIs, and the internet; 8. Unit testing; 9. Code reviews; 10. Robust implementation of several simple algorithms; 11. Object-oriented programming; 12. Parallel programming; Appendix A. Tools for development and maintenance; Appendix B. Caveats.
About Arjen Markus
Arjen Markus is a senior consultant at Deltares, an institute for applied research in the field of water, subsurface and infrastructure in the Netherlands, where he develops and maintains their numerical modelling programs and the tools that accompany them. He is an active contributor to the ACM newsletter Fortran Forum and the comp.lang.fortran newsgroup.
'A language cannot survive without a means to learn about it. This implies the availability not only of textbooks on the language's syntax and semantics but also of books on how to use the language in real-life situations. Somehow, experience in the use and application of a language needs to be passed on to a new generation of programmers and new features require advice on how they are best to be used. Here, at a time when only rarely is a single language used in isolation, but more often in conjunction with other languages or with various tools, Modern Fortran in Practice fulfils a real need for practical advice in the field. I recommend it to all Fortran practitioners.' Michael Metcalf, from the Foreword 'Scientists, mathematicians, and engineers will find that Modern Fortran in Practice speaks their language. Arjen Markus introduces modern Fortran features using real-world examples and practical advice. If your knowledge of Fortran stops at FORTRAN-77 or even Fortran 90, Markus's book will open your eyes to what today's Fortran can do for you.' Steve Lionel, Senior Member Technical Staff, Intel Corporation 'Modern Fortran in Practice shows by practical examples how reliable and maintainable programs can be written. Starting with examples in Fortran 95, Fortran 2003/2008 features are then introduced and used to improve the code, thus showing different approaches but also providing a solution for older compilers. The author covers the whole development - from algorithm choice and error handling to graphical interfaces, parallelization, and unit testing. The book is an ideal complement to books that focus on the syntax of Fortran.' Tobias Burnus, Institute for Advanced Simulation, Research Centre Julich 'This book is a very welcome complement to the existing literature on modern Fortran. While most Fortran books serve as comprehensive language references, this book stands out for its extensive demonstrations of practical applications of the language. Especially interesting are the many demonstrations of the newest programming paradigms Fortran supports, including object-oriented programming, functional programming, and parallel programming.' Damian Rouson, Sandia National Laboratory