Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
AleCx042206737dThe short answer: ye gonna have to learn both. Since most of the things that you will require, both tutorials and online documentation are pretty much thrown out there in both languages, you will sometimes find what you need in the context of Kotlin, but most other times(take for example the documentation for something such as Okhttp) will be in Java and so forth. Knowing Java or Kotlin well enough to develop confidently is one thing, knowing the weird design patterns used by the Android API is another thing. But I would recommend to not limit yourself to one over the other and learn both as much as you can. The big nerd ranch Android development books are well enough for a beginners, but you do need to know how to use the language efficiently in order to become fluent. Personally, I love Java, but for Android development I've had an easier time adapting(currently) Kotlin as my platform of choice.
AlgoRythm4583637dI use Java just because I'm a fan of strongly typed languages. It helps the IDE help me, and personally, makes debugging a little quicker.
What really makes my decision is how much networking I'm going to do, specifically with web APIs.
Since web APIs usually return less structured data in the form of XML and JSON, a weak-typed language can make that whole process MUCH easier. And your IDE won't benefit from strong typing as much anyways because it can't predict what the server will send back.
So if you're gonna do a hell of a lot of web interfacing, use something weak-typed (Remember that there are lots of languages bound to the Android API, not just Java and Kotlin)
If you're doing more complicated stuff, strong typing really helps keep me on track and makes my programs not only easier to debug but better designed in the first place. I can't tell you how much bullshit I have written in Python and JS just because they allowed me to do it!