If you intend on being a serious professional in a security research position, then I'm afraid you aren't going to be able to get away with learning only a couple of languages. Even for simple tools as you suggest, there are at least three languages you should know (IMO C++, VBScript, and Perl), and that's just to provide you a baseline of understanding. ASM and a good understanding of C is a good thing to have when working with debugger dumps. If you ever end up having to write web tools, you can use a .NET language, or pick up PHP.

My point in all of this is that no one language will suit all situations. I've encountered a lot of language zealots who think their language is best for pretty well everything, and it's just utterly foolish.
- IME there is no language better than Java at being portable. It is simply bar none way easier to port apps properly between Windows, Linux, and MacOS.
- VB is generally much better for RAD than other languages.
- C++ seems to me to be the best all around natively-compiled language.
- C is good if you wanna learn memory management, and/or lower level type stuff than C++.
- Perl rocks as a scripting language on Linux, and if you have ActivePerl your scripts can be fairly portable.
- VBScript is (as much as many hate it) a generally good scripting language for Windows to know. Many sample scripts are developed with it, as well as the fact that it's the most backwards capable of the options on Windows.

I've never really had an occasion to learn/use Python, so I can't comment on it.