Skip main navigation

recap and references

A brief overview of the material covered during this week, some references to additional information, and some Fortran-related humor.

You have reached the end of week 4. During this week, you learned about

  • best practices for coding,
  • Fortran coding idioms and coding style,
  • error handling in Fortran,
  • best practices for writing documentation,
  • the doxygen document generator,
  • how to use a profiler to identify performance bottlenecks,
  • hardware features such as vector instructions and caches, and how to exploit those to get optimal performance,
  • how to do I/O efficiently.

References

Although a few of the books listed here are fairly old, they are still quite relevant, you could call them timeless classics.

Books

  • Modern Fortran: style and usage, Norman S. Clerman and Walter Spector, Cambridge University Press, 2012
  • The practice of programming, Brian W. Kernighan and Rob Pike Addison-Wesley, 1999
  • Clean code: a handbook of agile software craftsmanship, Robert C. Martin, Prentice Hall, 2008
  • Write clean code and get rid of code smells with real life examples
  • Design patterns: elements of reusable object-oriented software, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, Addison-Wesley, 1994
  • Refactoring: improving the design of existing code, Martin Fowler, Addison-Wesley, 1999

Articles

  • Exception handling in Fortran, Arjen Markus, Newsletter ACM SIGPLAN Fortran Forum, volume 32, issue 2, p. 7‒13, 2013

Online resources

Software stack

This article is from the free online

Fortran for Scientific Computing

Created by
FutureLearn - Learning For Life

Reach your personal and professional goals

Unlock access to hundreds of expert online courses and degrees from top universities and educators to gain accredited qualifications and professional CV-building certificates.

Join over 18 million learners to launch, switch or build upon your career, all at your own pace, across a wide range of topic areas.

Start Learning now