Comment Wrap Fortran in Python -- best of both worlds (Score 1) 794
I'm the developer in a Google Summer of Code project that integrates Fortran support in Cython.
Cython (http://cython.org/) is a project that takes a python program with partial type information ('cdef int foo', 'cdef char *str') and generates a C file that is compiled to an extension module. It is possible for Cython to generate pure C code for the hotspots, all while keeping the nice python syntax. It can also call external functions very easily, so you can integrate other libraries as long as the compiler can link it together.
Thats where the GSoC project comes in -- it allows the programmer to take Fortran source code, wrap the subroutines/functions he wants, generates a fortran wrapper and a C header, which can then be called from any C code or Cython and by extension, Python. There's an older project, called 'f2py' that overlaps, but our GSoC project has some different aims, and is focusing on all versions of Fortran -- 77, 90, 95 with full array support (assumed shape, assumed size & explicitly shaped) and support for derived types.
Lastly, there is an entire numerical/scientific community in Python, known as scipy (http://www.scipy.org/) that has all the functionality of Matlab/Octave, with the full power of Python. Scipy has optimized arrays with a very good array syntax. Just like Matlab, Scipy hands off all numerically intensive work to external libraries, BLAS, ATLAS, etc.
So to the OP's question -- certainly teach Fortran, since that is the langua franca of numerical programming and will be for a while. But learn Python, too. They play very nicely together, and its getting better by the day.