This document discusses modern Fortran programming languages including Fortran90/95/2003/2008. It provides an outline covering motivation for using modern languages, an overview of features in modern Fortran like free format, attributes, implicit none, loops, and arrays. It discusses how modern Fortran fixes flaws in older versions by allowing allocatable arrays and using structures and derived types.