I agree with the several posters saying that Perl is about the only language you'll need for admin tasks. I can recall writing backup and restore programs for a Univac 1108 in Fortran back in the '70s, but then I was a programmer not an admin and only responsible for my own team's work; it was straightforward without much of the complexity today's admins face. The next year I discovered a scripting language on the 1108 and was able to build test cases singlehandedly comprising pretty much all the production runs of my software by a team of 20. I loved it.
Perl is better for all sysadmin tasks. I haven't been particularly current with C since 2000; C++ since 2003 and Java since 2009. There aren't many cases where you'd want a compiled program. Try to anticipate their nature and choose a language suited for that.
A few more books worth a look:
- Perl Hacks
- Effective Perl Programming
- Minimal Perl