KotlinConf 2019: What's New in Java 19: The end of Kotlin? by Jake Wharton

  Рет қаралды 182,529

JetBrains

JetBrains

Күн бұрын

Recording brought to you by American Express. americanexpres...
Kotlin's introduction was a breath of fresh air at a time when the pace of innovation in Java felt glacial. Since that time, development of Java has rapidly increased with an emphasis on fixing the pain points of the language and the efficiency of data representation in the VM. Will Kotlin still have a place in the JVM language ecosystem in a few years?
This talk will compare and contrast how the two languages approach solving the same problems of today's Java. We'll look at data-carrying types, asynchronous programming, nullability, and more. For some of these, we'll also see how one language sometimes influenced the other. Finally, we'll peer a few years into the future to see where both languages are headed and determine whether we still need a Kotlin (spoiler: we probably do!).
Resources:
KotlinConf website: jb.gg/fyaze5
KotlinConf on Twitter: / kotlinconf
Kotlin website: jb.gg/pxrsn6
Kotlin blog: jb.gg/7uc7ow
Kotlin on Twitter: / kotlin
#KotlinConf19 #Kotlin #JetBrains #Java JVM
About the Presenter:
Android engineer at Google working on Kotlin things.

Пікірлер: 276
@Xaxxus
@Xaxxus 4 жыл бұрын
By the time java 19 comes out companies might actually be on java 11.
@DavidThoren
@DavidThoren 4 жыл бұрын
I think you mean "By the time java 19 comes out companies might actually be on java 9."
@df-hh7yd
@df-hh7yd 4 жыл бұрын
@@DavidThoren It is more likely they will move to next LTS version which is java 11.
@nonamenoname5939
@nonamenoname5939 4 жыл бұрын
depends on the company, we are running multiple desktop, server and web apps on jdk13, and there is no issue with updating to latest.
@aegisxiii2384
@aegisxiii2384 4 жыл бұрын
That's a c++ joke.
@Sh1nGaming
@Sh1nGaming 3 жыл бұрын
@@DavidThoren I think you mean "By the time Java 19 comes out companies might actually still be on Java 8"
@zhou7yuan
@zhou7yuan 4 жыл бұрын
Variable Type Inference (Java 10) [3:59] Local Functions (Java 16/17) [7:15] Multiline Strings (Java 15) [10:38] Value-Based Classes (Java 15/16 Records) [18:20] Sealed Hierarchies (Java 15/16) [22:40] Type Matching (Java 15/16) [25:56] Destructuring [29:09] Coroutines [45:07] Executores.networkStealingPool() The end of Kotlin? [46:40] Java 16/17 Pattern Matching Java 14: Expression Switch Java 18/19: Inline Classes Java 16/17: Virtual Threads conclusion [47:21]
@JakeWharton
@JakeWharton 4 жыл бұрын
And if you're wondering why "inline classes" is in the summary but not the talk, skipped for time :(
@edinsonsanchez5591
@edinsonsanchez5591 4 жыл бұрын
The internet manual, rule 47: -Any youtube video phrased as a question can be answered with a simple NO
@PaulTomblin
@PaulTomblin 4 жыл бұрын
Edinson Sanchez Bederidge’s Law.
@hackerman7835
@hackerman7835 4 жыл бұрын
Applies to headlines, too.
@robthom09
@robthom09 4 жыл бұрын
Thanks, I thought so too.. now I don't have to watch the video.
@raghavmalhotra710
@raghavmalhotra710 3 жыл бұрын
The answer usually is "it depends"
@shoaibahmad6910
@shoaibahmad6910 4 жыл бұрын
Congratulate us, the Android developers who are still stuck at java 8, which isn't even fully supported!! We aren't gonna let Kotlin die
@neo-vj4zq
@neo-vj4zq 4 жыл бұрын
And with differing non spec behaviours
@andres-rodriguez
@andres-rodriguez 3 жыл бұрын
@Tired doctor yes you can. Try to work with new apps but to support any legacy code you would have to learn Java
@seriousskateboarding9938
@seriousskateboarding9938 3 жыл бұрын
@Umbrella Corporation How so? Only thing I see going for kotlin is a whole lot of hype, which isn't going to last. Android apps developed using java have better performance and less lag. It would appear to me java is superior to kotlin in almost every way. I'm not going to go learn a new language just so it can fix pointers for me. Or is there something I'm missing about kotlin that somehow makes it better than java?
@meidy3795
@meidy3795 3 жыл бұрын
@@seriousskateboarding9938 Java code seems more primitive and full of words, kotlin simplified it and clean
@harshar6897
@harshar6897 3 жыл бұрын
I was thinking about ultra native development
@KangoV
@KangoV 2 жыл бұрын
Java inline types and virtual threads will provide an insane performance boost allowing the CPU to avoid massive amounts of cache misses. When this is combined with the Vector API it'll be huge for SIMD processing.
@anthony452
@anthony452 4 жыл бұрын
"The end of Kotlin" *Obvious clickbait*
@__manish_kumar__
@__manish_kumar__ 4 жыл бұрын
But you are still here
@gilbertsenyonjo963
@gilbertsenyonjo963 4 жыл бұрын
Yeah. I am only here to see this "end of Kotlin" bullshit
@slayer5171
@slayer5171 2 жыл бұрын
That was Jake say for the Intro
@raianmr2843
@raianmr2843 Жыл бұрын
It was meant to be a joke entry for the talk afaik but he got greenlit and here we are
@PaulSCoder
@PaulSCoder 4 жыл бұрын
I really appreciate the example and comparison of destructuring. It's interesting to see some discourse over positional attributes and changes management.
@JonathanCottrell
@JonathanCottrell 4 жыл бұрын
Got clickbaited so hard. But I ain't mad because I still want to watch it.
@GagandeepSingh1984
@GagandeepSingh1984 4 жыл бұрын
Agreed!
@jsonkody
@jsonkody 4 жыл бұрын
it's not clickbait .. it's pretty obvious cause today version of java is 13 ._.
@Pulkit__7
@Pulkit__7 4 жыл бұрын
Lol watching it at 3 in morning, cause of clickbait
@mikew3752
@mikew3752 4 жыл бұрын
I think it's quite important that with Kotlin, you can clearly see variable definitions, and they line up. Makes reading the code easier. The same principle applies to the internal function. In Kotlin, you can see the `fun` word, and know it's a function. With Java, there was a `boolean` and then a name. Much harder to skim the code and realize there's an internal function.
@NaveenKumar-gv6yv
@NaveenKumar-gv6yv 4 жыл бұрын
Correct dude
@neo-vj4zq
@neo-vj4zq 4 жыл бұрын
Both are unreadable shit
@simioni
@simioni 4 жыл бұрын
*Title:* "The end of Kotlin" *Actual content:* "A million ways why Kotlin is better. But Java is scheduled to gain some of these features over the next few years." 😂😂
@barddoo
@barddoo 4 жыл бұрын
yeah, it will be most performative in Java, but it is still a promise
@hefaistoss1
@hefaistoss1 4 жыл бұрын
I think Java just recycling Kotlin and try for some kind of "resurrection" but Kotlin is a future. Still Java don't have null-safe calls. For other things i don't really care. Less code = less mistakes. And only way to produce "safe code" is with usage of null-safe calls and i don't mean check of nullability with if...
@neo-vj4zq
@neo-vj4zq 4 жыл бұрын
@@hefaistoss1 you are using lambdas when you shouldn't be
@alessandroautiero5414
@alessandroautiero5414 4 жыл бұрын
@@hefaistoss1 I use Java and Kotlin and together, they are obviously flexing about Java doesn't have, but if you know both at the save level, you'd know why Kotlin isn't as used as Java. Thought, I'd like null safety
@kamikakushi_
@kamikakushi_ 4 жыл бұрын
@@hefaistoss1 yes, you're right less code (or you could say, less complicated logic too) means less mistakes, but the truth is, I've seen a LOT of new developers who started learning kotlin from the get go, doesn't know sh*t on how the actual code works (i.e. how it work inside the system) and basically just use whatever the tutorial gave them and resulted in a less performant code (yes, it happens a lot. please DO look somewhere else around you). I don't really care about which one is the future programming language. The point is, once you get used to and understand how the internals are working together, no matter what programming language you use, you'll produce a code with less null-related errors
@compateur
@compateur 4 жыл бұрын
Another interesting competitor, which is not mentioned, is C#. Lately I'm focusing on C# and I see those features also implemented in C#. The way that Java implements 'smart casting'is the same as in C# (and it is already available). Coincidence? I don't think so. C# 8 also implemented nullable types, just like in Kotlin. I'm pretty sure that Oracle is also watching Microsoft's endeavors.
@YS-zk4wz
@YS-zk4wz 4 жыл бұрын
@rudolf de grijs Can they please make something like Blazor so Java code can compile into native webassembly like .net core can?
@GuiChaguri
@GuiChaguri 4 жыл бұрын
As he showed the "smart casting" feature in Java, I immediately thought of C# too. I don't think Oracle cares that much about Kotlin as a competitor as they care about C#
@kashishbansal1723
@kashishbansal1723 3 жыл бұрын
@@GuiChaguri Kotlin is more of companion rather than competitors because of interoperability. C#, on the other hand, lives in different ecosystem
@wassifmeskine3328
@wassifmeskine3328 Жыл бұрын
And you have in C# a code from version 1 that run on jdk 19 ?
@kashwaa
@kashwaa 3 жыл бұрын
Optional is the way Java introduced to deal with null safety. It's not a language feature, but you can use it anyway, if you need to. It's used by popular frame works as JPA.
@xpusostomos
@xpusostomos 4 жыл бұрын
Your daily reminder that you could do all this in LISP in 1958.
@KlavikP
@KlavikP 3 жыл бұрын
While keeping LISP simplicity and not adding stupid stuff every year. That's why I love Clojure.
@Nilzor79
@Nilzor79 4 жыл бұрын
What does he mean with "Kotlin has an IDE to potentially evolve in ways that Java cannot" (48:14)? IntelliJ also supports Java.
@harshar6897
@harshar6897 3 жыл бұрын
No. They suppress java
@andreaho4841
@andreaho4841 4 жыл бұрын
The title made me sick. I've just finished a Kotlin course.
@bamxuberant
@bamxuberant 4 жыл бұрын
Kotlin is the future.
@CoasterFreakDE
@CoasterFreakDE 3 жыл бұрын
@LeBlanco MOB Kotlin is not only for android programming lol xD I do modding and game development for windows/multiplatform in Kotlin xD
@pr0master
@pr0master 4 жыл бұрын
Great presentation!
@ArikAch
@ArikAch 4 жыл бұрын
Yesss
@dmitry-utkin
@dmitry-utkin 4 жыл бұрын
I've just finished a book about Java 1.0.2
@geoffreylee1780
@geoffreylee1780 4 жыл бұрын
The feeling of coding without generic for 8 years, go ask Go developer
@jasonleo
@jasonleo 4 жыл бұрын
Feels terrible, man!
@PaulSCoder
@PaulSCoder 4 жыл бұрын
In all seriousness with the velocity of Java releases do you think something similar to what happened with CoffeeScript will happen and Kotlin will be absorbed by Java 20. What I found very interesting is some of the Kotlin bytecode is calling Java bytecode. Are there examples of what kotlin does that isn't a terse transpilation on top of Java?
@mikew3752
@mikew3752 4 жыл бұрын
Strictly speaking, wouldn't it be JVM bytecode. All languages that run on the JVM have to transpile to the same bytecode in order to run on the JVM. It's just changes to the JVM bytecode are driven by changes/enhancements to the Java language only. Other languages have to create workarounds for features that aren't natively supported in the bytecode. For example, prior to JDK8, bytecode didn't support methods on interfaces. So Kotlin would work around it with classes and other manipulation. In fact, if you're on JDK8+ and want to use default methods on interfaces in your bytecode, you have to tell the Kotlin Compiler explicitly with @JvmDefault.
@PaulSCoder
@PaulSCoder 4 жыл бұрын
@@mikew3752 Thanks for giving me some clarification
@yoapps137
@yoapps137 4 жыл бұрын
@mike w you gave the most perfect example! I actually went through this in most of my lectures. And that's why I'm happy I've had my grounding in hard core Java cause once I work from that Interface all the way up to functional interfaces & lambdas.. Its then that the students get everything.. Even the Kotlin guys! ;-) Great answer!
@Dongdot123
@Dongdot123 4 жыл бұрын
I think what kotlin and java ecosystem lacks are a more standard toolchains. In go and rust world, I don't have to fight the toolings and choose which code standard that I wanted to choose. If only in kotlin I can just generate "kotlin init my-project" with all the minimal best practices, and no linter settings, just make it standard toolins. And if I could do "kotlin run" or "kotlin build", I think it will catchup to more developers.
@joachim5080
@joachim5080 2 жыл бұрын
Java has so much more robust tooling than go.. was that comment a joke?
@FADHsquared
@FADHsquared 2 жыл бұрын
@@joachim5080 Except Gradle is a tool hated by many developers worldwide.
@raianmr2843
@raianmr2843 Жыл бұрын
That and the pervasiveness of IDEs really turns me off. When other communities are busy working on easily pluggable, flexible tools for people to make more complex tooling on top of, the JVM world seems to start with bad abstractions, realize the mistakes halfway, and start over from scratch with an entirely new behemoth. Kotlin, despite being probably the most fun language that I've come across, is an absolute pain to get set up with anything outside of IntelliJ, which is a shame because it seemed like a perfect replacement to Python for scripting and online problem-solving purposes.
@noname78520
@noname78520 Жыл бұрын
@@joachim5080 i think he's refer to the simplicity of the tools, yes. as a java dev i know java has a lot of more mature an better tooling, is just that sometimes it's too complex, ant -> maven -> gradle they are all are different
@noname78520
@noname78520 Жыл бұрын
@@raianmr2843 yes i agree, but java at least has the jshell ( run java in a repl ) and you can also code in emacs/vim with an lsp plugin or vscode, kotlin doesn't even develop a proper lsp outside intellij
@thekye
@thekye 4 жыл бұрын
I very much enjoyed this talk. Clear, considered and unbiased comparison. Nice one.
@JetBrainsTV
@JetBrainsTV 4 жыл бұрын
Glad you enjoyed it!
@fmaylinch
@fmaylinch 4 жыл бұрын
Mmm, I didn't see properties, right? I mean getting rid of getters and setters in normal classes. Also, I hope Java does something to be able to use future features on previous versions, like Babel does for JavaScript. (I saw a similar tool, now I can't remember its name, but it was very beta).
@paulkarnaukh8258
@paulkarnaukh8258 2 жыл бұрын
Lombok?
@Majora96
@Majora96 4 жыл бұрын
Why is the java code missing the pesky semicolons that java requires but kotlin does not? Did I miss a massive upgrade to java that eliminates the need for semicolons everywhere?
@alpex92
@alpex92 4 жыл бұрын
It's so funny to listen about some cool features and syntactic sugar which Kotlin has, and Java will recieve 3 years later, assuming that some languages (Scala for example) already have them for at least 10 years.
@vibovitold
@vibovitold 4 жыл бұрын
Whatever features get bolted on Java, it's always done in this Javaesque, square, human-hostile syntax that feels clunky and absurd (to me)
@joachim5080
@joachim5080 2 жыл бұрын
When scala introduces features they usually shoot themselves in the foot. When java gets a new feature one can rest assured that it’s useful, stable and understandable. So i rather wait a few years before dealing with crazy junk
@raianmr2843
@raianmr2843 Жыл бұрын
@@vibovitold Hard agree. I was convinced that functional code is elegant by default until I saw functional Java.
@HoD999x
@HoD999x 4 жыл бұрын
i am going to ruin the talk for you: focus on the presenters breathing between words and sentences
@kabasakalis
@kabasakalis 4 жыл бұрын
The guy struggles to breathe.
@harshabhadra
@harshabhadra 4 жыл бұрын
😂😂
@thiagomiranda3
@thiagomiranda3 3 жыл бұрын
Thank God I didn't notice it. LOL
@lambda-code
@lambda-code 2 жыл бұрын
Very good
@udrulz123
@udrulz123 4 жыл бұрын
I'm still at java 8. Tried migrating to java 9, whole project crashed. Went back to java 8 🤣
@razamirza8675
@razamirza8675 3 жыл бұрын
@Tired doctor Yes you can
@JerreMuesli
@JerreMuesli 3 жыл бұрын
Get another job
@technicholy1299
@technicholy1299 2 жыл бұрын
This is like when Apple announces a feature that Android has had for years, but theirs is better for some incrementally small reason.
@mohammadrehankodekar9699
@mohammadrehankodekar9699 Жыл бұрын
that pattern matching shit is from erlang, good one java
@Skiamakhos
@Skiamakhos 4 жыл бұрын
The only Java version numbers that truly matter though are the LTS (Long Term Support) versions. So, Java 11, right now.
@ibukunokunoye4795
@ibukunokunoye4795 Жыл бұрын
It's exactly first of September 2022. Let's see
@AungThiha92
@AungThiha92 4 жыл бұрын
Does anyone know what kind of tool can create such presentation?
@christopherholmes559
@christopherholmes559 4 жыл бұрын
Prezi
@AungThiha92
@AungThiha92 4 жыл бұрын
@@christopherholmes559 Thank you!
@farble1670
@farble1670 4 жыл бұрын
When you actually have to write and maintain real code for a living you don't want rapid change.
@JeremyChone
@JeremyChone 3 жыл бұрын
Very nice balanced and informative presentation.
@HerbertLandei
@HerbertLandei 2 жыл бұрын
Just signed for an all-Kotlin job, seems like Kotlin survived :D
@donwald3436
@donwald3436 2 жыл бұрын
Java 19 is NEXT MONTH!
@BrandonLamb1
@BrandonLamb1 4 жыл бұрын
Cool video! Learned multiple new things!
@mambisizempare9671
@mambisizempare9671 4 жыл бұрын
After switching to GoLang from java spring .. my productivity has increased 1000% . Generics is a good add on but not essential 🤣
@BosonCollider
@BosonCollider 4 жыл бұрын
A better way to put it is that generics are essential for some applications and less for others. It's optional for Go's userbase mainly because developers who inherently need them to do anything useful have self-selected away from Go.
@mrabbas9
@mrabbas9 2 жыл бұрын
I would have trusted your statement if you weren't the type of people who exaggerate things to 1000%.
@iancuvlad7368
@iancuvlad7368 3 жыл бұрын
Java 15 September 2020, so accurate!
@daggerok
@daggerok 4 жыл бұрын
surprisedly nice talk
@thexs1118
@thexs1118 4 жыл бұрын
Holy shit he’s wearing a Circa Survive sweater!
@yatayu7328
@yatayu7328 3 жыл бұрын
... so when is Java getting extension methods/properties and inline/reified methods???
@jimmorrison2657
@jimmorrison2657 4 жыл бұрын
There currently seems to be an obsession with new 'language features'. It doesn't matter how gimmicky or silly they are, they will be accepted without question into the language. There used to be sensible debate about whether or not new features should be added, and quite often they were rejected. But now the flood gates have been opened and any ridiculous crap is welcomed into the language as soon as the devs can add it.
@simioni
@simioni 4 жыл бұрын
I agree with that sentiment in part, but the opposite is also true. The requirements for what languages should accomplish change along the years, and it was only very recently that developer experience took the front seat in language development. Compared with more modern languages, Java is super verbose and yet harder to read. Learning from the better parts of other languages is cool, and Java definitely needs some modernizing. Hopefully it'll not be redundant features just for the sake of it, but instead features that make the code easier to read and more pleasurable to write.
@jimmorrison2657
@jimmorrison2657 4 жыл бұрын
simioni I also agree with you in part. Languages have to change and adapt to new requirements and developers. And some of the changes that are happening are good.
@tschallacka874
@tschallacka874 4 жыл бұрын
I also agree. Some things are benificial, others make me think, why? It enables lazy hard to trace coding. But oh well, one doesn't have to use it.
@raianmr2843
@raianmr2843 Жыл бұрын
There's a place for Kotlin, and then there's a place for Go. Both are valid approaches to pl design with differing strengths and weaknesses. That said, one thing that I don't like about Kotlin is just how relatively unopinionated the language is. There're other "batteries-included" languages out there like Python and even Haskell but it's not as common for people to develop idioglossias in them as it is in Kotlin. For every single problem Kotlin seems to offer three more solutions, all of which happen to be equally promoted by the language's design.
@luciusartoriusdante
@luciusartoriusdante Жыл бұрын
Really interesting talk.
@Madoc_EU
@Madoc_EU 4 жыл бұрын
So both Kotlin and Java will continue to take in features that Scala already has right now, but at a rather slow pace.
@raianmr2843
@raianmr2843 Жыл бұрын
basically what C# does with F# 😂
@JerreMuesli
@JerreMuesli 3 жыл бұрын
Not even 1 minute in and he started trolling Go. How serious should I take this talk...
@hohojimmy4443
@hohojimmy4443 4 жыл бұрын
what?Java 19 is coming ,im still use java 8 🤣
@shijinphilip6500
@shijinphilip6500 4 жыл бұрын
I think majority is still using java 7 and 8
@sanglin9387
@sanglin9387 4 жыл бұрын
dam i though writing android 9 java 8 latest ,, haish
@_slier
@_slier 4 жыл бұрын
The only thing that gonna make kotlin alive is Native..other than that, all the kotlin feature will be implemented in java..Thx to kotlin because make java a better language
@HendraWijayaDjiono
@HendraWijayaDjiono 4 жыл бұрын
48:14
@byunghwara
@byunghwara 4 жыл бұрын
"The only thing that gonna make kotlin alive is Native..other than that, all the kotlin feature will be implemented in java..Thx to kotlin because make java a better language" Not true. Google is a huge supporter of the Kotlin language. Even if Java was able to become even better than Kotlin in the future, Google would still prefer Kotlin because the last thing Google wants is another lawsuit with Oracle.
@meidy3795
@meidy3795 2 жыл бұрын
I do not see a boilerplate language like java could potentially adapt all kotlin features.By the time kotlin more advance,java might only adapt val features in kotlin lmao.As you can see,java code is really taking much boilerplate code than kotlin to do the same thing.And,with the presence of jetpack compose,kotlin features language which became more advance and google support,i do not see java could even stand a chances again flutter,let alone kotlin.so yeah
@n6rt9s
@n6rt9s Жыл бұрын
Java 19 is finally out!
@SachithDickwellaPrasanna
@SachithDickwellaPrasanna 4 жыл бұрын
Great presentation. But one question, Hasn't Java tackle 'null' with 'Optional' in Java 8 already?
@GuiChaguri
@GuiChaguri 4 жыл бұрын
Not in the same degree. You don't have idiomatic non-nullable object types, you can still null any object in Java, no matter if it's wrapped around a Optional or not
@java3038
@java3038 4 жыл бұрын
@Niklaus Bucher your point is spot on. Optional actually makes things worse since Java still cannot represent things that are non-null. Kotlin: - String means "not null" - String? means "maybe null" Java: - String means "maybe null" - Optional means "the optional can be null or the string can be null"
@typingcat
@typingcat 2 жыл бұрын
Isn't likely that Java only began to change in 2004 because .NET got popularity and Java was behind C# in terms of modern features?
@TheWitzig
@TheWitzig 4 жыл бұрын
Great talk! :)
@BosonCollider
@BosonCollider 4 жыл бұрын
Apart from nullability he forgot to mention operator overloading. Massive miss by Java which makes any kind of avanced math in it feel like you're writing COBOL
@JakeWharton
@JakeWharton 4 жыл бұрын
Second on my list would probably be extension functions! There's a lot of other things which I think are nice-to-haves, but nullability feels like the really foundational omission from Java's future.
@omeraydindev
@omeraydindev 3 жыл бұрын
agreed. I know everyone was hyped up about nullability stuff in kotlin when it got popular and stuff but when I first discovered kotlin, the thing that amazed me the most was extension functions. I guess it looked too good to be true to an Android developer like me who is mostly stuck with Java 7/8 :')
@SourabhBhat
@SourabhBhat 2 жыл бұрын
I guess he has not included operator over-loading because it can be added in future, unlike nullability which cannot be removed without breaking existing code.
@KotlinTv
@KotlinTv 4 жыл бұрын
Great Content keep it up bro!
@kennethcarvalho3684
@kennethcarvalho3684 2 жыл бұрын
Why is Java rushing with its versions??
@raianmr2843
@raianmr2843 Жыл бұрын
Marketing gimmick. Same happened with web browsers.
@calmchess2515
@calmchess2515 4 жыл бұрын
These few features are going to kill off kotlin? I doubt it I can code Kotlin way faster than Java. The amount of time I save typing kotlin compared to Java is 10 fold
@Fr3ddeh
@Fr3ddeh 2 жыл бұрын
Imagine live conferences being a thing again when Java 19 is released xD
@leomak7580
@leomak7580 4 жыл бұрын
really nice talk )
@mrabbas9
@mrabbas9 2 жыл бұрын
The end of Kotlin? The answer is at @48:37
@sadeghsaati1335
@sadeghsaati1335 4 жыл бұрын
Does anyone know how old Jake is ?
@alexeylugovskoy9487
@alexeylugovskoy9487 4 жыл бұрын
Why only idea supported? What about other ide?
@damienstanton
@damienstanton 4 жыл бұрын
Kotlin works well in VSCode as well as Vim.
@nimaparsa5960
@nimaparsa5960 4 жыл бұрын
@@damienstanton VSCode ? not sure fully support
@damienstanton
@damienstanton 4 жыл бұрын
@@nimaparsa5960 Yeah, the "official" preview plugin uses Kotlin Language Server (like the Vim one): marketplace.visualstudio.com/items?itemName=fwcd.kotlin
@zozazu7650
@zozazu7650 4 жыл бұрын
Kotlin works in eclipse with pluggin and vs code etc.
@enrico3527
@enrico3527 4 жыл бұрын
Kotlin main purpose is to promote their ide which is idea
@ChazAllenUK
@ChazAllenUK 4 жыл бұрын
Java 19?!? I thought 13 just came out!!!
@kenocontreras
@kenocontreras 4 жыл бұрын
watch the video first.
@ChazAllenUK
@ChazAllenUK 4 жыл бұрын
@@kenocontreras - It's on my watch later
@6fixedrob
@6fixedrob 4 жыл бұрын
We being fooled
@TheCodeAcademy
@TheCodeAcademy 4 жыл бұрын
September 22 is when java 19 will come out
@barddoo
@barddoo 4 жыл бұрын
in some decades, the will be no numerical possibility to represent Java version
@jamalmikrotik673
@jamalmikrotik673 4 жыл бұрын
Java its Monster
@CopernicoTube
@CopernicoTube 4 жыл бұрын
Under Oracle, Java as a language is still kicking, but as platform is almost dead. JCP is dead. Oracle was the worst possible successor for Sun Microsystems. Welcome, Kotlin! I loved Java, but we are not engaged anymore.
@mosup5007
@mosup5007 4 жыл бұрын
you made me lough althogh if any thing in java is loosing populerity is the java language not the java platform jvm because it runs dozens of languages and java kotlin among others is just one of these languages and java in the enterprise developement is one of the best if it was not the best
@CopernicoTube
@CopernicoTube 4 жыл бұрын
@@mosup5007 dude, English isn't my native language to have any authority about, but I think you need some improvement here. Keep studying. When I said Java as a platform I was referring its stack, not the JVM itself. Even so, you need to remember that JVM isn't the only virtual machine based technology anymore, and even Java language doesn't compile just to it. On Android, for instance, Java never compiled to JVM. The old Dalvik machine had success where the JVM ever failed: mobile devices. And the new ART keep doing it. Is still unpractical run JVM even on modern mobile devices (with a power of old PCs and even not so old) because is so heavy and slow. About Kotlin, the language compile/run against really a LOT of environments. Even JavaScript on a web browser! Any VM supporting dynamic invoking can run it. JVM included. About Java as language, it not aged nicely. Again is probably Oracle's fault by the lack of JCP involvement, but the sintax became really messy across time. So many syntactic sugar, the lambda implementation isn't exactly the best possible, so many things solved with preprocessors (annotations) instead language specs, etc. Project jigsaw also destroyed the platform backward compatibility (a thing that we was proud in the past) In old times, if you had a self contained executable jar file you knew that you can run it anywhere against any JDK or JRE implementation. Now, so many old files doesn't run anymore by lack platform libraries, *even when you put the libraries in the classpath* because the classloader isn't accepted to that libraries. Is a damn pain in the neck. Old Java just worked. Write Once, compile once, Run Anywhere. Isn't like that anymore. My final advice to you: technology change across time, like people. Don't be like a cheerleader to any kind of tech.
@voronoit4091
@voronoit4091 4 жыл бұрын
@@CopernicoTube I worked for the biggest cloud companies you can name and I can say that at least 80% of codes is written in Java and still used in new projects.
@meidy3795
@meidy3795 2 жыл бұрын
@@voronoit4091 Yeah because transition is the most pain in the butt to do it.But luckily,the presence of jetpack compose,which only available on kotlin,with so much less codes and huge feature served in it,would likely a game changer in mobile development
@mkante8134
@mkante8134 3 жыл бұрын
Release 19, Java still has no string interpolation? No need to watch the rest of the video - DISLIKE
@omeraydindev
@omeraydindev 3 жыл бұрын
as much as String interpolation looks cool, it can (and WILL) break existing code if it gets added to java later on. imagine having a string that is like String s = "test $something"; then you updated your java version to which they added string interpolation and getting a compiler error "Variable 'something' cannot be resolved "
@harshitagrawal2410
@harshitagrawal2410 3 жыл бұрын
Literally came here from introduction to kotlin vedio feeling very stupid.
@itheblackwolfofmyfamily
@itheblackwolfofmyfamily 4 жыл бұрын
should I be worried if I am still learning java 8?
@tizon509
@tizon509 4 жыл бұрын
Poeple just get paid to post 'The end of X'. Unfortunately I will not continue to watch the video. Not because I'm a kotlin supporter, but because I was a victim of those marketings.
@igrai
@igrai 4 жыл бұрын
Too much precious time dedicated to string formatting topics
@alessandroaiezza4339
@alessandroaiezza4339 4 жыл бұрын
For real!!! Who cares! Right?! smh
@emmanuelmtali1594
@emmanuelmtali1594 4 жыл бұрын
@@alessandroaiezza4339Sure no one cares LOL
@geekthegeek730
@geekthegeek730 3 жыл бұрын
Kotlin is a bless to all developers
@Amitkumar-dv1kk
@Amitkumar-dv1kk 4 жыл бұрын
I'm still in java7 😭😭
@Strannik20111
@Strannik20111 3 жыл бұрын
If you want to know what is real suffering you should downgrade to Java 1.1
@harshar6897
@harshar6897 3 жыл бұрын
If it wasnt for android and google's pressure on developers, kotlin would not even had a chance even to end.
@TheRealFFS
@TheRealFFS 3 жыл бұрын
So? 🤷‍♂️
@harshar6897
@harshar6897 3 жыл бұрын
@@TheRealFFS java isn't something all about oracle. Kotlin is still dependant on some other language, mostly java. I got nothing against kotlin itself. But it feels like too much when they mock/asperse java . It's like asking to demolish the ground floor once first floor is completed.
@TheRealFFS
@TheRealFFS 3 жыл бұрын
@@harshar6897 What are you talking about? I have no idea what you're trying to say, or what your reply has to do with your original post. I don't think they're mocking anything. It's competition, and that's good. Java is trying to keep up as best as it can, but some of its primary faults still remain, mainly 'null' and its verbosity. The best thing it has going for it is its large ecosystem and user base.
@raianmr2843
@raianmr2843 Жыл бұрын
That's true, just like how the same is true for Java because of the billions of dollars that went into its marketing and the absolutely horrendous OS-specific APIs of that time.
@RobRoss
@RobRoss Жыл бұрын
Please don’t call these things destructors. Even “deconstructor” isn’t a very good name, but it’s much better than destructor, since nothing is being destroyed. Also that name is already used by C++ for actual object destruction(freeing memory). In python, the concept under discussion here is called “tuple unpacking.” I’d start with that.
@ulicqueldromal
@ulicqueldromal 10 ай бұрын
I disagree. Deconstructor is a perfectly good term since we reverse the constructor. Especially since we already have a tupel class and this code works with tupel in Kotlin but not only.
@web3tel
@web3tel 4 жыл бұрын
Nullability argument is very weak. Java solved nullability issue by introducing Optional which happens to be Functor(map) and Monad (flatMap).
@scottmacwatters
@scottmacwatters 4 жыл бұрын
Next time I get an NPE in production, I'll be sure to call you to ask why nullability is solved. As long as you can compile code which gives you NPEs, I wouldn't consider nullability solved. I'm all on the java train for most things. It's a strong language that can do it all -- including crash your system because you forgot to check for null in a weird case which is now the normal case.
@web3tel
@web3tel 4 жыл бұрын
@@scottmacwatters Never use null. Use Optional instead. Using null in Java today is like using !! at Kotlin. In fact looking at kotlinlang.org/docs/reference/null-safety.html, I see there plenty holes at Kotlin null safety. Please don't get me wrong I agree that null safety at Kotlin as elegant, but is is far away from being killer feature.
@RobBygrave
@RobBygrave 4 жыл бұрын
Until the JVM has value types (and Optional becomes a value type) using Optional has extra overhead with the extra object reference lookup vs Kotlin null checking which is compile time. You can use Optional with Kotlin if that is your thing but Optional isn't "free" wrt runtime cost.
@web3tel
@web3tel 4 жыл бұрын
@@RobBygrave it is right, but Scott's point was that even for long run Kotlin will stay superior to Java.
@martintilsted6624
@martintilsted6624 4 жыл бұрын
No they did not. Java still lacks the ability to say that a reference can not be null. And the official documentation say that optional should only be used as a return type, not as an argument type. The main reason for this is that if a function takes an optional, the code can still call it with null. Also the optional syntax in java is insanely verbose. Just try to compare the code needed to call a method on a reference if it's not null. And the Kotlin compiler is so smart, that if you have tested if a reference is not null, the compiler know this so later in the code it will be ok to use the reference as if the type was "can't be null". Optional in java was created to only solve the problem of how to signal that an return value was optional(Could be null). it does solve this specific problem, but that is only a very small part of the null problem. In kotlin you can use the type system, to do a static verification that this program can newer throw a null pointer exception*. Doing that in java is impossible. This is one of the reasons that we are currently looking at moving from Java to Kotlin(On a jvm) for our furture server side code. That way we can still use all the great java libraries.
@sagittarius5315
@sagittarius5315 4 жыл бұрын
I will be happy if they make string one of the key words such as int, float and... IT IS ANNOYING
@911SuperGT
@911SuperGT 4 жыл бұрын
Why? String is better of as a class than a datatype.
@sagittarius5315
@sagittarius5315 4 жыл бұрын
​@@911SuperGTIn my opinion it would be better to become a datatype and has a wrapper class(I don't know why it shouldn't... I'll be thankful if someone explain it)
@pappont
@pappont 3 жыл бұрын
During the whole video I was thinking: but Java won't have nullability! And yes, in the end Jake said it. Just because of nullability Kotlin will remain much more convenient and efficient, than Java
@zedisdeadz
@zedisdeadz 4 жыл бұрын
TLDR; The answer is no
@Kabodanki
@Kabodanki 4 жыл бұрын
Oracle, what a sad word
@_slier
@_slier 3 жыл бұрын
but java forced you to do everything in OOP which is sucks..no thank you
@psinghiitr
@psinghiitr 4 жыл бұрын
Java is killing jvm langs by copying.
@mihkellukats4773
@mihkellukats4773 4 жыл бұрын
And that's a good thing! :D
@gardenhouseNemurin
@gardenhouseNemurin 2 жыл бұрын
Java is literally what gave birth to those languages and allowed them to prosper in a platform-independent environment
@randfur
@randfur 4 жыл бұрын
That positional destructuring is pretty gross.
@daniela9171
@daniela9171 4 жыл бұрын
end of Kotlin ? LOL.. clickbait nonsense
@krokenstiv8777
@krokenstiv8777 4 жыл бұрын
I used Kotlin for a while and I made a conclusion that Java is better. Kotlin's ? is practically dangerous.
@yoapps137
@yoapps137 4 жыл бұрын
I agree too.. But tell that to a Kotlin fan boy and see the nonsense you get back! Hahahaaaaa Yes Kotlin might have some cooler features but in no way it has the depth of Java.. No way. No chance. Java will always be the beast. And as time goes on.. It'll just get more & more refined. Love it or hate it.. It delivers. See my comment on this same video..(by the way already attacked by Kotlin fan boys!!!)
@artemurubkov3588
@artemurubkov3588 4 жыл бұрын
Guys, you just haven't used Kotlin deeply. It is for 100% compatible with Java. 1. Q: what you use instead of coroutines? 2.Ok, let's imagine, you invokeMethod1, then wait for result of some Callback{onSuccess(sResult); onFailure{fResult}}, then invokeMethod2(sResult), and process Exceptions -> please provide here your implementation in Java
@scriber36
@scriber36 4 жыл бұрын
Why is Kotlin's ? dangerous? It clearly specifies, that you must expect to receive null value. From that point, you either: - a, handle null case safely - b, don't care about mountains of warnings THEN fail I don't see what is dangerous about this, especially that in Java you kinda always should expect null, or make assumptions about being nonnull and make sure your assumptions are met. You can use annotations for that, but hell it is so verbose to annotate everything instead of just one ? character extending the type system with nullability, which IS the proper way to integrate null into the system - as C# noticed it too and is now applying the ? nullable type thing to reference types too. It is dangerous not to know whether some method is expecting null or not and whether you receive null or not. Throwing an exception upon receiving null is digusting imo, it should be part of specification (some write it in JavaDoc, but that is not compile checked), so part of the type system. Optional is a completely different tool. You cannot use Optional for every parameter where you expect a value or null, that would look ridiculous. I loved and use Java every day at work, but Kotlin does nullability a hell lot better. Java IS null-dangerous, Kotlin is not. In Kotlin null is not danger, it is a useful tool. In Java you better use Null Object Pattern for safety, which is a half solution, in Kotlin there is no need to, because null policy must be specified everywhere (via ?'s).
@artemurubkov3588
@artemurubkov3588 4 жыл бұрын
@@scriber36 To my mind, null-safety is really not so great+explicit in Kotlin, just because of !! operator is required some time. Yet, there are: sealed classes/coroutines/StringUtils/semicolons )))
@scriber36
@scriber36 4 жыл бұрын
@@artemurubkov3588 Kotlin states never use the !! operator - if you use it you are a bad Kotlin programmer in most cases - that is written in its specification. You are never forced to use it, since you can do the same safely via a null-check or use the ?. operator if null result is acceptable.
@kemuri22
@kemuri22 4 жыл бұрын
this guy has real trouble breathing though
@cas1652
@cas1652 4 жыл бұрын
it's a bit infuriating to see that the Java designers can not get out of the habit of making their language clumsy and cumbersome. Why in gods name are they dropping whitespaces in multiline strings? They are actually adding more weird java things to think about that distracts from writing your application when they should be getting rid of them. Why are they dropping the beans conventions for records of all things? For decades now we built everything on top of beans and now? I predict people are going to use linters to ban using the new Java Records because they break the whole ecosystem.
@AbhijithVMohan
@AbhijithVMohan 4 жыл бұрын
Records are nicer for data only objects. Less boilerplate without using annotation magic like lombok, immutability etc. Less code means less bugs and more time for coding the application. Javabean way is already considered as a less favourable way in books like effective java
@dariy1999
@dariy1999 4 жыл бұрын
I do not agree on the beans point at all, you're making it sound like things that are already years in development are going to embrace Java 14 etc with open arms and migrate. Very few big projects are moved at all. Records are a new approach for an old thing, designed for new projects and faster and easier development. People always talk about how writing something in another language is much less verbose, but that is a new language, a new project - no mention of changing the existing code base. Same thing here, new versions of existing tools will adjust and new projects will thrive. And I also love the getters without "get", so much cleaner. Agree with you on the first point about the spaces though, that's a weird one
@tschallacka874
@tschallacka874 4 жыл бұрын
Mhhh, it sounds more like controllers and models to me like in laravel php. The bean controls, the record holds data. Up to the dev how to implement it though.
@cas1652
@cas1652 4 жыл бұрын
guys beans is the convention that a property foo has getter getFoo() and maybe a setter setFoo(value). For records they'll make it foo(), breaking everything that expects the beans convention, so essentially every library and application that generically reads data from objects.
@tschallacka874
@tschallacka874 4 жыл бұрын
@@cas1652 if you're familiar with laravel style models its actually okay. Of course it would break older java ruts, but transitioning from php/laravel to java would be easier. It gives a kind of flexibility in approach.
@jankodera5811
@jankodera5811 4 жыл бұрын
Java (rabbit) will never catch Kotlin (turtle). Because Kotlin introduced improvements to Java, right? When Java catch up with those improvements, Kotlin will be more advanced in the meantime. And again, and again. *That's why Kotlin will always be more advanced than Java.* Got it? 😜
@captspeedy1899
@captspeedy1899 4 жыл бұрын
Mika Mikic no becus Oracle enginairs > Jetbrein enginaires
@jankodera5811
@jankodera5811 3 жыл бұрын
Yes
@determinator4491
@determinator4491 4 жыл бұрын
your anwer 48:38
@athulp6591
@athulp6591 4 жыл бұрын
A clickbaiter admitting this is a clickbait. That's a first.
@emmanuelmtali1594
@emmanuelmtali1594 4 жыл бұрын
Java is trying too hard
@raffayhussain6717
@raffayhussain6717 2 жыл бұрын
Why is this dude breathing so heavy
@masteryauda5544
@masteryauda5544 3 жыл бұрын
why is this guy talking about JAVAsyntax as if Kotlin was the first one to do ALL of the features?
@raianmr2843
@raianmr2843 Жыл бұрын
most kotlin people were java people, all of these were news to them just how kotlin is still news to current java people
@hackerman7835
@hackerman7835 4 жыл бұрын
Always dislike clickbait videos
@byunghwara
@byunghwara 4 жыл бұрын
I'd say it's sarcasm, not clickbait.
@pauortega2558
@pauortega2558 2 жыл бұрын
Can someone give this man a jar of water!? He's dry as hell!!
@lx2222x
@lx2222x 3 жыл бұрын
Java is one of the worst languages in the world. Thank god for allowing us to use Kotlin 🙏
@neo-vj4zq
@neo-vj4zq 4 жыл бұрын
Pushing unreadable shit. Why? Why is there a push away from types in managed memory? No types make worse code, reduce readability, less efficient for the machine and the human. You can doesn't mean you should
@seancpp
@seancpp 4 жыл бұрын
Java is like the out-of-touch old man that tries to follow memes but doesn’t really “get it” It’ll always be playing catch up to the likes of C# or Kotlin, which are just simply better languages by all accounts in my opinion.
@yoapps137
@yoapps137 4 жыл бұрын
Congratulations to all Android Developers who never fell victim to the Kotlin hype Google created just bcz Oracle is gona sack their ass of $9billion!!! I use Kotlin, sure its nice.. But I will always remember the backbone of all great programming will always be JAVA!
@tdsora
@tdsora 4 жыл бұрын
kotlin is not hype. ur just missing out while the rest of us enjoy how much better kotlin is than java
@yoapps137
@yoapps137 4 жыл бұрын
I'm not missing out on shit.. I use Kotlin.. And thank my lucky stars my grounding was in Java & C#. And I don't make a living by playing fan boy to groups, teams or languages... I've been in the industry for more than 22yrs now and can safely say this like all the real guns - No matter what you do with your IT skills, Java will align with the future. Take a close look at dart today and tell me how many Python guys can pick it up faster than Java guys. Take a closer look at graalVM.. And tell me how many JS guys really get the idea from where that kick is coming. I'm not saying C or C++.. That might be a bit too much.. But Java is surely the one to not trade away for Kotlin. Flutter has already started proving cooler.. So if you ask me, your the guy missing out on cool stuff with Dart.. And hard core stuff with Java!!!
@jatinrana7998
@jatinrana7998 4 жыл бұрын
@@tdsora it's all hype , used it and now back to java. Kotlin is good though but not worth switching.
@yoapps137
@yoapps137 4 жыл бұрын
@@jatinrana7998 .. Well said ;-) I only use it when I'm forced to.. Otherwise Java is insane! Love it or hate it.. It'll just keep getting better and better.. All these piddly little decorational advantages they say Kotlin has won't be visible post the next 2-3 updates in Java ;-)
@jatinrana7998
@jatinrana7998 4 жыл бұрын
@@yoapps137 i also hate it when client force me to use kotlin who have no knowledge of programming, they ask for it because somebody told them kotlin is cool.
@teenspirit1
@teenspirit1 4 жыл бұрын
TL;DR no
@mdzaid5925
@mdzaid5925 4 жыл бұрын
Dont talk shit man, i just moved to kotlin!
小蚂蚁被感动了!火影忍者 #佐助 #家庭
00:54
火影忍者一家
Рет қаралды 52 МЛН
Magic trick 🪄😁
00:13
Andrey Grechka
Рет қаралды 32 МЛН
Look at two different videos 😁 @karina-kola
00:11
Andrey Grechka
Рет қаралды 9 МЛН
Harley Quinn's plan for revenge!!!#Harley Quinn #joker
00:49
Harley Quinn with the Joker
Рет қаралды 27 МЛН
10 Kotlin Tricks in 10 ish minutes by Jake Wharton
17:24
Devoxx
Рет қаралды 68 М.
A Complete .NET Developer's Guide to Span with Stephen Toub
1:02:48
Understand Kotlin Coroutines on Android (Google I/O'19)
37:49
Android Developers
Рет қаралды 174 М.
KotlinConf 2019: Opening Keynote by Andrey Breslav
46:19
JetBrains
Рет қаралды 35 М.
The Tragedy of systemd
47:18
linux.conf.au
Рет қаралды 1,1 МЛН
Why we can't have nice things in Kotlin | Vsevolod Tolstopyatov
13:34
Kotlin by JetBrains
Рет қаралды 11 М.
The Greenwich Meridian is in the wrong place
25:07
Stand-up Maths
Рет қаралды 708 М.
The Clever Way to Count Tanks - Numberphile
16:45
Numberphile
Рет қаралды 902 М.
Слетела прошивка на LiXiang L7
1:01
Настя ЧПЕК Туман
Рет қаралды 3,2 МЛН
Bluetooth connected successfully 💯💯
0:16
Blue ice Comedy
Рет қаралды 3,7 МЛН
Yanlışlıkla Telefonumu Parçaladım!😱
0:18
Safak Novruz
Рет қаралды 7 МЛН
Как бесплатно замутить iphone 15 pro max
0:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 8 МЛН
Rate This Invisible Smartphone ⭐
0:11
Shakeuptech
Рет қаралды 603 М.
Новая функция в Xiaomi! Apple скопирует?
0:45
ÉЖИ АКСЁНОВ
Рет қаралды 1,2 МЛН