I tried python long ago, it didn't stick. I don't care for it now.
I haven't done enough Ruby to judge.
Go looks compelling, but have not had an application that I've wanted to do with it (well, I do, but the necessity of it has fallen off).
Perl is dead to me. Every time I wanted to use it and required something out of CPAN, it's basically been a disaster, and I just throw up my hands.
AWK is my go to utility language, has been since forever. I really like AWK.
For everything else, I use Java. Java is my "cold, dead, hands" language.
Ya know what I like about Java? I like the locality of it. Outside of the JVM, I simply don't have to worry about some centralized dependency hell walking all over my code and my build. On the one hand, I have Maven, and it's versioned central repository, and on the other, I can simply copy my jars local to my code base, and link 'em all up in a bundle, and stay in my little sandbox. Maven's versioning is mostly bullet proof, and I don't have to worry about dependencies on libThis or libThat, downloading eleventy different Not Java packages and projects just to get my Java to work.
For example, Java has it's own SSL stack, and no dependency on OpenSSL. A simple thing, but on a linux box, E V E R Y T H I N G depends on OpenSSL. So, if you get Project Y that wants the Latest McGreatest version of OpenSSL (or whatever), then next thing you know you're on Windows 12 just because you updated Python.
Java is a sandbox, it doesn't download the internet and make global changes to your system to write a 10 line character generator.
It's...just...that much easier.
Java is Java.
I don't know how Go fits in that world.
I haven't done enough Ruby to judge.
Go looks compelling, but have not had an application that I've wanted to do with it (well, I do, but the necessity of it has fallen off).
Perl is dead to me. Every time I wanted to use it and required something out of CPAN, it's basically been a disaster, and I just throw up my hands.
AWK is my go to utility language, has been since forever. I really like AWK.
For everything else, I use Java. Java is my "cold, dead, hands" language.
Ya know what I like about Java? I like the locality of it. Outside of the JVM, I simply don't have to worry about some centralized dependency hell walking all over my code and my build. On the one hand, I have Maven, and it's versioned central repository, and on the other, I can simply copy my jars local to my code base, and link 'em all up in a bundle, and stay in my little sandbox. Maven's versioning is mostly bullet proof, and I don't have to worry about dependencies on libThis or libThat, downloading eleventy different Not Java packages and projects just to get my Java to work.
For example, Java has it's own SSL stack, and no dependency on OpenSSL. A simple thing, but on a linux box, E V E R Y T H I N G depends on OpenSSL. So, if you get Project Y that wants the Latest McGreatest version of OpenSSL (or whatever), then next thing you know you're on Windows 12 just because you updated Python.
Java is a sandbox, it doesn't download the internet and make global changes to your system to write a 10 line character generator.
It's...just...that much easier.
Java is Java.
I don't know how Go fits in that world.