Freshly Printed - allow 8 days lead
Modern Fortran in Practice
A tutorial guide that shows programmers how to apply features of Fortran 2008 in a modular, concise, object-oriented and resource-efficient manner, using multiple processors.
Arjen Markus (Author)
9781107603479, Cambridge University Press
Paperback / softback, published 18 June 2012
270 pages, 11 b/w illus. 11 tables
22.6 x 15.2 x 2.3 cm, 0.43 kg
'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
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.
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.
Subject Areas: Computer programming / software development [UM]