Java vs Kotlin for Android App Development

Sdílet
Vložit
  • čas přidán 7. 09. 2024

Komentáře • 568

  • @KeepOnCoding
    @KeepOnCoding  Před 4 lety +131

    Which language would you choose if you were an Android app developer?

    • @JJGM91
      @JJGM91 Před 4 lety +33

      Kotlin without a doubt

    • @kaifahsan8459
      @kaifahsan8459 Před 4 lety +11

      Your analogy with Swift makes sense. Hence if I started app development I would choose Kotlin as well.

    • @HouseFromSmartCity
      @HouseFromSmartCity Před 4 lety +7

      Now considering Kotlin 🤔 At least knowing the problems it solves. Interesting discussion I look forward to seeing more responses after the already good ones posted 🔥 💪🏼 big

    • @B1GL3G3ND
      @B1GL3G3ND Před 4 lety +53

      Id say why not both ? Being fluent in Kotlin and knowing Java as first language is the bomb ! If Kotlin is simpler and like Java then why not learn Java First to create a strong foundation in software engineering ?

    • @arvincasupanan
      @arvincasupanan Před 4 lety +43

      the name kotlin was so ugly, thats why I love Java 😊

  • @bassam_salim
    @bassam_salim Před 3 lety +78

    Java was my second programming language, I learned oop on it in school, never really liked it over C++, started learning kotlin a few days ago and it looks to me like it is just Java but thinned with some python.
    I didn't develope an android app before, but I will now using Kotlin

  • @ItachiUchiha-nx2sw
    @ItachiUchiha-nx2sw Před 4 lety +505

    What if Google had a dispute with Jetbrains and again there is a new language, say, Klingon....

    • @mohantalachutla6834
      @mohantalachutla6834 Před 4 lety +5

      😂😂😂

    • @muhamadimron9785
      @muhamadimron9785 Před 4 lety +22

      Lol, the next new language is *fLULin* it will supports both of flutter n kotlin as well 🤗... Flulin is future 🕶️

    • @firemidge8705
      @firemidge8705 Před 3 lety +1

      HAHAHAHA!

    • @ravinderbrar343
      @ravinderbrar343 Před 3 lety +10

      I think the next language would be ( Kotva )
      Kotlin + java

    • @BillClinton228
      @BillClinton228 Před 3 lety +56

      I really don't see the point of Kotlin, and it pains me to say this because so many people complain about Java, but Java is much more intuitive.
      Besides this whole thing is becoming rediculous, now we are supposed to be excited about Flutter and Dart too? No, no, no, Dart is terrible with all the nesting and BS it's a terrible language. Can we stop inventing new programming languages and frameworks every 2 years and improve the languages and frameworks we have already?

  • @MrYuhsien
    @MrYuhsien Před 4 lety +174

    Def. Kotlin. I've been developing Android apps for five years, give or take. I remember the transition being hard but once Ive got used to Kotlin, I would not wanna go back to Java.

    • @joseescalante6707
      @joseescalante6707 Před 4 lety +5

      I'm in that transition now, how long did it take you before writing Kotlin code was as easy as writing Java?

    • @MrYuhsien
      @MrYuhsien Před 4 lety +23

      @@joseescalante6707 Development wise, it toughly took me about 6 months to a year. But I wouldn’t say its as ‘easy’ as writing Java now. Like Sam said in another video, Java’s my first language and I still feel slightly more comfortable using Java in job interviews, though I know it’s faster to code in Kotlin given its syntactic sugar.

    • @hyunpark8017
      @hyunpark8017 Před 3 lety +2

      How much salary do you make in android development? @Jerry Che

    • @jhngolan
      @jhngolan Před 3 lety

      I still adapt for the transition with recent architecture

    • @memenchance1747
      @memenchance1747 Před 3 lety +16

      @@hyunpark8017 if you're in for the money you aint really gonna learn anything at all.

  • @babythedude
    @babythedude Před 4 lety +393

    Kotlin definitely will become the main language, but Android developer should have the ability to read Java code

    • @seriousskateboarding9938
      @seriousskateboarding9938 Před 3 lety +32

      If that's the case, android gonna lose like 90% of its developers.

    • @MayTubeGames
      @MayTubeGames Před 3 lety +64

      well.. I'm learning Kotlin and I can tell you that Kotlin and Java have a lot of similarities and coming to Kotlin after being a Java developer wouldn't take much time since that Kotlin is the child of Java it's just easier and cooler

    • @ultimate8673
      @ultimate8673 Před 3 lety +4

      @@MayTubeGames isn't kotlin based of Java?

    • @MayTubeGames
      @MayTubeGames Před 3 lety +23

      @@ultimate8673 it is.. But Kotlin is supported by Google itself. More money more to show. Updates for Kotlin are something regular to see when you open Android Studio unlike Java

    • @ultimate8673
      @ultimate8673 Před 3 lety +15

      @@MayTubeGames yea I mean I learned Java but atm I'm going for kotlin since its easier to learn from what I know and I love to learn more programming languages :D

  • @fourlokouva
    @fourlokouva Před 4 lety +85

    Another well explained video. Currently I use Java since I have not learned Kotlin (yet). Also, in android studio there is a way to convert Java directly to Kotlin. I have not tried it yet but might help with the learning transition :)

  • @lodgin
    @lodgin Před 2 lety +34

    4:28 - Extension functions are relatively useful but they are syntactic sugar, which becomes immediately obvious when trying to reference Kotlin code from Java; it is the equivalent of Project Lombok's @ExtensionMethod feature. Either way, you aren't actually _extending_ code in the traditional sense; you aren't doing the equivalent of applying a trait onto a pre-defined struct in Rust.
    4:42 - This code example actually shows a particular gripe I have with Kotlin: it's so utterly obsessed with eradicating verbosity that it makes code _more_ difficult to read. Pretend for a second that you weren't learned in Kotlin: where would you suppose "length" comes from? Or "get()" for that matter? What scope are those functions located in? Is that even a method definition?
    5:12 - Data classes are not exclusive to Kotlin. Records were admittedly a preview feature at the time this video was made, but even before then, there were ways to create data classes, like Project Lombok's @Data feature.
    5:31 - Type inference is not exclusive to Kotlin.. indeed, full var support was added in Java 11 back in 2018. It can admittedly only be used for variables, not fields, but the video explicitly states "variables". It also goes without saying that the example you gave of why type inference is a good thing is actually an example of why type inference is a bad thing. If you're changing return types, your code is probably going to break more than just because of previous type declarations.

    • @sebastianzdroana7834
      @sebastianzdroana7834 Před 2 lety

      This code example actually shows a particular gripe I have with Kotlin: it's so utterly obsessed with eradicating verbosity that it makes code more difficult to read. Pretend for a second that you weren't learned in Kotlin: where would you suppose "length" comes from? Or "get()" for that matter? What scope are those functions located in? Is that even a method definition?
      it's basically a mix of java and javascript kek

    • @orangeguy5374
      @orangeguy5374 Před 2 lety +2

      You can’t use newer Java versions on Android, you’re stuck on 6 with a few features from 8. I think it’s because of legal issues

    • @wanderingthewastes6159
      @wanderingthewastes6159 Před 2 lety

      @@orangeguy5374 right? What’s the point of having the features if I can’t implement them in the use case discussed?

  • @spec_wasted
    @spec_wasted Před 3 lety +62

    World : Kotlin Vs Java
    Meanwhile Python : Launch the PyoDroid module

  • @AlbertoRodriguez-oe6jo
    @AlbertoRodriguez-oe6jo Před 3 lety +41

    Those 60 people who disliked are from Oracle, they just lost the case and probably Google Android support for the future.

  • @rajanbirsingh202
    @rajanbirsingh202 Před 4 lety +15

    Been jumping between these for over a month. Good Work, thanks for clarifying my doubts. I think, will be going with kotlin.

  • @elafalzoubi6530
    @elafalzoubi6530 Před 3 lety +27

    i love Java and it's the first programming language i started with . but now im learning kotlin

    • @vanesauribe2754
      @vanesauribe2754 Před 3 lety +1

      How is that going? Do you like it?

    • @vladarskopin3314
      @vladarskopin3314 Před 3 lety +1

      so what are your feelings about it?

    • @boredchicken5755
      @boredchicken5755 Před 3 lety +1

      have you moved on? Are you happier now?

    • @nested9301
      @nested9301 Před 3 lety

      look a t this dudes

    • @akin242002
      @akin242002 Před 3 lety

      Good! Nothing is worse than a programmer not willing to evolve (see Cobol programmers in finance).

  • @memorylanezz
    @memorylanezz Před 3 lety +5

    Thank you for the video. looking forward to learn Kotlin, a transition from C/C++ to Kotlin. Hopefully it will be smooth.

  • @omermir332
    @omermir332 Před 4 lety +17

    Your break down of things is always interesting and so helpful! Thanks!

  • @fabiomoggi
    @fabiomoggi Před 3 lety +15

    Kotlin is more of a political battle between Google and Oracle than a real Android development improvement. I can understand Apple moving away from Objective-C since it was terrible to work with. However, moving from Java to whatever else new language does not add up, technically.

  • @kaifahsan8459
    @kaifahsan8459 Před 4 lety +75

    Keen to know more about your Thesis on Android security as I'm interested in security as well.

    • @Aweklin
      @Aweklin Před 4 lety +4

      Same here.
      Please let me know when you get something on that. I will appreciate your kind gesture.

  • @evil_onyxx_jr.
    @evil_onyxx_jr. Před 3 lety +8

    I agree with you on this. I have been using Java to write apps for a while. I have about 2 years experience with Java for Android. I just learnt Kotlin about 4 months ago and I really love it. I'm already preparing to release my 3rd app i wrote in Kotlin. Kotlin is really good and easy to learn if you have enough experience in Java.

    • @hamzamaqsood5725
      @hamzamaqsood5725 Před 3 lety +1

      hey I have experience of 1 year in android dev kindly share what u have done in past

    • @hamzamaqsood5725
      @hamzamaqsood5725 Před 3 lety

      hey I have experience of 1 year in android dev kindly share what u have done in past

    • @evil_onyxx_jr.
      @evil_onyxx_jr. Před 3 lety

      @@hamzamaqsood5725 Hey let's chat. Facebook, Twitter, WhatsApp, anyone... Let me know your handles bro 🙂

    • @hamzamaqsood5725
      @hamzamaqsood5725 Před 3 lety

      abeer. choudhary Facebook

    • @evil_onyxx_jr.
      @evil_onyxx_jr. Před 3 lety

      @@hamzamaqsood5725 You're the person with 'Narsee Monjee College of Commerce and Economics' in his profile? Cause I can see so many 'Abeer Chaudhary' here

  • @robj7481
    @robj7481 Před 4 lety +25

    I write apps in iOS Swift and they’re fast and it’s great. Now, I’m learning Kotlin so I can migrate my iOS apps to Android. We’ll see how this goes.

    • @sarveshagrawal4588
      @sarveshagrawal4588 Před 3 lety +10

      Learn flutter for both

    • @evil_onyxx_jr.
      @evil_onyxx_jr. Před 3 lety +2

      Exactly. Why not learn Flutter

    • @hamzamaqsood5725
      @hamzamaqsood5725 Před 3 lety +1

      bro don't do that... android is very difficult to handle

    • @animeshsahu2803
      @animeshsahu2803 Před 3 lety +2

      @@evil_onyxx_jr. Kotlin Multiplatform is in preview, you can write common code in one module (like flutter) but also platform specific code in other module, so you can also build things like widgets which is not possible in flutter. And the plus point can also produce app as small as 1mb.

    • @choalon2381
      @choalon2381 Před 3 lety +1

      You're wasting your time man if you're just going to learn kotlin for the sake of making android versions of your apps then why don't you use flutter it saves you a lot of time

  • @damercy
    @damercy Před 3 lety +7

    Thanks for your opinion man, really appreciate your unbiased thoughts, considering you've done some app dev in Java. 👍😃

  • @anonthenon196
    @anonthenon196 Před 3 lety +5

    I just wanted to comment on the part where you said that Google may stop supporting Java, and I highly disagree. Most Android apps and parts of the OS itself since its inception are still written in Java and no one is seriously going to re-write all that code in Kotlin. That being said, Kotlin is interoperable with Java and you can write Java code in Kotlin, so you can write new apps in Kotlin, but as far as stop supporting Java, that won't happen in the near future.
    The same thing can be said with Objective-C. Parts of iOS and tons of apps since it's inception are still written in Objective-C and no one in Apple is going to re-write millions of lines of code in Swift just because it's a more modern language. Even many of the libraries and frameworks that iOS developers use is still written in Objective-C.

  • @havens1515
    @havens1515 Před 4 lety +26

    All of my apps are converted over to Kotlin, and all new apps that I write are Kotlin from the start. It took a little while to learn the syntax differences between Java and Kotlin, but the differences weren't large enough to make it a difficult transition. Yes, I had to look up things like how to write a switch statement, and even simple things like how to declare a constructor, but the information is readily available if you know what to look for. I think it's much easier to read and write than Java once you're used to it.
    I agree with your statement that Google is likely to eventually drop support for Java, especially if the lawsuit doesn't end in their favor.

  • @sourandbitter3062
    @sourandbitter3062 Před 3 lety +2

    Thought you were just a memer. You actually know what you're talking about. Very interesting, I subbed.

  • @tayyabachowdary1007
    @tayyabachowdary1007 Před 4 lety +4

    Very neat explanations. Also I like it the brevity of videos not making them too long.

  • @zzz8055
    @zzz8055 Před 3 lety +28

    If I'm just starting to learn Android Development, do I have to learn Java and then Kotlin or immediately learn Kotlin?

    • @pixchcn3773
      @pixchcn3773 Před 3 lety +16

      Just learn Kotlin

    • @OvidiuH252
      @OvidiuH252 Před 3 lety +18

      I'd say, start learning general Java fundamentals (but don't go too far), then continue with Kotlin and after that you can start learning Android with Kotlin. Some companies still have older codebases, so it's recommended to know some Java too. Plus, it will make learning Kotlin easier. However, you can skip it if you know another language well. It depends on you. Good luck and don't rush!

    • @sfhbgyfbyrahulranjan
      @sfhbgyfbyrahulranjan Před 3 lety +1

      @@OvidiuH252 what if I know c++ and starting to learn android development. So should I learn java and then kotlin or immediately learn kotlin

    • @huey1153
      @huey1153 Před 3 lety +1

      @@sfhbgyfbyrahulranjan If you know any OOP then don’t waste your time learning java. Just go with Kotlin and if you find a job pick it up the week before you start.

    • @jokeycoffe9083
      @jokeycoffe9083 Před 3 lety

      @@sfhbgyfbyrahulranjan fucking Java after c++, it's feeling like shit, like a:
      (C++)
      cout

  • @KIKITO94
    @KIKITO94 Před 3 lety +12

    Kotlin will be the main language and most company start making on kotlin :)

  • @zetabyte0076
    @zetabyte0076 Před 2 lety +10

    I've studied Kotlin and it's a really awesome language just like you described on video above it's nice features that allow us to create new methods without needing to create a whole class. Without doubt Kotlin's go-to language!

  • @mazexmaze8011
    @mazexmaze8011 Před 4 lety +16

    I wouldn't go with kotlin because it does not have enough tutorials/documenation/guides/forums/topics and etc. Those things are important when you are beginning.

    • @animeshsahu2803
      @animeshsahu2803 Před 3 lety +3

      Its docs are way easier to read (interactive UI as compared to java ones). Did you ever read that?

    • @naveenbattula
      @naveenbattula Před 3 lety +3

      Kotlin docs are way better than java docs

  • @FranksCreativeCorner
    @FranksCreativeCorner Před 5 měsíci

    Well, as a cs student whose only proficient-level programming language is C, let me say that this is a great video!
    As I learn more about programming in general, I begin wanting to jump to more ambitious projects, and among these there is app development.
    I've been wanting to learn Kotlin for some time, since I heard it was kinda based on Java but with neat features of modern day programming languages. I feel like I'm better informed now.
    I also appreciate that you evaluate this objectively, with pros and cons of the two languages and not favouring any over the other, and yet give your opinion so that we have a reference in mind. It's something I wasn't expecting to find in this kinds of videos.
    Given I'm a bit familiar with Java, I'll give it a shot one of these days. I can already feel I'm gonna have fun. Thanks!

  • @josefcrosz
    @josefcrosz Před měsícem

    This was a really useful video. Many videos start in the Stone Age and then fall asleep in the Middle Ages. There is a lot of compact and useful information here, no blah blah. Many questions that I had previously asked myself were answered. Thank you.

  • @bbrauner
    @bbrauner Před 4 lety +8

    I personally would recommend to learn kotlin, even if you're good at java. Because kotlin is in my opinion so much better suited for android development than java. Coroutines alone would make me switch to kotlin.

  • @HandsOnKnowledge
    @HandsOnKnowledge Před 3 lety +7

    I personally don't mind writing extra code in Java, Kotlin's syntax is just weird and a bit harder to read. Maybe I am just used to using Java but that's what I think

  • @Tsunkuotaku
    @Tsunkuotaku Před 3 lety +3

    how do null values "cause huge frustration for developers"? When I see a NullPointerException, I'm relieved; they're the easiest exception to deal with. Without them, I will have to 1) realize what's happening is not what's intended (which could take anywhere between seconds and months) 2) figure out why it's not doing what's intended 3) finally fix the boneheaded mistake. Debugging went from running once to potentially not even realizing there's a problem until well after launch.
    Null is one of the most powerful tools in a programmers pocket.
    Believe in the null.
    Trust in the null.

  • @ghabrielmielli5858
    @ghabrielmielli5858 Před 3 lety +5

    idk why i laughed so hard at the " C (with classes)... that was really lame" part lollll

  • @someguy007
    @someguy007 Před 4 lety +26

    It seems if u wana limit yourself only to Android studio as a developer, then ul just learn Kotlin. On the other hand, u can do sooo much more with Java, including Android Studio, at least for now. I'd stick to Java... Until there's a real push against it. Then u just make the switch.
    Great Content Bro✌️.

    • @devjeff3192
      @devjeff3192 Před 4 lety +4

      I am an Android Developer in Java, bro !✌But Kotlin is growing way fast as you dont have to write bunch of code in Kotlin like you do in Java and it will replace Java for Android Development within this or the next decade but it is gonna be way easier for us to swtich to Kotlin as it is a mix of Java and JavaScript language ! Let's stay loyal for Java😁💪✌

    • @devjeff3192
      @devjeff3192 Před 4 lety +1

      @LeBlanco MOB Yeah, you are 100% right. Kotlin is limited and Java has wider community than Kt

    • @Qrzychu92
      @Qrzychu92 Před 4 lety +2

      @LeBlanco MOB I just did a quick google, and as I suspected, Kotlin is very good at interop, so you can write Spring app with Kotlin. Also, you can compile Kotlin to iOS, so that's nice :)

    • @Qrzychu92
      @Qrzychu92 Před 4 lety

      @LeBlanco MOB it is, you can share code between Android and iOS. Just like in Xamarin, React Native etc. It has some disadvantages, but it's not for everyone.

    • @Qrzychu92
      @Qrzychu92 Před 4 lety

      @LeBlanco MOB you are aware that Kotlin Native is pretty much native, right? There is some overhead, but other than that you get full iOS API, just like in Xamarin.
      As for Java and Android, Google created Android SDK, not Java or Sun or whoever owned Java then. They sued Google for using Java, so they pretty much bought Kotlin from Jetbrains, which just so happens to work on JVM.
      Also, ther are plenty of apps writen in ReactNative, Xamarin, Flutter etc, Kotlin is just one more option here.

  • @sleepy026
    @sleepy026 Před 4 lety +66

    Java14 has record type which is similar to kotlin's data class.

    • @Chris-nk8oz
      @Chris-nk8oz Před 3 lety +3

      As far as i know Android is basically frozen on Java 6 so im doubtful, that Java14 features made it to the platform even now. Correct me if im wrong though, this is just hearsay. :)

    • @TheRealFFS
      @TheRealFFS Před 3 lety +2

      @@Chris-nk8oz It supports a subset of Java 8.

    • @Chris-nk8oz
      @Chris-nk8oz Před 3 lety +1

      @@TheRealFFS Makes sense, because of lambdas and streams^^

    • @Hcheeza
      @Hcheeza Před 3 lety

      Stop talking java! We all know java is really sucks making app for gaming experience... We need an OS which can execute files (.ISO-Alike) under system-on-core!

    • @plrc4593
      @plrc4593 Před 2 lety

      @@Chris-nk8oz Lol. Really you cannot use newer Java than 6 on Android? Is it because of some legal feud? Are there any chances it will be solved?

  • @1HadChilling
    @1HadChilling Před 2 lety +1

    Thank you so much man. I am new to all of this and i was worried about which one of these i should learn. I was already started on Kotlin and this has swept away all my worries.

  • @eberronbruce1328
    @eberronbruce1328 Před 3 lety +12

    As a professional mobile developer who has been developing iOS apps and been using Swift for like 6 years and have experience with Obj-C. Swift is much nicer. And I been doing some Android which I started with Java and Android as a side until about a year or so I been using Kotlin. I been taking Android seriously for over a year now and been using Kotlin. The way I see it is there will be plenty of legacy code out there so having familiarity with Obj-C and Java is a huge plus for that, but writing any new functionality or building any new apps I would use Swift for iOS and Kotlin for Android. I tend to avoid things like React Native as there is a whole slew of problems with it.

    • @mateoharmiss5830
      @mateoharmiss5830 Před 3 lety

      I have a question for u since you use swift and kotlin. When your building the same app in kotlin and swift what backend do i use for both or u have to have different backend for each. Thank you

    • @eberronbruce1328
      @eberronbruce1328 Před 3 lety +1

      @@mateoharmiss5830 If you are looking from a mobile perspective and if you mean backend as a web server, you can essentially use almost anything as your backend if you have proper web api calls like REST API. So, you can use a stand alone server, firebase, AWS, or anything really with any language really for that server. From the way you would see it as a mobile app is a web call and you get back a response in JSON or XML that you parse.

    • @mateoharmiss5830
      @mateoharmiss5830 Před 3 lety

      @@eberronbruce1328 I am new to the mobile scene, and just trying to understand it, Google dont offer much information unless am asking it the wrong way . From my understanding android use kotlin and ios swift for front end , that's simple but even mobile app need to fetch data or speak to the backend server side and that's what I don't understand, I know the can use pretty much and language in the server side but isn't there one better for mobile then others or is each os different . For example I was told for kotlin it be good to use korlin coroutines for backend but then what about swift app will it connect to kotlin coroutines or no . U see these questions seem complicated to find answers or again mite be me :)
      Thank you for the reply I really appreciated it.

    • @eberronbruce1328
      @eberronbruce1328 Před 3 lety +1

      @@mateoharmiss5830 To simplify this to help new developers understand, it's best to look at things as boxes. So look at the mobile device as a box and the servers/other devices as boxes. Then look at strings that go between the the boxes much like a child's phone that uses cans and strings. The strings are the lines of communication like HTTP/web calls.
      So Kotlin/Swift used on the mobile devices are just used for those devices, hence just the mobile box. You use that language to send a signal to the server box which responds through the same string. Then the mobile box handles the response.
      I hope this helps.

    • @maruf7956
      @maruf7956 Před 3 lety

      @@eberronbruce1328 should i learn kotlin or Swift? Which OS is more in demand

  • @--sql
    @--sql Před 3 lety +57

    So Kotlin is like, "What if we took Java and added all the really good and cool C# features?"

    • @rohansampat1995
      @rohansampat1995 Před 3 lety +2

      SOMEONE finallly mentions it, Kotlin was not first to make better java, microbad did it first

    • @falklumo
      @falklumo Před 3 lety +1

      While Kotlin is a genuinely better Java, C# was a step back on many fronts. C# reintroduced quite a few concepts from C++ which Java did not include on purpose to enable robust development of complex systems.

    • @rohansampat1995
      @rohansampat1995 Před 3 lety +3

      @@falklumo What features are you talking about, almost all of them are just options to give users choice. C# has structs which are treated as primitive compile time types. also java robust? you gotta be kidding me. C# took the best aspects of C and Java and made them into one awesome, albeit not super cross platform, thing

    • @iankariuki5557
      @iankariuki5557 Před 3 lety

      @@rohansampat1995 👍

  • @kamikazedavid20
    @kamikazedavid20 Před 2 lety +1

    Definitely learned a lot watching this. I’m a recent CS grad currently job searching for both SE and Android dev jobs. Just made the decision to focus on Android dev instead. And enhance my development and architecture understanding/ experience. If anyone knows any startups (even for SE rolls 👀) looking to hire, please leave a comment

  • @angelotheman
    @angelotheman Před 4 lety +6

    You just won yourself a new subscriber.

  • @serving_tray5365
    @serving_tray5365 Před rokem

    This was the first video I clicked on, when researching the subject, and answered so many of my questions. This was well put together, Thank you. :)

  • @mitchellbarnow1709
    @mitchellbarnow1709 Před 4 lety +7

    Great video, it is easy for the novice to follow along.

  • @germainkevin5987
    @germainkevin5987 Před 4 lety +3

    I'm in that transition right now, currently converting one of my apps to Kotlin !!

  • @christophorosprodromou818
    @christophorosprodromou818 Před 4 lety +12

    I agree with everything but unless java is unsupported for android development and kotlin becomes the only language to write android apps, why should someone switch from java to kotlin? Not only that, java can be used more than developing android apps so if someone already knows and likes java what is the benefit of switching to kotlin?

    • @waqas3491
      @waqas3491 Před 4 lety +2

      Google announced last year in I/O, the documentation will be Kotlin only in a few years

  • @Snowman-hunter
    @Snowman-hunter Před rokem

    5:11 This is what records where created for in Java SE 14 which was released on March 17, 2020. So just 4 days after this video was posted.

  • @devidbingo
    @devidbingo Před 4 lety +4

    Java does have type inference, as of Java 10.
    developer.oracle.com/java/jdk-10-local-variable-type-inference.html

    • @KeepOnCoding
      @KeepOnCoding  Před 4 lety +2

      Can’t believe I didn’t know that! Thanks for pointing that out.

    • @stealthseeker18
      @stealthseeker18 Před 4 lety +2

      Can we use Java 10 now in Android development? I think they are still using Java 8 for Android development.

  • @CodeWithCal
    @CodeWithCal Před 3 lety +1

    3:57 I'll miss you null pointer exception.

  • @md.emranhossain8156
    @md.emranhossain8156 Před 4 lety +3

    I think Java is forever better type language for computer science and IT world.
    As for some business issue Oracle and Google can't work together.
    In the meantime Jet Brains take this advantage, they are come for B2B solution and take a big scope with Google.
    That's why Google try as there level best to promote Kotlin.
    My personal overview,
    When I write a feature by Java and Kotlin in two deference project, I see kotline project take more then time between Java projects compile time.
    By the way, Android is Google's product, Kotlin language supported by Google
    So, in future if we want develope Android app we must write code by Kotlin.

  • @abdelkadersoudani1955
    @abdelkadersoudani1955 Před 3 lety +1

    never seen you before and one video did it, I'm a new sub and I'll be looking forward to seeing more of your videos

  • @user-dm5qi4nb6l
    @user-dm5qi4nb6l Před 3 lety +1

    okay...alright... fair enough... BUT now, I want your take in this ---> "Kotlin vs Flutter"

  • @pratikpattanaik
    @pratikpattanaik Před 4 lety +2

    I was expecting comparisons on more dimensions. To take a decision, a programmer would have to know :-
    1. Which language has better ease of programming and by how much (lines of code, language features, development time related metrics)
    2. How easy is it to shift to the new language.
    3. Difference in size of apk.
    That said, Kotlin is definitely way more powerful as a language compared to Java, particularly with respect to multi threaded programming. Most new articles about programming practices in Android are written in Kotlin. For new developers, it would definitely be the recommended language.

    • @akin242002
      @akin242002 Před 2 lety

      The best practice is learn Java to get an entry level job, and learn Kotlin for Android development only.
      Java will provide more non-Android job opportunities. Since the syntax is so similar, you can learn either one and quickly pick up the other.

    • @theholyjosh5384
      @theholyjosh5384 Před 2 lety

      I literally just picked up using Android studio after making apps with RN. I chose java but i having a really hard time finding recent resources for java so ig im going with kotlin now 😅

  • @paritybit_softwares
    @paritybit_softwares Před rokem

    It was a great video, especially the way you built the whole context before going on main topic #respect from India

  • @azevedoedison
    @azevedoedison Před 3 lety +1

    I remember that similar situation with Coldfusion (buyed for Adobe). ColdFusion were the future, but died, and Java, is live..... Why program in something that run in Java if I can program directly in java?

  • @MrSarma1991
    @MrSarma1991 Před 4 lety +2

    Thanx a lot and i just decided that i'll start learning kotlin

  • @moseslauyihieng8436
    @moseslauyihieng8436 Před 2 lety

    Your explanation are very clear! Brief but brings out all the key points. Thanks!

  • @Bob-1802
    @Bob-1802 Před měsícem

    Kotlin absolutely needs Jetbrain IDEA with a build manager like Gradle. If you use the "kotlinc" compiler alone, it compiles unbearably slow compared to Java compiler.

  • @falklumo
    @falklumo Před 3 lety +1

    Kotlin is a fork of Java. Both interoperate as both compile to class files and Kotlin uses the Java runtime. Note that Java continued to evolve after the fork and some of the newer features, like the stream API, are actually implemented in a more mature way than Kotlin, esp. if you run on many cores. While Kotlin has a slight edge today, that could reverse with some of the future enhancements planned for Java, esp. under the hood. Kotlin and Java in tandem are a great thing as they keep pushing themselves ahead and stay relevant against languages like Python, Julia, Go, Rust. Reminds me of Fortran which keeps coming back ;)

    • @ahmedbathily7013
      @ahmedbathily7013 Před 3 lety

      People arguing about java verbosity but when making comparaison in Time of writing code java is more intuitive and faster even in runtime and kotlin configuration takes 2times than java does ,java syntax IS more clear and easy to understand than kotlin ,

    • @klarnorbert
      @klarnorbert Před 3 lety

      99% of the companies using Java not using it's latest version :D Most of these still uses Java 11 or earlier. Even tho Java getting some nice tools, it'll be at least 10-15 years until people will use them.

  • @-karter-4556
    @-karter-4556 Před rokem

    One thing to note. Java's standard library is fully compatible with Kotlin so there is no reason not to learn if both if you know one. It's not the same as learning a whole new language, the only thing that's changing is the syntax and that's about it.
    Of course Kotlin has it's own libraries too but it's not the same as learning a js after Java or some other language that is completely detached from the ecosystem, Kotlin is an extension.

  • @michaeladetona5880
    @michaeladetona5880 Před 8 měsíci +1

    Java is used for building large scale Enterprise systems and other systems as well being able to use use it to build android apps is a pluss. I will still prefer to use java.

  • @yeadatwunyt8004
    @yeadatwunyt8004 Před 2 lety

    super helpful, i was on the fence but now im decided. super thanks.

  • @Tommy-vt9fg
    @Tommy-vt9fg Před 2 lety +1

    You just opened my brain and put new insights into it. Thanks a lot!

  • @EduardoSantanaSeverino
    @EduardoSantanaSeverino Před rokem +1

    Kotlin could be great and awesome programing language, however. I like to learn and use tools that are not only used for one purpose. For example, Java is already used every where. From web applications to refrigerators, it is highly demanded as well. Why learn a new programing language that I would only use for android development? Instead I would learn a programing language that allows me to deploy the same application to Android and iPhone. And only, if I need something very native support specific then android studio with Java. But for light applications I would stay away from swift of kotlin, and I would choose something like flutter or React Native.

  • @walterkivindu1470
    @walterkivindu1470 Před 3 lety

    But since Java 9, type inference is there. Also, Java 15 and above has record which is more data classes than kotlin data-class or even lombok getters and setters (purely immutable)

  • @user-vf2yy9gq3k
    @user-vf2yy9gq3k Před 4 měsíci

    Definitely very helpful, thank you so much.

  • @yinyang9508
    @yinyang9508 Před rokem

    Currently learning Kotlin. I must say it’s forgiving and has a lot of safeguards.

  • @uuu12343
    @uuu12343 Před 2 lety

    "The implementation of OOP in C++ is really dumb..."
    As a developer who did C++, I can relate and agree
    Why
    Is
    Vector
    The
    "List"??!?!

  • @andyhall7032
    @andyhall7032 Před 3 lety +1

    java vs kotlin is like c++ vs golang ... the ones on the right hand side are just nicer to work with.

  • @core36
    @core36 Před 3 lety +2

    When I change the datatype of a function, I need to change the way the output is handled anyway so I don't see the point in not having to declare the datatype except not knowing what datatype something is and having bugs like in Javascript where 11+1 is 12 most of the time except when it's "111". Just my opinion on that matter

    • @TheRealFFS
      @TheRealFFS Před 3 lety +1

      That was just a bad example. Consider
      HashMap myVar = new HashMap();
      vs.
      val myVar = hashMapOf()
      It is a bit less redundant and a bit more concise. You can still declare the type if you want/need to, eg.
      val myByte: Byte = 0
      Remember, Kotlin it is still a statically typed language as opposed to JavaScript which is dynamically typed.

  • @glaucovillasboas8212
    @glaucovillasboas8212 Před 3 lety +5

    I'm developing using Java for several years, I just changed to Kotlin and I see it's way better, I'll slow down a bit until I learn it completely, but once I master it, I'll probably code twice as fast as I used to code in Java.

    • @Mr.Samosa
      @Mr.Samosa Před rokem

      hello sir, it's been two years, how is it going with kotlin, and I am a beginner so should i go with Java or kotlin, i am a little bit confused.

    • @fertiz_
      @fertiz_ Před rokem

      @@Mr.Samosa java

    • @Rassy_
      @Rassy_ Před rokem

      ​​@Mr.Samosa for new developers, I'd say learn Kotlin, it's the the preferred language for Android and prospective employers will be looking for Kotlin developers as opposed to Java (unless you are going to support legacy apps)

  • @samwolf7445
    @samwolf7445 Před 2 lety +1

    was so helpful. tnx alot!

  • @artursl7474
    @artursl7474 Před 3 lety +1

    Thanks Sam, great analysis!

  • @nathancook8452
    @nathancook8452 Před 3 lety

    Uber's api uses Kotlin a lot. I don't know, they have a lot of code converters that go between the two languages. Some code samples are coded in Java, some in Kotlin or both. It just reminds me of SQL vs No-SQL....No-SQL sounded less scary. I guess Java was scary so they created Kotlin.

  • @rgenericson5361
    @rgenericson5361 Před 4 lety +4

    Learn Java! Then Kotlin. The majority of mobile dev jobs where I live still advertise Java and Obj-C, ugh!

  • @shazinrahman9236
    @shazinrahman9236 Před 3 lety

    1:31 correction it was not originally forked by google.

  • @LostRoaming
    @LostRoaming Před 3 lety +1

    Your timeline needs a bit of a correction. Android was already using java for quite a while(2003) before Oracle acquired Sun (2009). Not buying Sun was one of the most boneheaded and obvious screwups by Google. Your other info is great though, thanks!
    I did prefer eclipse, guess I was crazy. I don't like that android studio has features disabled unless you pay for the full intellij, makes it annoying that you can no longer use eclipse. I used vscode and command line for the last java app I did, was just so annoyed with the bloated android studio. To answer your question, "why wouldn't you use kotlin", because there are a zillion other java jobs so if just android dev isn't paying the bills at some point you have that to fall back on. Kotlin's adoption outside of Android seems pretty minimal even in 2020.
    Personally, I think Google could have done us coders a solid and just chosen Swift as the language for Android.

    • @ZQK-live
      @ZQK-live Před 2 lety

      Can you tell the opportunities/advantage I would have learning java other than app development??

  • @GorVala
    @GorVala Před 3 lety +4

    Kool video, gr8t job

  • @millennialdiamond4245
    @millennialdiamond4245 Před 2 lety

    I am currently learning HTML5, CSS3, and JavaScript for Mobile App Development.
    Developers: Would you all recommend following HTML5, CSS3 and JavaScript up with learning Java; (OR), doubling down on a 2nd course expanding on HTML5, CSS3 and JavaScript then moving on to Java?
    Your your input in valued!

  • @nerdydrew6818
    @nerdydrew6818 Před 3 lety +1

    U can use var x = 10 in Java too

  • @bsmaheshkumar5328
    @bsmaheshkumar5328 Před 3 lety

    For maintaining existing apps company requires employees to work on java. But to new design applications, every company moving toward Koltin.

  • @mehdinikoozad7068
    @mehdinikoozad7068 Před 4 lety

    Simple and yet Informative. Thanks !

  • @javahack7611
    @javahack7611 Před 4 lety +1

    Learn both
    Java & Kotlin is Awesome for me....,

  • @awabalbaalbaky3508
    @awabalbaalbaky3508 Před 2 lety

    I don't think the objective c case really apply to java, java is a language backed by huge company Oracle and it is used everywhere, also at the kolin uses JVM, so it's just downing some syntax and complie improvements which java can catch up with it it Oracle what's to do so.

  • @wlk7318
    @wlk7318 Před 2 lety

    Perfectly explained and exactly what I needed. Thank you.

  • @noobdev7013
    @noobdev7013 Před 3 lety +1

    java (if you are new like me) because there will always be an answer somewhere if u are stuck.

  • @travisbarton4288
    @travisbarton4288 Před 2 lety

    Prolly pick up Kotlin one day but I'm taking Java in school so I figure I might as well stick with that for now.

    • @greenleaph5145
      @greenleaph5145 Před 2 lety

      Try picking it up in your spare time outside of school.

  • @ladycodedutchess
    @ladycodedutchess Před rokem

    That null safe feature is a huge plus

  • @joshadams8761
    @joshadams8761 Před 4 lety +1

    Objective-C was actually a bigger influence on Java than C++.

  • @andreanonali4557
    @andreanonali4557 Před 4 lety +1

    I wrote an application in kotlin and man it is way faster and easier. With some advanced tasks it is a little bit harder but once you've mastered it it is way better than java from a "conding" perspective

  • @danarj5713
    @danarj5713 Před 4 lety +3

    Kotlin trying to catch up with C# providing new similar syntax which I find it very good.

  • @advitiayanand5974
    @advitiayanand5974 Před 3 lety +1

    Well put. Thank you.

  • @temgdz1
    @temgdz1 Před 9 měsíci

    Just in the right time, Thank you so much

  • @Universaeducation
    @Universaeducation Před 3 lety

    Thanks for explaining with proper reasons.

  • @shankarraj3433
    @shankarraj3433 Před 3 lety +2

    Java is the best language to develop Android App

  • @gandlavengalarao7237
    @gandlavengalarao7237 Před 4 lety +1

    Hey bro.... I really like your vedios.... Lots of love from INDIA ♥ ♥ ♥

  • @krishnachandradas8386
    @krishnachandradas8386 Před 2 lety +1

    Dear friends, I know 0 coding, should I start with Kotlin ? Java ? or Unity c# ?

  • @angduongmachle9231
    @angduongmachle9231 Před rokem

    This video is interesting and helpful for me. Thanks for uploading 😀😀😀😀

  • @MarlonOwnsYourCake
    @MarlonOwnsYourCake Před 3 lety +1

    I'm very interested in app development but I feel like, when it comes to choosing a programming language as an African American, do I really wanna pick Kotlin?

  • @johngehman5836
    @johngehman5836 Před rokem

    Kotlin is hamstrung by JetBrains IDE. I can't have to spend days getting an IDE to work before I can use a programming language. If I can't use vim and build off the command line, it's not a viable programming language, it's a macro that's no better than VBA. I get it that Google needs an out, but JetBrains IDEs are a non-starter.

  • @First_Principals
    @First_Principals Před 4 lety +1

    Please do a similar video of GO programming language.

  • @DejanPetrovic
    @DejanPetrovic Před 3 lety

    Thank you, this video was a game changer for my.

  • @theowillis6870
    @theowillis6870 Před 2 lety

    5:18 java added data classes recently actually there called records