8
Goudarz
4y

Hi everyone,
I'm a senior developer who wants to learn android development.
In your opinion, should I start with java or kotlin?

Comments
  • 17
    You should not start with: I'm senior developer.
  • 3
    I suggest starting from Kotlin, you got nothing to loose. Now there are plenty of libraries written in Kotlin.
  • 9
    @Lexter maybe he refers to his age. Don't assume :)

    https://straitstimes.com/asia/...
  • 7
    @netikras A deep apology to the 0.01% percent of so called senior developers who just refereing to their age. To all others: You are not that great.
  • 7
    A true senior dev wouldn’t ask this question in the first place.
  • 4
    “Any developer who claims he is a senior is not a senior at all”

    Tywin Zuckerberg
  • 1
    @Lexter I mean I know other languages and OOP concept and ...
    I don't want to prove anything else.
  • 1
    It's interesting for me, except @zemaitis which gives me good advice. Others pay attentioned to Senior's word. I'm not a senior, I just know some languages.
  • 2
    @Goudarz Well then why you’re saying it. We are like that because most who do this are wannabes.
  • 0
    @010001111 It seems that I choose the wrong word. I must say that I'm not a beginner. Excuse me all.
  • 1
    @netikras I'm not that old :) :) :)
  • 3
    @Goudarz Man i saw so many "senior dev" who know shit, so i'm a bit alergic to this word. But don't worry. We are ranters. Do not take us so seriously.
  • 0
    Start with Kotlin, Google seems to have lost the Java battle against Oracle.
  • 2
    @HitWRight Google was never for java in the first place. Hence the early Kotlin support, dropping Dalvik VM, and hence the Flutter. Also they plan to drop using Oracle's API's entirely in the future. Only one who lost here is Oracle. However at the moment under the hood kotlin is still compiled into java bytecode, so not sure if anyone lost at all.
  • 0
    @Lexter You're right and I Understand that. I have the same feelings about some devs who called them senior and know nothing. I just choose the wrong word :)
  • 0
    I heard that there are many java libraries and documents on the internet, but there are few kotlin libraries and documents. Is it true?
    If the future is with kotlin I will choose it and I'm not afraid to challenge with it
  • 2
    @F1973 *magical transitioning sounds*
  • 1
    Personally, though I am not an Android dev, I would go with Java, if not for Android then because Java is still inexplicably popular (I fucking hate it, but story for a different time) and because a lot of things still compile to Java byte code and use the jvm. I think Android studio is (was?) based on IntelliJ so you get that too.

    To address the senior hate, I feel like that's just a job title thing. Technically I'm a senior developer, based on work experience, education, etc, but depending on who you ask I am a different thing. Right now I am a software engineer 2. Not happy about it, but it is what is.
  • 2
    Start with Android.
  • 0
    @vane Great Answer :)
  • 1
    java has more resources and kotlin is just java for r word people
  • 0
    You pretty much need to know both atm.

    Currently, the main language for Android is Kotlin. So if you don't know it, you have a much lower chance of getting hired. It's basically a requirement at this point.

    On the other hand, "3 billion devices run on Java". Meaning, there are still projects that are worked on actively with it.
  • 0
    @WildOrangutan You know, I worked with java in web development. do I need to use java in android too or learning kotlin?
  • 1
    This is how I measure seniority:

    Junior can't work alone or at least needs a lot of hand holding

    Mid can work alone but should ask good questions and can follow an existing design

    Senior can create and design a solution and give guidance to use it correctly.

    So in my book a senior is not declaring they are the best Dev ever, just that they can design a solution.. which actually is not a given for a Dev.
  • 1
    Go with Kotlin. Knowledge of Java can help there in 2 ways:

    1. sometimes it helps you understand what is going on under the hood (conceptually)

    2. helps you realize that you made good choice in choosing Kotlin over Java
  • 0
    @Goudarz
    Since you have Java experience, I'd say that's enough of Java. Learn Kotlin.

    Still depends on the company, but most of them search for Kotlin or Kotlin+Java developers these days.
  • 0
    java ftw
  • 0
    Learn flutter instead
  • 1
    Java, don't ask why, I don't know
  • 0
    I have built a few simple apps, and looking at the current mobile dev scenario you should look at Flutter. Google is putting a lot of effort (and money) into it. It's way better to develop than native Android (IMO) and you can deliver to iOS as bonus (and other OS).
  • 0
    @yowhatthefuck thank you for your answer. I find it very useful. I know mobile developing process. In past I wrote two application for iOS with obj-c

    So please tell me which one have future. For example if someone ask me to choose between obj-c and swift for iOS I will tell them swift.
  • 0
    @notyourbestdev well, if I should choose on hybrid stuffs, I will choose xamarin which is c# and I'm know it
  • 0
    @Goudarz go kotlin and don't look back
  • 0
    @Goudarz it's not hybrid, it's native, has its own UI engine and as I said Google is focusing a lot on it. Also, Xamarin sucks.
  • 0
    Firstly, if you're asking this question you're not a senior dev. But I'm sure you've heard that from the other commenters.

    What you need to understand is that it's not just rudeness. There's a reason for this sort of rebuke. Which is that the question you're asking is not a healthy one to ask. In fact, it's a very annoying trope that only juniors keep asking and often on well moderated sites like SO, get downvoted for and they then moan about people not being helpful.

    The reason the question is bad, is because experienced devs usually understand the fundamental fact that the language you use is really not important. When you're learning to work with Android, the important thing is to learn "Android". Not the language you use to work with Android.

    Just pick one of the two. Doesn't matter which. Start BUILDING stuff. Almost any actual skill you learn with one language is directly transferable to any other language in the same real.

    Learn programming, not programming languages.
  • 0
    @-red There's nothing wrong with the community. If this question were asked on Reddit, SO, or literally anywhere else, I can't imagine the response being too much dissimilar.

    It genuinely is a semi-spammy sort of question to ask and pointing out that it is, without being overly rude can actually be helpful, depending on how you look at it. I understand your perspective tho.
  • 1
    @Goudarz I expect you're misunderstanding these things because English isn't your first language.

    "Learn programming, not programming languages" is a standard phrase in the community. It doesn't mean you're a beginner. It means you should focus on concepts and principles of android programming instead of the language. Java and kotlin are a very very tiny part of what android is about. If you know how to do X with Java, it will take you 20 seconds to learn to do it in kotlin.

    No one is trying to insult you here. Your question was based on a bad premise, so some people are trying to point that out. Try listening to them with an open mind.
  • 1
    @hashedram Now I know that you're right. My question is wrong from the base. Thank you for your kind answer :)
Add Comment