Why I enjoy writing Kotlin

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 พ.ย. 2024

ความคิดเห็น • 133

  • @braiso_22
    @braiso_22 9 หลายเดือนก่อน +51

    This video explains very well the best features of kotlin and why I like it so much!

    • @mellowboyXD
      @mellowboyXD 9 หลายเดือนก่อน +1

      great video yess

  • @torb-no
    @torb-no 9 หลายเดือนก่อน +29

    Couldn't agree more. Kotlin is so ergonomic yet it still provides reasonable amounts of safety.
    Languages that a nominally typed (Java, Rust, C#, etc…) tend to have useful safety but feel ”heavy” to program so people go for structurally statically (TypeScript, Go) or dynamic (JavaScript, Python, etc…) typed languages. I find that Kotlin despite being a nominally typed language still feels very ”lightweight”. To me it really is the best of all worlds.

    • @tom-delalande
      @tom-delalande  9 หลายเดือนก่อน +8

      I really like the way you've put it. Kotlin does feel might lighter than everything else I end up using. There are so many since quality of life features

  • @lintfree4200
    @lintfree4200 9 หลายเดือนก่อน +14

    I'm new to programming and after sometime of checking out many languages for their use cases and syntax I decided on Kotlin because it made sense in my mind. Working through jetbrains academy and just started gettting into the usage of "this" and "it" but I can still understand what you showed. Looking forward to more videos!

    • @replymeasapp
      @replymeasapp 8 หลายเดือนก่อน +1

      can we learn for free on jetbrains academy?

    • @Pictor13
      @Pictor13 8 หลายเดือนก่อน

      @@replymeasapp iirc, yes, it’s 2 months for free, and stays free as long as you keep up and don’t stop, as you get additional months free by making progresses.
      It was nice; a pity that I stopped at a certain point 😅
      It has a nice format, good exercises for different kevels, and good tests.
      Although (2 years ago?) the plattform was sluggish at time or having minor bugs preventing the tests from being completed.
      They would be cumbersome to solve for who doesn’t already have coding experience.
      But I ’m sure they improved those issues in the meanwhile.
      It’s totally worth it as platform to learn Kotlin. Even tho one can still go through reading the documentation and try out things by themselves (if they wanna proceed faster), it’s pretty good for beginners.
      Enjoy ;)

    • @lintfree4200
      @lintfree4200 8 หลายเดือนก่อน

      @@replymeasapp yes there is a free option you are just limited on few things. I'm unemployed right now so the free option is it for me.

    • @avi7278
      @avi7278 8 หลายเดือนก่อน +1

      if you're new to programming unless you're just learning it as a hobby you enjoy or you have a specific use case, you shouldn't be learning Kotlin.

    • @MichaelSt
      @MichaelSt 8 หลายเดือนก่อน

      @@avi7278Strong disagree, first language doesn’t matter much, as long as he likes it and is actively learning it’s perfectly fine.

  • @esionecneics3459
    @esionecneics3459 8 หลายเดือนก่อน +5

    Awesome. Finally someone on TH-cam who likes Kotlin this much. It would be nice if you could also make videos for beginners. Preferably a series with projects. No stress. Definitely keep making content because you are very talented.

    • @Pictor13
      @Pictor13 8 หลายเดือนก่อน +1

      I’d suggest Jetbrain Academy to learn the basics

    • @esionecneics3459
      @esionecneics3459 8 หลายเดือนก่อน

      @@Pictor13 I did. I did the ktor course. I really appreciate the quality of the articles from the Jetbrains Academy, but I found the course too basic and too bloated. I actually wanted to learn more about ktor. I'm also more of a video learner. But thx anyway for the tip.

  • @rerere1569
    @rerere1569 8 หลายเดือนก่อน +1

    I'm more of a typescript dev but you really excited me to try kotlin, looks cool!

  • @danielyrovas
    @danielyrovas 8 หลายเดือนก่อน +7

    I like your videos (and Kotlin :P). I would recommend looking into improving your audio quality, in my opinion, audio is the number 1 thing that most young channels struggle with, and its also a large factor for success on youtube. Viewers are happy if the video quality is a bit garbage, but most people will turn the video off if the audio is crap.

    • @immersion7110
      @immersion7110 8 หลายเดือนก่อน

      There’s not a lot of improvement to be had here I think.
      Sounds pretty nitpicky and condescending.

    • @pookiepats
      @pookiepats 2 วันที่ผ่านมา

      @@immersion7110you're just sensitive and projecting, the comment is fine.
      also as i watched i did think more than a few times "SPEAK UP BROTHER", so audio quality signal wise is fine the speaker just needs to say it with his chest.

  • @AntonArhipov
    @AntonArhipov 9 หลายเดือนก่อน +9

    Thanks for the great video!

    • @tom-delalande
      @tom-delalande  9 หลายเดือนก่อน

      No worries! Thank you for watching

  • @giuliopimenoff
    @giuliopimenoff 9 หลายเดือนก่อน +3

    duuuude love it ty, let's get prime to force jetbrains to make kotlin usable in nvim!

  • @Vemu
    @Vemu 9 หลายเดือนก่อน +5

    You can also do extensions properties

  • @giuliopimenoff
    @giuliopimenoff 9 หลายเดือนก่อน +2

    I've always thought making a video like this because people really don't know about all those nice features. I think you've hit all the points nicely. I would have also mentioned the ktor library because it truly makes it so easy to get a server up in no time

    • @corlaez
      @corlaez 8 หลายเดือนก่อน

      His last video mentioned ktor. I think setting up a server quickly is something many server libs offer, I think ktor's killer feature is that it is coroutine first. If you don't mind using a blocking server, Javalin is IMO better than framework in terms of easy of use.

    • @Pictor13
      @Pictor13 8 หลายเดือนก่อน

      Well, a video with a simplified explanation of coroutines with some non trivial examples, that would also be pretty useful.😁
      Coroutines complexity is where i got turned off by kotlin (but it was in the initial phase, they weren’t mature enough yet).

  • @xdevs23
    @xdevs23 8 หลายเดือนก่อน

    I love your videos. You explain them just like I would do and it's so nice to see.

  • @MaxJM711
    @MaxJM711 9 หลายเดือนก่อน +2

    I remember Kotlin being the first language I tried in uni outside of C and C++ and I had no clue as to what OOP was (hadn't seen Java either, only thing I knew about it is that Minecraft was used to make it lol), and man, I had absolutely no trouble at all adapting to Kotlin and the way it handled OOP and other concepts. I really wish I could use it more for some more personal projects and what not, but it's definitely going to be in my mind and I know I'll eventually give it a proper try, specially since I've been using Java a bit last semester and I'll see it and C# for the next one. Awesome video man, keep up the great content!

    • @theman47145
      @theman47145 8 หลายเดือนก่อน +3

      "outside of C and C++ and I had no clue as to what OOP" - You learned C dressed as C++ if you didn't learn OOP with C++, but happy to hear you are doing well with Kotlin! Kotlin is fantastic (as someone who started with C++, then Java, then Kotlin).

    • @MaxJM711
      @MaxJM711 8 หลายเดือนก่อน

      @@theman47145 Yeah, we definitely learnt C stuff in C++, wasn't until we properly got into OOP that we fully got into the extra stuff C++ can offer haha
      I only saw Kotlin for very small stuff (think it was implementing a binary tree in it) and haven't seen it again since, but I plan on giving it a proper shot someday soon to build something. I am not super into building phone apps (which I know Kotlin is king in now, specially for Android), but I'd like to see what else can be done haha

  • @jc-aguilar
    @jc-aguilar 8 หลายเดือนก่อน +2

    I love Katlin, my only complain is the build system. I wish it was part of the language, like Go build or Rust Cargo

  • @ClasicRando
    @ClasicRando 9 หลายเดือนก่อน +2

    Very cool video! Although I am not a fan of some design choices when making Kotlin due to its origin as a JVM language (type erasure, exceptions, null-ability coloring types, etc), I have a deep appreciation for the language and how much it offers. Hopefully you can introduce people to other features of Kotlin such as coroutines + suspension, structured concurrency, inline functions as well as reified generics (I really wish every generic argument was available at compile time inherently and erased when targeting the JVM). On a more advanced note, I am really looking forward to the stabilization of compiler plugins and the possibility of static abstract members (companion objects are the bane of my existence).

  • @deathdogg0
    @deathdogg0 8 หลายเดือนก่อน +1

    Kotlin and Swift are very very very similar, even in syntax. I develop for iOS, but Kotlin sounds like a nice way to get into cross platform

  • @j1d7s
    @j1d7s 9 หลายเดือนก่อน +4

    Thanks, this has been a great overview of nice features! What kept me away from Kotlin was mainly that it is so much tied to Jetbrains and IntelliJ. (Not so much that it uses the Java ecosystem, I was a happy Clojure programmer some years ago.) I use Neovim for all my programming and the support for Kotlin is not fully there, in particular debugging does not work there. But maybe I will give it a try now, we have some services implemented in Kotlin at my company, so there is some incentive there to do something specific.

    • @tom-delalande
      @tom-delalande  9 หลายเดือนก่อน +3

      Unfortunately I feel your pain. I use Neovim for everything except Kotlin. For a long time it was the only reason I held back on the language, the proprietary nature of JetBrains still bothers me.

    • @kyay10
      @kyay10 9 หลายเดือนก่อน

      @@tom-delalande You're likely aware of this, but Idea is completely open-source, and theoretically a very-dedicated team could port all of its Kotlin support over to Nvim.

    • @scitechplusexplorer2484
      @scitechplusexplorer2484 8 หลายเดือนก่อน +2

      Jetbrains is different, and mature enough. It do business through IDEs and other services. Kotlin is completely free, open-source, and they are soon going to make a foundation along with Google and others for Kotlin. So no need to fear.
      In fact, every programming language is free and open-source, don't think too much, just learn the language.

    • @kyay10
      @kyay10 8 หลายเดือนก่อน

      The foundation is already there btw and has heavily expanded to include many companies, not just Google and Jetbrains@@scitechplusexplorer2484

  • @KENTOSI
    @KENTOSI 8 หลายเดือนก่อน

    Kotlin is amazing! I miss it so much (my current job is back to Java land ...)

  • @corlaez
    @corlaez 8 หลายเดือนก่อน

    Just one more thing to add to the map, filter functions (that I think wasn't mentioned) is that the function invocation is removed and that the function body is inlined in the call site. As such calling map, filter, forEach has 0 runtime perf impact as it desugars to for loop expressions. Also inlining is a language feature, you can define your own inlined functions.

  • @elijahluckey7852
    @elijahluckey7852 8 หลายเดือนก่อน

    Kotlin looks great. I have yet to use it. You might find Dart language to feel comfortable as well - Dart shares many feature with Kotlin (sealed types, pattern matching, named+optional params, null-safety, strong-typing, extensions) ; however, it's missing the "trailing lambdas" feature though, which makes me want to try out Kotlin! Thanks for sharing

  • @ParkourGrip
    @ParkourGrip 8 หลายเดือนก่อน

    Also in Kotlin has the least boilerplatey sintax for doing dependency injection trough constructor.

  • @jfsanchez91
    @jfsanchez91 8 หลายเดือนก่อน +4

    I guess the Kotlin + nvim community should try to make some decent Kotlin LSP (with Gradle integration too), that would be great.

    • @danielyrovas
      @danielyrovas 8 หลายเดือนก่อน +1

      I would love to do Android dev in neovim, but it is so awkward because the previews & emulators with Android studio are nice being inbuilt.

    • @rochakgupta6116
      @rochakgupta6116 8 หลายเดือนก่อน

      +1. The only reason I don't wanna use Kotlin is because I would be forced to use IntelliJ.

  • @Zellyk
    @Zellyk 8 หลายเดือนก่อน +2

    I had a bad time with java, spring and the jvm during my CS. How do you suggest I revisit this with kotlin?

    • @tom-delalande
      @tom-delalande  8 หลายเดือนก่อน

      I definitely feel you. Java + Spring can be a nasty combo. My suggestion would be to treat Kotlin as a functional language that happens to support object orientation. Rather than the other way around.

    • @scitechplusexplorer2484
      @scitechplusexplorer2484 8 หลายเดือนก่อน +1

      Java is just awesome. Maybe your experience not so good. But with Kotlin with Spring Boot is amazing too!

    • @MichaelSt
      @MichaelSt 8 หลายเดือนก่อน

      @@scitechplusexplorer2484Java is horrible tbh, so slow to develop with

  • @captainnoyaux
    @captainnoyaux 8 หลายเดือนก่อน

    oh boy I love kotlin too ! The only downside is that when using TDD the tests take a long time to fire up (due to the JVM) do you have tips on that ? I never found anything valuable to solve it and have tests fire up in less than a second like in TS.
    Do you happen by any chance to use arrow-kt ? it's an awesome library that enhances kotlin a lot ! Cool be interesting video ideas :)

  • @dleonardo3238
    @dleonardo3238 8 หลายเดือนก่อน +1

    if you don't like intelij, have you tried Fleet yet?

  • @BlueIsLeet
    @BlueIsLeet 8 หลายเดือนก่อน +1

    saves time / more concise / dont need nullable and notnull everywhere, it's built in / many useful built in operators that work on Android / typealiases / so much more

  • @fillipefeitosa4331
    @fillipefeitosa4331 6 หลายเดือนก่อน

    I had to learn Kotlin because I am teaching OOP to university students. Coming from Python world, I really liked the language, and I think it has the fail proof's mixing best of worlds.
    I do not use it often because of the InteliJ IDEA. It is dreadfull to customize and painfully not consistent. I had this class where I was teaching Unit tests, and InteliJ was flagging errors in the file. I gave up on trying to find the errors, and just ran the tests for "fun". The tests were ok, and the IDE stoped acusing errors.

  • @thedavistheory7674
    @thedavistheory7674 8 หลายเดือนก่อน

    I've used kotlin once..it was just for a crud app but the language itself felt pleasant to use, like a better js or something haha i don't know if that even makes sense...but maybe i could learn it in the future

  • @massy-3961
    @massy-3961 8 หลายเดือนก่อน

    I’ve picked up Kotlin and I do really like the code and how fresh it feels, but the 1 thing that will keep me away from building anything serious with it is Try Catch error handling, and I know there are other error implementations but Try Catch is std for Kotlin and Java, and I feel because of that you can’t have robust fault tolerant programs like you would in monadic/value error handlers like Rust and Golang. If they would standardize one of those two implementations over Try Catch I would actually love Kotlin.

  • @diablo-project
    @diablo-project 8 หลายเดือนก่อน

    I really wanted to try out kotlin. It seems to be great language, but sadly, only project that really want to do in JVM is modding Minecraft. Couple of insides. Minecraft's blocks are kind of singletons/never instantiated class: You should define a bunch of static methods on your block or item and engine will figure out the rest. And in kotlin you will constantly fight with companion objects and default constructors, which I'm not a fan of. Maybe I should try to do something else, more native or "clean". Thank you for the video btw!

  • @TheMattSturgeon
    @TheMattSturgeon 8 หลายเดือนก่อน

    My biggest complaint with kotlin is that it has throwable runtime exceptions that don't need to be declared on a method signature.
    I understand it didn't have much choice on that as it targets the JVM platform...
    The next biggest downside for me is that it's perhaps _too_ expressive at times; it's easy to fall into the trap of over-abstracting things because you can, or having to choose between several approaches to a problem, or playing "code golf" by trying to make things as terse as possible, sometimes at the expense of readability & simplicity.
    That said, it's still one of my favourite languages, light years ahead of java for sure.

  • @Bliss467
    @Bliss467 9 หลายเดือนก่อน

    I also really like delegates. Cuts out tons of boilerplate.
    One of the downsides is it inherits the type erasure from Java via the JVM.
    I’m sure you neglected to mention extension properties on purpose - it is a questionable feature of the language. Extension operators I have no problem with.

  •  9 หลายเดือนก่อน

    we need a KotlinCasts!!!

  • @shellderp
    @shellderp 8 หลายเดือนก่อน

    Love kotlin, use it for years at work, millions of loc. We found extensions to be nice but way too overused, and some of the standard ones are just horrible for control flow like "also", because it inverts the way you read the code and is really weird to read.

  • @RegisBodnar
    @RegisBodnar 9 หลายเดือนก่อน +1

    Not even gonna play! IFL Kotlin! The only reason I switched HARD off Kotlin is my laptop runs on ARM, and Kotlin in VSCode was doable, but a complete nightmare, especially on ARM! To this day, I still miss extension functions!

  • @luisliz
    @luisliz 8 หลายเดือนก่อน

    You're right. I'm sleeping on Kotlin. I've always avoided it because I thought it was like a nicer java and I don't like java lol.

  • @adamwarvergeben
    @adamwarvergeben 8 หลายเดือนก่อน

    What's that purple text on the side?

  • @cil7ea
    @cil7ea 8 หลายเดือนก่อน

    Yup, basically Swift with some russian flavour.

  • @younesmdarhrialaoui643
    @younesmdarhrialaoui643 8 หลายเดือนก่อน

    The only real selling point of Kotlin is that it's not Java and it has amazing Java interop. All of these features have been around for a long time in Swift and the ergonomics are just as good. The only exception is `sealed` but the behaviour can easily be reproduced with `enums`.

  • @jacekkurlit8403
    @jacekkurlit8403 8 หลายเดือนก่อน

    I was trying to learn go but I hate it so much. Kotlin gives rust vibes so maybe I will give it a try

  • @heraldo300
    @heraldo300 9 หลายเดือนก่อน +1

    an ad at 1:20 is wildd 🤣

    • @tom-delalande
      @tom-delalande  9 หลายเดือนก่อน

      Oh yeah, I just checked it and it happened to me too. I don’t think I can turn it off since I don’t even have monetisation enabled 🤔

  • @odra873
    @odra873 9 หลายเดือนก่อน

    So we use Java in our backend with spring and all it’s whistles
    You use only plain kotlin or are other libs „must have“

    • @dleonardo3238
      @dleonardo3238 8 หลายเดือนก่อน +1

      You can use spring with kotlin

  • @ParkourGrip
    @ParkourGrip 8 หลายเดือนก่อน

    The only thing I dislike about Kotlin is that there is no nice way to define a data class that has all the same fields as another data class with some additional fields. It's probably smart that inheritance is not supported for data classes but it would be nice to have another way to do the above.

    • @tom-delalande
      @tom-delalande  8 หลายเดือนก่อน

      I think I’m misunderstanding your point. It is my understanding that inheritance IS supported for data classes.

  • @wlockuz4467
    @wlockuz4467 9 หลายเดือนก่อน +1

    The only thing that keeps me away from the Java ecosystem is the fact that OOP is shoehorned into everything. Don't get me wrong OOP is not bad, in fact Java was the first programming language that I learned, but when I started working with Android it felt like a churn to get through because I had to learn an entire paradigm besides learning the platform itself. When Android announcee Kotlin support, it made everyone's life a bit easier, but by that point I had moved on.
    Maybe it was because I was new, I don't know, but that's what pushed me away from Java/Kotlin.

    • @ES-eb6pb
      @ES-eb6pb 9 หลายเดือนก่อน

      Even more of a problem is how much RAM JVM languages take, that takes a toll on cloud server prices

  • @tanko.reactions176
    @tanko.reactions176 8 หลายเดือนก่อน

    its either go or kotlin..
    go for the minimalists, kotlin for those who love bloat.

  • @pookiepats
    @pookiepats 2 วันที่ผ่านมา

    i dont understand why you are "locked in' to IntelliJ..? 😂

  • @imnotbaldbtw7550
    @imnotbaldbtw7550 9 หลายเดือนก่อน

    other flaws like being dynamically typed (derogatory)

    • @dleonardo3238
      @dleonardo3238 8 หลายเดือนก่อน +3

      Kotlin is statically typed lol

  • @pompiuses
    @pompiuses 8 หลายเดือนก่อน +1

    Kotlin is nice, but modern Java has caught up with it for the most part and surpassed it in some cases. With Java 21 the difference are small and boils down to personal preference for syntax. If your organisation already uses Java then Kotlin is a tough sell in my opinion.
    Null safety might be nice for beginners, but in my two decades in software have never been an issue in any of the projects I’ve worked on. It’s oversold a lot by the Kotlin community.
    Things like e.g. extension functions and function colouring in Kotlin does not help with long term maintainability of the code. Also the numerous forms of syntax variations for doing the same thing can make the code hard to read unless strict guidelines are followed by the team.

  • @simonebutera9759
    @simonebutera9759 8 หลายเดือนก่อน

    You need to use their ide ? Why?

    • @lengors7327
      @lengors7327 8 หลายเดือนก่อน

      You don't have to, it's just that the existing tools for other IDEs are made by thirdparties and suck. Kotlin is developed by JetBrains, the same company that develops IntelliJ. They made IntelliJ work great with Kotlin, but are yet to provide with good, IDE agnostic tools, like an LSP. And from what I can tell they have 0 plans on doing that.
      So unless someone dedicates their heart and soul to write such tools (and they don't suck) as a thirdparty or another company sees value in Kotlin and decides to do it themselves, the experience developing in Kotlin outside of IJ won't be great (you can get by, but after a while you just give up and go with IJ, at least that's what happened to me)

    • @simonebutera9759
      @simonebutera9759 8 หลายเดือนก่อน

      @@lengors7327 thanks for the explanation

    • @scitechplusexplorer2484
      @scitechplusexplorer2484 8 หลายเดือนก่อน +1

      @@lengors7327 The best platform is already out there for Kotlin, why to use anything else. In case still anyone want to use, VSCode and Eclipse are the options.
      But after using IntelliJ, hardly anyone wants to use any other IDE.

  • @mrlectus
    @mrlectus 8 หลายเดือนก่อน +1

    I would gladly switch to Kotlin the day it allows me to use any IDE to write it's code

    • @MichaelSt
      @MichaelSt 8 หลายเดือนก่อน

      Jetbrains docs say there is a VS code extension, I’m quite confused why he says you have to use IntelliJ

  • @EXASHES
    @EXASHES 8 หลายเดือนก่อน

    Looks pretty cool, but I'm definitely gonna stick with C# and TS

  • @wolfeygamedev1688
    @wolfeygamedev1688 9 หลายเดือนก่อน +3

    Sold me on everything except for having to use an IntelliJ IDE

    • @julienlecoq3539
      @julienlecoq3539 9 หลายเดือนก่อน

      That’s a shame from JetBrains honestly… As many, I avoid Kotlin because of that. It feels so much better to write in Go, you just need a main.go file and you’re ready to go. No need to bring a specific IDEA with it.
      That’s sad because Kotlin has some great features 😕

    • @milkkolaj
      @milkkolaj 3 หลายเดือนก่อน

      @@julienlecoq3539 You can use it with VS Codium/VS code and Eclipse requires some setup but it definitely does the job(most of the part).

  • @Caldaron
    @Caldaron 8 หลายเดือนก่อน

    "features"

  • @bodguy1035
    @bodguy1035 8 หลายเดือนก่อน

    Kotlin is neat and concise language but Gradle and Intellij is sucks.

  • @Voltra_
    @Voltra_ 9 หลายเดือนก่อน +1

    If Kotlin has variadic generics and is transpilable to javascript, then I'll consider it

    • @kyay10
      @kyay10 9 หลายเดือนก่อน +1

      It has both! There's `in` and `out` variance. There's also Kotlin/JS which compiles Kotlin to JS, and is completely supported by the language

    • @dleonardo3238
      @dleonardo3238 8 หลายเดือนก่อน +1

      Kotlin has that

  • @mettle_x
    @mettle_x 9 หลายเดือนก่อน +1

    Sees *null* and throws Kotlin out of the window.

    • @torb-no
      @torb-no 9 หลายเดือนก่อน +5

      Kotlon has explicitly nullable types (and they are not nullable by default). So it's much like other modern languages in that regard.

    • @mettle_x
      @mettle_x 9 หลายเดือนก่อน

      @@torb-no null is a billion dollar mistake. A modern language shouldn't have null. Rust doesn't have null.

    • @torb-no
      @torb-no 9 หลายเดือนก่อน +6

      ​@@mettle_xNull is programming languges that have nullable types are equivalent to None of the Option-enum in Rust (and other languages).
      If you write your program in pure Kotlin (i.e. don't import legacy Java libraries) you have exactly the same kind of compiler guarantees against using null values (which means you won't get null pointer exceptions).
      Tony Hoar's null billion dollar mistake is that because null was not part of the type system. That is to say: if you had for example and object of a specific type, then null would be an acceptable value for that type.
      In languages with explicitly nullable types this is not the case. In those languages you have to explicitly say when a variable can accept null as a value and when you do the compiler will force you to check for that value before using it.
      This is semantically identical to using Option in Rust, which achieves the same thing by using the Option enum. In Rust's implementation, the None value is literally the same in memory as the null value would be in C.

    • @mettle_x
      @mettle_x 9 หลายเดือนก่อน

      @@torb-no Kotlin is not fully null-safe. Option type and null aren't the same thing. Kotlin allows risky unwrapping of nullable types using !! operator. There's no risky unwrapping of Option types in Rust. You must explicitly handle both the Some and None cases through pattern matching.
      Kotlin cannot guarantee null safety when receiving data from external sources (eg. Java-based interop code like Gson JSON parsing throwing null pointer exceptions, network responses, or databases) that doesn't not have the same null-safety mechanisms. These types lack explicit nullability information.
      "lateinit" in Kotlin allows you to delay the initialization of a non-nullable property. If you access it before it's initialized, you'll get a NullPointerException.
      Therefore, Kotlin is not fully null-safe.

    • @torb-no
      @torb-no 9 หลายเดือนก่อน +2

      ​@@mettle_x I mean, I think Rust is one of the safest languages (if not the *most*) of the popular languages out there.
      Had not considered lateinit. That's a good point.
      Option and null can absolutely be the same, it all depends on how it's implemented.
      Anyway, the reason I pushed back was because you acted as if Kotlin as exactly as type-less safe as Java when that's simply not the case. It's still *way* more typesafe that previous languages, so it's a very good stop-gap.
      (Hell, even Rust can get into unsafe territory with using external libraries, though, that part of the code is helpfully labeled ”unsafe”).
      Don't get me wrong though: Rust is great! So good to see a language with such a safety features get that kind of adoption!

  • @Sp1tfire100
    @Sp1tfire100 9 หลายเดือนก่อน +4

    Looks like C# for JVM, just use C#

    • @tom-delalande
      @tom-delalande  9 หลายเดือนก่อน +3

      That's a fair take. I like having the option of the JVM if needed though, and I prefer the Kotlin ecosystem. But I have heard that new C# has similar features.

    • @midoevil7
      @midoevil7 9 หลายเดือนก่อน +1

      If you have java codebase, or your experience is mainly in the jvm ecosystem, then it is easier to move to kotlin than C#.
      Also kotlin inherits the jvm multiplatform prowess, if that's a required feature.

    • @Sp1tfire100
      @Sp1tfire100 9 หลายเดือนก่อน

      @@midoevil7 c# is wat windows only?

    • @midoevil7
      @midoevil7 9 หลายเดือนก่อน

      @@Sp1tfire100
      "Theoretically", no 🙂
      But i don't remember a .net application that ran out of box with me on linux ...
      The jvm had multiplatform as main feature from the beginning, so, I would say it is more mature in this regard

    • @tiagosutter8821
      @tiagosutter8821 9 หลายเดือนก่อน +2

      @@Sp1tfire100 C# is not Windows only... i mean, it used to be, but not anymore 😅