Java vs Kotlin for Android App Development

Поділитися
Вставка
  • Опубліковано 21 гру 2024

КОМЕНТАРІ •

  • @KeepOnCoding
    @KeepOnCoding  4 роки тому +132

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

    • @JJGM91
      @JJGM91 4 роки тому +34

      Kotlin without a doubt

    • @kaifahsan8459
      @kaifahsan8459 4 роки тому +11

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

    • @HouseFromSmartCity
      @HouseFromSmartCity 4 роки тому +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 4 роки тому +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 4 роки тому +43

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

  • @spec_wasted
    @spec_wasted 3 роки тому +64

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

  • @ItachiUchiha-nx2sw
    @ItachiUchiha-nx2sw 4 роки тому +514

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

    • @mohantalachutla6834
      @mohantalachutla6834 4 роки тому +7

      😂😂😂

    • @muhamadimron9785
      @muhamadimron9785 4 роки тому +23

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

    • @firemidge8705
      @firemidge8705 4 роки тому +1

      HAHAHAHA!

    • @ravinderbrar343
      @ravinderbrar343 4 роки тому +10

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

    • @BillClinton228
      @BillClinton228 4 роки тому +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 4 роки тому +177

    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 4 роки тому +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 4 роки тому +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 4 роки тому +2

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

    • @jhngolan
      @jhngolan 4 роки тому

      I still adapt for the transition with recent architecture

    • @memenchance1747
      @memenchance1747 4 роки тому +16

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

  • @bassam_salim
    @bassam_salim 3 роки тому +81

    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

  • @lodgin
    @lodgin 3 роки тому +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 2 роки тому

      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 2 роки тому +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 2 роки тому

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

  • @babythedude
    @babythedude 4 роки тому +396

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

    • @seriousskateboarding9938
      @seriousskateboarding9938 3 роки тому +32

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

    • @MayTubeGames
      @MayTubeGames 3 роки тому +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 3 роки тому +3

      @@MayTubeGames isn't kotlin based of Java?

    • @MayTubeGames
      @MayTubeGames 3 роки тому +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 3 роки тому +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

  • @omermir332
    @omermir332 4 роки тому +17

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

  • @rajanbirsingh202
    @rajanbirsingh202 4 роки тому +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 3 роки тому +27

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

    • @vanesauribe2754
      @vanesauribe2754 3 роки тому +1

      How is that going? Do you like it?

    • @vladarskopin3314
      @vladarskopin3314 3 роки тому +1

      so what are your feelings about it?

    • @boredchicken5755
      @boredchicken5755 3 роки тому +1

      have you moved on? Are you happier now?

    • @nested9301
      @nested9301 3 роки тому

      look a t this dudes

    • @akin242002
      @akin242002 3 роки тому

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

  • @fourlokouva
    @fourlokouva 4 роки тому +87

    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 :)

  • @AlbertoRodriguez-oe6jo
    @AlbertoRodriguez-oe6jo 3 роки тому +42

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

  • @kaifahsan8459
    @kaifahsan8459 4 роки тому +75

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

    • @aweklin
      @aweklin 4 роки тому +4

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

  • @fabiomoggi
    @fabiomoggi 4 роки тому +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.

  • @memorylanezz
    @memorylanezz 3 роки тому +5

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

  • @evil_onyxx_jr.
    @evil_onyxx_jr. 4 роки тому +9

    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 4 роки тому +1

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

    • @hamzamaqsood5725
      @hamzamaqsood5725 4 роки тому

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

    • @evil_onyxx_jr.
      @evil_onyxx_jr. 4 роки тому

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

    • @hamzamaqsood5725
      @hamzamaqsood5725 4 роки тому

      abeer. choudhary Facebook

    • @evil_onyxx_jr.
      @evil_onyxx_jr. 4 роки тому

      @@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

  • @tayyabachowdary1007
    @tayyabachowdary1007 4 роки тому +4

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

  • @KIKITO94
    @KIKITO94 3 роки тому +13

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

  • @angelotheman
    @angelotheman 4 роки тому +6

    You just won yourself a new subscriber.

  • @robj7481
    @robj7481 4 роки тому +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 4 роки тому +11

      Learn flutter for both

    • @evil_onyxx_jr.
      @evil_onyxx_jr. 4 роки тому +2

      Exactly. Why not learn Flutter

    • @hamzamaqsood5725
      @hamzamaqsood5725 4 роки тому +1

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

    • @animeshsahu2803
      @animeshsahu2803 4 роки тому +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 3 роки тому +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

  • @sourandbitter3062
    @sourandbitter3062 3 роки тому +2

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

  • @zzz8055
    @zzz8055 3 роки тому +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 3 роки тому +16

      Just learn Kotlin

    • @OvidiuH252
      @OvidiuH252 3 роки тому +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 3 роки тому +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 3 роки тому +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 3 роки тому

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

  • @damercy
    @damercy 4 роки тому +7

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

  • @sleepy026
    @sleepy026 4 роки тому +66

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

    • @Chris-nk8oz
      @Chris-nk8oz 3 роки тому +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 3 роки тому +2

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

    • @Chris-nk8oz
      @Chris-nk8oz 3 роки тому +1

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

    • @Hcheeza
      @Hcheeza 3 роки тому

      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 3 роки тому

      @@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?

  • @serving_tray5365
    @serving_tray5365 Рік тому

    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. :)

  • @josefcrosz
    @josefcrosz 5 місяців тому

    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.

  • @1HadChilling
    @1HadChilling 3 роки тому +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.

  • @ghabrielmielli5858
    @ghabrielmielli5858 3 роки тому +5

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

  • @FranksCreativeCorner
    @FranksCreativeCorner 9 місяців тому

    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!

  • @CodeWithCal
    @CodeWithCal 3 роки тому +1

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

  • @shazinrahman9236
    @shazinrahman9236 3 роки тому

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

  • @havens1515
    @havens1515 4 роки тому +27

    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.

  • @anonthenon196
    @anonthenon196 3 роки тому +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.

  • @--sql
    @--sql 3 роки тому +59

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

    • @rohansampat1995
      @rohansampat1995 3 роки тому +2

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

    • @falklumo
      @falklumo 3 роки тому +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 3 роки тому +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 3 роки тому

      @@rohansampat1995 👍

  • @zetabyte0076
    @zetabyte0076 2 роки тому +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!

  • @samwolf7445
    @samwolf7445 3 роки тому +1

    was so helpful. tnx alot!

  • @yeadatwunyt8004
    @yeadatwunyt8004 2 роки тому

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

  • @germainkevin5987
    @germainkevin5987 4 роки тому +3

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

  • @LandanDevenecia-p6t
    @LandanDevenecia-p6t 7 місяців тому

    Definitely very helpful, thank you so much.

  • @mitchellbarnow1709
    @mitchellbarnow1709 4 роки тому +7

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

  • @bbrauner
    @bbrauner 4 роки тому +9

    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.

  • @artursl7474
    @artursl7474 4 роки тому +1

    Thanks Sam, great analysis!

  • @moseslauyihieng8436
    @moseslauyihieng8436 2 роки тому

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

  • @paritybit_softwares
    @paritybit_softwares Рік тому

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

  • @crazyyoutuberguy
    @crazyyoutuberguy 3 роки тому

    No semicolon at the end of the statement? // whyyyy? =)

  • @core36
    @core36 3 роки тому +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 3 роки тому +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.

  • @devidbingo
    @devidbingo 4 роки тому +4

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

    • @KeepOnCoding
      @KeepOnCoding  4 роки тому +2

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

    • @stealthseeker18
      @stealthseeker18 4 роки тому +2

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

  • @GorVala
    @GorVala 4 роки тому +4

    Kool video, gr8t job

  • @abdelkadersoudani1955
    @abdelkadersoudani1955 3 роки тому +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

  • @theowillis6870
    @theowillis6870 2 роки тому

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

  • @Tommy-vt9fg
    @Tommy-vt9fg 3 роки тому +1

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

  • @mazexmaze8011
    @mazexmaze8011 4 роки тому +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 4 роки тому +3

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

    • @naveenbattula
      @naveenbattula 4 роки тому +3

      Kotlin docs are way better than java docs

  • @alangovender1458
    @alangovender1458 3 роки тому

    great analysis !

  • @Tsunkuotaku
    @Tsunkuotaku 3 роки тому +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.

  • @angelotheman
    @angelotheman 4 роки тому +8

    That's really a great content bro.

  • @christophorosprodromou818
    @christophorosprodromou818 4 роки тому +13

    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 4 роки тому +2

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

  • @MrSarma1991
    @MrSarma1991 4 роки тому +2

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

  • @azevedoedison
    @azevedoedison 3 роки тому +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?

  • @yinyang9508
    @yinyang9508 2 роки тому

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

  • @walterkivindu1470
    @walterkivindu1470 3 роки тому

    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)

  • @Tsunkuotaku
    @Tsunkuotaku 3 роки тому +1

    @5:24 In Java, you never have to define constructors, getters and setters (uggh, please don't), hashcode(), toString(), or equals() if you don't need to. I've never once defined hashcode(). toString() maybe a dozen times, equals() even fewer....are you sure you've ever programmed in Java?

    • @cheeriozkitty
      @cheeriozkitty 3 роки тому

      Yes he's sure and he's correct. Have you ever done anything outside of schoolwork in Java?

  • @temgdz1
    @temgdz1 Рік тому

    Just in the right time, Thank you so much

  • @ladycodedutchess
    @ladycodedutchess 2 роки тому

    That null safe feature is a huge plus

  • @nate22621
    @nate22621 4 роки тому

    Great video! Loved the content

  • @advitiayanand5974
    @advitiayanand5974 4 роки тому +1

    Well put. Thank you.

  • @-karter-4556
    @-karter-4556 Рік тому

    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.

  • @eberronbruce1328
    @eberronbruce1328 3 роки тому +11

    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 3 роки тому

      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 3 роки тому +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 3 роки тому

      @@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 3 роки тому +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 3 роки тому

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

  • @kamikazedavid20
    @kamikazedavid20 2 роки тому +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

  • @mehdinikoozad7068
    @mehdinikoozad7068 4 роки тому

    Simple and yet Informative. Thanks !

  • @someguy007
    @someguy007 4 роки тому +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 4 роки тому +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 4 роки тому +1

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

    • @Qrzychu92
      @Qrzychu92 4 роки тому +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 4 роки тому

      @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 4 роки тому

      @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.

  • @norahalbaqami514
    @norahalbaqami514 3 роки тому

    thanks , you save my time ❤️

  • @Avopunk
    @Avopunk 2 роки тому

    Thank you so much!

  • @ranabanik1354
    @ranabanik1354 3 роки тому

    What about Python libraries like Kivy or BeeWare?
    Or cross platform options like React?

  • @wlk7318
    @wlk7318 3 роки тому

    Perfectly explained and exactly what I needed. Thank you.

  • @nguyencodervn
    @nguyencodervn 2 роки тому

    Thank you very much for your course.

  • @Universaeducation
    @Universaeducation 3 роки тому

    Thanks for explaining with proper reasons.

  • @andreivirtopeanu5306
    @andreivirtopeanu5306 2 роки тому

    thank you so much for the video

  • @falklumo
    @falklumo 3 роки тому +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 3 роки тому

      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 3 роки тому

      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.

  • @HandsOnKnowledge
    @HandsOnKnowledge 3 роки тому +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

    • @nguyenconghuy3847
      @nguyenconghuy3847 2 роки тому +2

      yeah, me too. Kotlin is implicit and hard to read

  • @KingRichardfirst
    @KingRichardfirst 2 роки тому

    Which one would be better for Smart Contracts?

  • @honestyrocksu
    @honestyrocksu 2 роки тому

    android studio seems to want to use kotlin, anyone know how to choose java? with android studio or something else? just thought I'd play around with both, because I have an old android app in java, but the old version of android studio/ eclipse won't boot. I'm wondering if I should/could rescue that old app and revamp it, to get back into the groove, havent coded in 4 years

  • @jhonbrixbrion8030
    @jhonbrixbrion8030 4 місяці тому

    Is your thesis published in the web?

  • @pratikpattanaik
    @pratikpattanaik 4 роки тому +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 2 роки тому

      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 2 роки тому

      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 😅

  • @awabalbaalbaky3508
    @awabalbaalbaky3508 3 роки тому

    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.

  • @user-dm5qi4nb6l
    @user-dm5qi4nb6l 3 роки тому +1

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

  • @amadakram5722
    @amadakram5722 3 роки тому

    should i learn kotlin or flutter(as a beginner in the mobile dev industry)? which has more potential?

  • @shush1329
    @shush1329 2 роки тому

    7:34 : "I would choose Kotlin over Java"
    My ears: I understood oovoo javer
    My vine influenced brain: but ive never went to oovoo javer...

  • @andyhall7032
    @andyhall7032 3 роки тому +1

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

  • @エッ-p8c
    @エッ-p8c 3 роки тому

    Might be a bit of a tangent from the focus of the video but should I use Kotlin for Spring Boot?

  • @nerdydrew6818
    @nerdydrew6818 3 роки тому +1

    U can use var x = 10 in Java too

  • @bsmaheshkumar5328
    @bsmaheshkumar5328 4 роки тому

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

  • @dychak
    @dychak 4 роки тому

    Hi . I like the floor lamps in the back. What is it called?

  • @md.emranhossain8156
    @md.emranhossain8156 4 роки тому +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.

  • @DejanPetrovic
    @DejanPetrovic 3 роки тому

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

  • @AlfredoAguirre21
    @AlfredoAguirre21 3 роки тому

    I like your cap, where do I get one?

  • @travisbarton4288
    @travisbarton4288 3 роки тому

    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 3 роки тому

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

  • @rgenericson5361
    @rgenericson5361 4 роки тому +4

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

  • @Jeff-gx5bg
    @Jeff-gx5bg 2 роки тому

    honestly what were oracle trying to do

  • @evanwilliam9582
    @evanwilliam9582 3 роки тому

    The funniest part is that a simple AP connection from an android app is a Daunting task.

  • @danangdwigustifajaryanto
    @danangdwigustifajaryanto 3 роки тому

    What do you think about flutter ?