3 ms·
This may not be the most educated opinion, but I tend to think of "languages" that compile to the JVM as just elaborate macros. My reasoning is that in order to
by russellbeattie 9y ago
This may not be the most educated opinion, but I tend to think of "languages" that compile to the JVM as just elaborate macros. My reasoning is that in order to use Kotlin (or Scala, Groovy, etc.), you will inevitably have to know Java very well, as most of the language is just syntactic sugar, and you'll almost always have to interact with standard libraries and SDKs written for use with Java.
A language isn't a "real" language unless you can live in it and be blissfully ignorant of anything else. I don't need to know C in order to use Go, or Python. I don't need to know Ruby in order to use JavaScript. But it'll be relatively impossible to write code in Kotlin without interacting with Java constantly. Which means context switching and maybe even bugs.