Can I Learn Kotlin Without Learning Java?

Kotlin and Java both are designed to compile to bytecode, there are a lot of design decisions.

You can learn Kotlin without learning Java. First, we need to know how Kotlin relates to Java. So back in the 90s Java was developed to be a platform-agnostic language, meaning that you could write the code, compile it into one executable, and then run it anywhere. Java accomplished this through Java bytecode. Java bytecode is kind of an intermediary form of code between what we write as developers and what the machine understands. So, the code is compiled into Java bytecode which is executed on the Java virtual machine. The Java virtual machine is something that's installed on computers all across the world. There are three billion devices, famously that run Java, and this is what led to Java's success.
 
Kotlin is interesting because what it does is, it also runs on top of the Java virtual machine. All Kotlin code is compiled into Java bytecode. Kotlin wasn't the first language to do this either. There's also Scala and Groovy, which you might have heard of. But what makes Kotlin so interesting is that the interoperability between Java and Kotlin was one of the main focal points in the design of the language. So, with Kotlin and its seamless interoperability with Java, you can leverage the entire Java ecosystem from all 30 years of its history and leverage that in your applications. That's a great strength of Kotlin, but it's also one of the main reasons why it's important to learn Java before learning Kotlin. Say, for instance, you're working on a program in Kotlin and you're using some Java libraries. If you're going to be writing any Android apps, then you're going to be using some Java libraries. Say, for instance, you find a bug in the code, something is going wrong, and you trace it back to some Java code in the Android library and you want to understand what's going on. If you do not know Java, then this is going to be a problem. So, I would say that learning either Kotlin or Java while ignoring the other is a really bad idea. Java has a huge history and a giant ecosystem, so you're probably going to run into Java code at some point in your developer career. So, what I would recommend is if you don't know Java and are wondering which one to pick to start by learning Kotlin, first become familiar with the language, and then also learn Java as needed. So, whenever you run into an issue where you have to dig around in a Java library, do some Googling. Some research on that and make sure you understand what's going on on the Java side of things. Also, it's really interesting to learn Java after you've learned Kotlin so you can understand some of the design. Kotlin and Java both are designed to compile to bytecode, there are a lot of design decisions that went into the common language that you can see.
License: You have permission to republish this article in any format, even commercially, but you must keep all links intact. Attribution required.