Choosing a programming language to work with is a personal choice of course, based on the other software you are using, your experience with different languages, and the way you like to work.
My own (MatthewBrett) experience is that most imagers will need a basic understanding of Matlab - LearningMatlab - in order to run analyses in SPM. Many imagers will also need some language to write scripts to do analyses like automatic parsing of text files to get behavioural data, and for doing system tasks like moving files around, renaming them and so on.
For this, I would suggest a high-level scripting language, such as Python, Perl, Unix bash shell, or even Matlab itself. As a a long-time user of all of these languages, I would strongly suggest Python as the best choice; it is the easiest to read and write, has a very full library for system interaction, is free, and works on nearly any computer platform. Although it is often tempting to use Matlab for these tasks, both text manipulation and interacting with the operating system can be extremely clunky and inelegant. This makes the code more difficult to write, edit, and read.