> Go would be another good learning language, I agree. But you still have GOROOT/GOPATH to worry about
GOROOT and GOPATH are set automatically by default, you don't need to mess with these unless you want to.
> I think it's about the same as Java in terms of complexity.
Even if GOPATH/etc weren't set automatically, you still need to learn Maven and Gradle and friends. I've been programming for a decade or so, and every time I try to play with Java I have such a hard time getting projects set up. I don't know if the tooling is really so complex or if the happy path is just poorly documented (perhaps because everyone assumes you're using an IDE?). A few things I had trouble with:
- Getting the Gradle server set up so I didn't have to wait for the JVM to boot every time I wanted to compile anything
- Configuring Gradle to compile a native dependency like OpenGL
- Configuring Gradle to produce a fat jar
- Configuring Gradle for unit testing
By comparison, with Go does all of that out of the box (`go build` doesn't have a VM to warm up, and Go's tooling supports native dependencies, static compilation, and testing by default).
I don't think this is a big problem if you already understand Java's ecosystem or if you have someone to hold your hand until you get a project set up, but I had a terrible time finding the right documentation.
> Besides, you don't need an IDE for Java, it's just that most people use one. I personally use gradle and vim when progamming Java.
Last I checked (a year or so ago), there were no reasonable vim plugins for Java. Certainly nothing as mature as vim-go.