Fortran is still in use today for 2 important reasons:
  1. There are tens of millions of lines of code running today. Go to netlib and see how many numerical codes are there. Most are available in C, too, but that's just the result of running f2c on them!

    Don't forget that these codes are hard to write -- rewriting them while ignoring the "interesting" properties of floating point arithmetic will not yield good results.

  2. Since it's so primitive, it's easier to optimise.

    C and C++ are in many ways at the wrong level for optimisation, particularly of mathematical codes. Optimisers can handle fixed-size multi-dimensional arrays reasonably well today (see, e.g., SGI's C/Fortran compiler). But C has terrible semantics for accessing that.

    You can guarantee a reasonably low level of aliasing in most Fortran code (mainly by ignoring all the horrible things people used to do with COMMON blocks). But in C, any pointer potentially points inside any block of memory. Bye-bye register optimisation in your tightest array loops!

Don't count on F90 being the last Fortran...