What to learn: programming and coding

I had a good chat with the department computing specialist, today. I had been blathering around, knowing that I needed to be more organised with learning some code (and consequently considering the software carpentry tutorials and courses). He really helped me clarify what I need in terms of programming, long term, to do all the things I’ll want to do. In order of decreasing complexity:

A proper language

To do ‘proper’ coding – for writing whole programs or extensively adding to existing programs. Although in the normal world, this would mean C, or C++, for climate stuff this invariably means FORTRAN.

Code duct tape

Linux/Unix shell coding to stick other things together and do little things.

A highly interpreted language

For doing things day to day. So a quick and easy language like Matlab, R, Python or Perl.

A plotting language

For making those all important pretty plots. Things like IDL, midl, R, ncl, etc.

Other miscellaneous

Other bits and pieces that will do specific tasks, for instance CDO, NCO and Excel.

***Updates of other Miscellaneous Useful things***

Sed. The simplest text editor in the world. Perfect for doing the same thing many, many times to stuff in huge asci files.