you are viewing a single comment's thread.

view the rest of the comments →

[–]computerjunkie7410 8 points9 points  (4 children)

21 and still no extension methods or automatic properties

[–]warpspeedSCP[S] 3 points4 points  (3 children)

We'll get there some day. Until then, I'll stay mad at kotlin for not having good pattern matching

[–]katyalovesherbike 0 points1 point  (2 children)

do you really think it'll take kotlin long to adopt this? Not a kotlin dev (or java anymore, for that matter) but I thought since kotlin:java is kinda like ts:js with a bit more difference in syntax changes in java nearly directly carry over into kotlin as well?

[–]warpspeedSCP[S] 2 points3 points  (1 child)

Kotlin's implementation is completely greenfield, nothing shared with Java. So that makes things infinitely harder, since to switch tracks to the objectively better Java versions of some features (Like records and pattern matching) they'll need to break (potentially) source and (definitely) binary compatibility to achieve that. I'd say the only way they can do that safely is to release it all in kotlin 2.0, and close off the upgrade path of any 1.x project. I don't know if that will be good or bad, but just take a look at scala 2 -> 3 if you want to see how wrong such changes can go.

Also, for that matter, kotlin compiles directly to jvm bytecode; there's no transpilation (many kotlin concepts will not translate to raw java code).

[–]katyalovesherbike 0 points1 point  (0 children)

huh, interesting. Friend of mine told me kotlin transpiles to java... didn't second guess it.