Kotlin 2.0.0 正式版发布了

2024-05-22 10:55:25 +08:00
 fuhanfeng

https://kotlinlang.org/docs/whatsnew20.html

GPT-4o 的总结:

Kotlin 2.0 亮点

  1. K2 编译器

    • 稳定:默认用于所有平台,性能显著提升。
    • 性能:编译了 1000 万行代码,测试了 18000 开发者和 80000 项目。
  2. IDE 支持

    • 新版 Kotlin 插件捆绑在 IntelliJ IDEA 和 Android Studio 中。
  3. Gradle 集成

    • 新 DSL:用于多平台项目的实验性编译器选项配置。
    • Compose 插件:增强对 Jetpack Compose 的支持。
  4. Lambda 函数

    • invokedynamic:生成更小的二进制文件,但 lambda 不可序列化。
  5. Kotlinx-metadata-jvm 库

    • 稳定版本,提供读取和修改 JVM 二进制文件元数据的 API 。
  6. Kotlin/Native 增强

    • GC 监控:在 Apple 平台上改进垃圾回收性能监控。
    • 方法冲突解决:改进与 Objective-C 方法的冲突处理。
  7. Kotlin/Wasm

    • 支持命名导出和无符号原始类型的 @JsExport 函数。
  8. 智能类型转换

    • 改进 ifwhenwhile 块中的智能类型转换,减少手动类型断言。

Kotlin 2.0.0 语言层面没有新特性,但是引入 K2 编译器,提高了性能。

想问一下大家上海/杭州有用 Kotlin 做服务端的公司吗?

9972 次点击
所在节点    Kotlin
51 条回复
SoloCompany
2024-05-22 13:30:57 +08:00
java 应该引入一个 suppress annotation 让编译器允许 lambda 內抛出的 checked exception 只污染外部方法签名
fuhanfeng
2024-05-22 13:43:40 +08:00
@hepin1989 #17 Kotlin 之于 Java ,最大的好处还是 Null safety ,从语言层面去解决这个问题。

@hronro #18 具体指的是什么?

@SoloCompany #20 Java 的 lambda 和 steam 更像是语法糖
stdying
2024-05-22 13:56:33 +08:00
@hepin1989 Scala3 还有项目用吗
zhady009
2024-05-22 14:06:25 +08:00
@fu82581983 扩展函数、重载操作符、DSL 、主构造函数、参数默认值、灵活好用的线程操作 API 等等 反正我是一点不想写 Java 了
fuhanfeng
2024-05-22 14:17:00 +08:00
@zhady009 #24 有人问我 Kotlin 比 Java 语法上哪里好,我一下子还想不起来,你说的这些都是优势,而且比 Java 的类型推导也更强大
lonenol
2024-05-22 14:36:08 +08:00
@fu82581983 我比较喜欢的是 1. 集合相关的操作,完爆 stream 2. 扩展函数 3. 字符串模版, 虽然 jdk21 也引入了字符串模版的预览版,不过论好用,差了 kotlin 八条街
tangqiu0205
2024-05-22 14:39:52 +08:00
@qinfengge #12 JB 家的 Ktor 也可以看看,https://ktor.io/
tuokamuta
2024-05-22 15:46:00 +08:00
我 Scala 好羡慕他们有有钱爹啊

Tips: Scala 3.5.0-RC 发布了!!!
fuhanfeng
2024-05-22 16:02:02 +08:00
@tuokamuta #28 哈哈,有两个爹
luoshuimumu
2024-05-22 16:11:32 +08:00
官方支持归支持 但是你们真的会用 kotlin 写 spring 吗??上生产的那种
zhywang
2024-05-22 16:17:31 +08:00
上次用 kotlin 写后端已经是 5 年前了,我的评价是 kotlin 就是加足了语法糖的 java ,齁甜
fuhanfeng
2024-05-22 16:28:30 +08:00
@lonenol #26 Kotlin 给人的感觉更现代,更符合人的直觉。

@luoshuimumu #30 https://www.v2ex.com/t/1025262 参考这个帖子,用的人还是不少的,不过 Kotlin 在移动端使用比例大,服务端的确很少

@zhywang #31 语法特性的确很多,新出来的语言除了 Go ,其它语言也差不多,包括 Rust 特性非常多,不过日常编码其实用得不多,但是用到的时候会觉得比较优雅
lonenol
2024-05-22 18:41:15 +08:00
@luoshuimumu 我们已经上了,体验良好,不过是混用,希望写 Java 的继续写 Java
Jirajine
2024-05-22 18:59:17 +08:00
@kuanat kotlin 就别想 LSP 了,jb 为了卖自家的 IDE 不可能提供支持。
kuanat
2024-05-22 19:45:14 +08:00
@Jirajine #34

官方早就说过不想做 LSP 了,之前我试了一段时间那个第三方做的 LSP ,差得还是有点远。所以我说希望 LSP 跟 IDE 能跟上,达到八成水平,支持我用 neovim/VS Code + LSP 就很满意了。这个事情上有得选是第一步。
superchijinpeng
2024-05-22 19:57:02 +08:00
Loserzhu
2024-05-22 22:56:34 +08:00
@superchijinpeng 不会是新区那边的某达科技吧?做安防 监控 视讯的
luoshuimumu
2024-05-23 09:37:47 +08:00
@lonenol #33 新项目还是老项目呢?我这边的 java 的也是觉得没有特别切过去的理由

@superchijinpeng created 4 months ago ,新项目? java 占比这么低是没有复用公司现有的 java 脚手架之类的?
@fu82581983 #32 确实移动端用的多,我的移动端朋友也有少数不会 kotlin 的,依旧混得很好=。=
superchijinpeng
2024-05-23 10:35:06 +08:00
@Loserzhu 不是
superchijinpeng
2024-05-23 10:36:13 +08:00
@luoshuimumu #38 随便截了一个项目, 21 年开始 all in kt 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1042866

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX