Hi everyone. I think this channel is the right pla...
# getting-started
m
Hi everyone. I think this channel is the right place to ask but let me know if I should move the conversation elsewhere... Basically I am interested in picking up Android development but know nothing about Kotlin. I programmed in Java a long time ago (Java 5/6 so a long time ago!) however can't remember anything from back then. I've also done C++ (98 nothing modern) for Windows desktop application development (MFC 😩) back in the early 2000s (around when .NET came out). Again I don't remember language specifics just general programming concepts. I am wondering what is the best approach for me to go about teaching myself Kotlin and refreshing DS&A and some programming related maths I have long forgotten?
k
This might be a good starting point.
m
Hi Kirill, I am reading through all the Android developer site right now and it appears to have a lot of decent content. I am still a little unsure/confused about Kotlin's position with regards to Android. I know it is an official language and from what I can tell it is the future for all Android development but it isn't "owned" by Google which seems kind of odd to me not sure why that is, I guess I thought Google would have done their own thing like Microsoft (C#) and Apple (Swift) is all 🤷
k
k
I just recently completed Google’s Android Kotlin learning path, and I find that the OO constructs are similar to Java and the functional constructs are fun to learn. Here is the link to the Kotlin FAQ which describes some differences between Kotlin and Java and its compatibility to Java. https://kotlinlang.org/docs/faq.html The Kotlin documentation is comprehensive. I would suggest to start there too. I also just recently complete the Android Jetpack Compose learning path, and Kotlin appeared to work well with this declarative UI framework. Besides Android, I am reviewing server side framework like Spring Boot using Kotlin. Good luck with researching.
c
Well Google did do their own language a few times (Dart, Go…). But I guess Google chose Kotlin because it’s an easy replacement for Java and plenty of Android devs had already started using it. +1 to starting with the documentation on the Kotlin site. I found it to be pretty good when I was learning the language
m
Yes I only have a passing idea of Go from when I see it posted on tech news/social sites. I guess (without really thinking about it tbh) I kind of expected Google to use Dart or Go or roll something else to replace Java rather than pick something from an external company. But I guess Kotlin is free under Apache 2.0 so if things fall apart with JetBrains they can just continue doing their own thing anyway?
c
@Morgan Google doesn't own Kotlin, but they definitely have multiple engineers working on the language (AFAIK the Kotlin Fundation is part JetBrains part Google), and when it comes to Android, the partnership between JetBrains and Google is pretty solid (Android Studio is mostly JetBrains code)
Well, Google did use Dart to create their replacement for Java: Flutter. (in my opinion) Kotlin is much more mature, and Dart lives a bit in its own space. Kotlin is a much better candidate for native Android dev, especially because JetBrains is known for their tooling support
m
Yes learning about all this it seems a bit "messy" which is fine I guess. Just me assuming things I guess.
I am/was just a little confused with Flutter, Dart, Go, Java, Kotlin having so much overlap or no use at all
c
Essentially: • Android was originally made for Java • Google bases Android Studio on IntelliJ, and a big partnership starts with JetBrains • Google creates Dart and Flutter for multiplatform dev • IntelliJ creates Kotlin for their tools
• Google and devs likes Kotlin • Google doesn't like Java anymore (probably not unrelated to the years-long court thingy about copyright with Oracle) • Devs start to port Android tools for Kotlin • Google notices and helps them • A year later, Google makes it official • A year later, Google says Kotlin is better than Java
We're essentially there
k
Some of the reasons why JetBrains made Kotlin are here
m
Thanks for all the replies and links!