I've been looking to expand my programming language knowledge and have my eye looking towards Scala and Kotlin.<p>However, both of them run on the JVM, and the Java part sort of puts me off, since I make a conscious decision to not learn Java at the moment, due to a complex ecosystem that would take me a long time to enter.<p>Is this little feeling I have founded? I mean, I think that at some point I'll be debugging something and will hit some place where I have to interact with some Java code and will be totally powerless. Does it even make any sense?
What you're feeling is nervousness at learning something new. It's big and scary and overwhelming, yes... but if it's not scary or hard you're probably not learning!<p>What you need to do is learn how to learn <i>just enough</i> to get things done. Then you can learn new technologies and be OK with hitting the point of "oh shit now what", because you know that you can make it through. I haven't written any Ruby, nor do I know, but I was able to submit patches to a Ruby project (Sinatra) and package up some Ruby software.<p>So yes, you'll have to hit Java eventually. And when you do it'll be scary. But that's OK, because that means you're <i>learning</i>.<p>More about scariness in learning here: <a href="https://codewithoutrules.com/2017/04/17/learning-without-a-mentor/" rel="nofollow">https://codewithoutrules.com/2017/04/17/learning-without-a-m...</a>
You can't operate on the JVM without being able to understand what's happening on the JVM. Being "afraid" of it is pointless. It's like any other technology built on top of another, e.g., you still have to know ES5 to work with ES6, because things go wrong.<p>"Powerless"? Java, because (for the most part) is fairly static and banal, is relatively straight-forward to understand compared to Scala.