

https://kotlinlang.org/docs/whatsnew20.html
GPT-4o 的总结:
K2 编译器:
IDE 支持:
Gradle 集成:
Lambda 函数:
Kotlinx-metadata-jvm 库:
Kotlin/Native 增强:
Kotlin/Wasm:
@JsExport 函数。智能类型转换:
if、when 和 while 块中的智能类型转换,减少手动类型断言。Kotlin 2.0.0 语言层面没有新特性,但是引入 K2 编译器,提高了性能。
想问一下大家上海/杭州有用 Kotlin 做服务端的公司吗?
1 smallboy19991231 2024-05-22 11:04:55 +08:00 是和 Java 似的哪言 |
2 superchijinpeng 2024-05-22 11:05:16 +08:00 nice 坐标苏州, to G 公司, 所有服务全是 Kotlin, 包括各种 Flink 、Spark Jar 任务, 摸鱼时间大大增加 |
3 jaguar1982ssss 2024-05-22 11:09:27 +08:00 https://plugins.jetbrains.com/plugin/24379-tencent-cloud-ai-code-assistant 这个插件做 Kotlin 的 AI 代码生成效果不错,还是免费的。 |
4 javak 2024-05-22 11:10:10 +08:00 via iPhone ide 得支持还没跟上,还要再等一等才能用 |
5 Leviathann 2024-05-22 11:11:06 +08:00 听说 google 用 java 做的 server 的组很多都转向了 kotlin 以前用 c++的转向了 go |
6 tuokamuta 2024-05-22 11:12:01 +08:00 Scala!!!!!!!! |
7 weeei 2024-05-22 11:16:49 +08:00 @Leviathann kotlin 的服务端有没有 killer app ? |
8 fuhanfeng OP @smallboy19991231 #1 有些类似,都可以运行在 JVM 上,也支持和 Java 混编 @superchijinpeng #2 toG 能做到所有服务都是 Kotlin ,很赞啊 @Leviathann #5 昨天还看到说 Android 官方支持 Kotlin Multiplatform https://android-developers.googleblog.com/2024/05/android-support-for-kotlin-multiplatform-to-share-business-logic-across-mobile-web-server-desktop.html |
9 xianyv 2024-05-22 11:21:26 +08:00 我先试试 Kotlin2.0.0 的 JetpackCompose 好不好用 |
10 lisongeee 2024-05-22 11:22:08 +08:00 |
11 chendy 2024-05-22 11:22:49 +08:00 回想起上次用 kt 已经是七年前的事情了 语法特性很棒,null-safe 和 unmutable 然我受益良多,但是 IDE 很卡电脑很热,于是放弃至今 好用,好玩,但是干活过日子我还是选择 java |
12 qinfengge 2024-05-22 11:24:31 +08:00 Kotlin 服务端入门的教程大佬们有没有啊,我想试试 |
13 kuanat 2024-05-22 11:26:57 +08:00 写 Kotlin 可比写 Java 爽太多了,等 LSP 和 IDE 跟上,体验还会更好。 |
14 Leviathann 2024-05-22 11:29:24 +08:00 |
15 fuhanfeng OP |
16 fuhanfeng OP @qinfengge #12 可以试一下 https://hyperskill.org/tracks/69 如果要和 Java 混编,用 Spring Boot 的,可以用 https://start.spring.io/ 生成一个 Kotlin 的项目,然后把配置复制一下就行,立马可以跑起来 |
17 hepin1989 2024-05-22 12:24:25 +08:00 Java 21 比他 Kotlin 也就少了个 val 等于,不如我 Scala 3 香 |
18 hronro 2024-05-22 12:54:44 +08:00 via Android 有模式匹配了吗 |
19 zywu9726 2024-05-22 13:10:36 +08:00 @hepin1989 kotlin 的 null-safe 好用啊 Java21 一样到处都是 null ,虽然 Optional 能解决一部分,但不是语法层面的,写起来还是难受。 另外还有很重要的一点,kotlin 对于函数式编程的支持要远大于 java ,java 的 lambda 写起来太繁琐,kotlin 的语法糖很甜。 |
20 SoloCompany 2024-05-22 13:27:35 +08:00 via iPhone 因为抱着 checked exception 不肯放弃,java 的 lambda 和 stream api 就是天生残废,不知道 2024 的今天是否能有所改善 |
21 SoloCompany 2024-05-22 13:30:57 +08:00 via iPhone java 应该引入一个 suppress annotation 让编译器允许 lambda 抛出的 checked exception 只污染外部方法签名 |
22 fuhanfeng OP @hepin1989 #17 Kotlin 之于 Java ,最大的好处还是 Null safety ,从语言层面去解决这个问题。 @hronro #18 具体指的是什么? @SoloCompany #20 Java 的 lambda 和 steam 更像是语法糖 |
24 zhady009 2024-05-22 14:06:25 +08:00 via iPhone @fu82581983 扩展函数、重载操作符、DSL 、主构造函数、参数默认值、灵活好用的线程操作 API 等等 反正我是一点不想写 Java 了 |
25 fuhanfeng OP @zhady009 #24 有人问我 Kotlin 比 Java 语法上哪里好,我一下子还想不起来,你说的这些都是优势,而且比 Java 的类型推导也更强大 |
26 lonenol 2024-05-22 14:36:08 +08:00 @fu82581983 我比较喜欢的是 1. 集合相关的操作,完爆 stream 2. 扩展函数 3. 字符串模版, 虽然 jdk21 也引入了字符串模版的预览版,不过论好用,差了 kotlin 八条街 |
27 tangqiu0205 2024-05-22 14:39:52 +08:00 @qinfengge #12 JB 家的 Ktor 也可以看看,https://ktor.io/ |
28 tuokamuta 2024-05-22 15:46:00 +08:00 我 Scala 好羡慕他们有有钱爹啊 Tips: Scala 3.5.0-RC 发布了!!! |
30 luoshuimumu 2024-05-22 16:11:32 +08:00 官方支持归支持 但是你们真的会用 kotlin 写 spring 吗??上生产的那种 |
31 zhywang 2024-05-22 16:17:31 +08:00 上次用 kotlin 写后端已经是 5 年前了,我的评价是 kotlin 就是加足了语法糖的 java ,甜 |
32 fuhanfeng OP @lonenol #26 Kotlin 给人的感觉更现代,更符合人的直觉。 @luoshuimumu #30 t/1025262 参考这个帖子,用的人还是不少的,不过 Kotlin 在移动端使用比例大,服务端的确很少 @zhywang #31 语法特性的确很多,新出来的语言除了 Go ,其它语言也差不多,包括 Rust 特性非常多,不过日常编码其实用得不多,但是用到的时候会觉得比较优雅 |
33 lonenol 2024-05-22 18:41:15 +08:00 @luoshuimumu 我们已经上了,体验良好,不过是混用,希望写 Java 的继续写 Java |
35 kuanat 2024-05-22 19:45:14 +08:00 @Jirajine #34 官方早就说过不想做 LSP 了,之前我试了一段时间那个第三方做的 LSP ,差得还是有点远。所以我说希望 LSP 跟 IDE 能跟上,达到八成水平,支持我用 neovim/VS Code + LSP 就很满意了。这个事情上有得选是第一步。 |
36 superchijinpeng 2024-05-22 19:57:02 +08:00 |
37 Loserzhu 2024-05-22 22:56:34 +08:00 @superchijinpeng 不会是新区那边的某达科技吧?做安防 监控 视讯的 |
38 luoshuimumu 2024-05-23 09:37:47 +08:00 @lonenol #33 新项目还是老项目呢?我这边的 java 的也是觉得没有特别切过去的理由 @superchijinpeng created 4 months ago ,新项目? java 占比这么低是没有复用公司现有的 java 脚手架之类的? @fu82581983 #32 确实移动端用的多,我的移动端朋友也有少数不会 kotlin 的,依旧混得很好=。= |
39 superchijinpeng 2024-05-23 10:35:06 +08:00 @Loserzhu 不是 |
40 superchijinpeng 2024-05-23 10:36:13 +08:00 @luoshuimumu #38 随便截了一个项目, 21 年开始 all in kt 了 |
41 abc612008 2024-05-23 11:57:18 +08:00 via Android Kotlin 是我用过的语法上最优雅的语言,我觉得在这方面吊打 java 是没啥问题的。 |
42 98b984275a6b4591 2024-05-23 13:11:50 +08:00 @superchijinpeng 贵司还招人吗 |
43 boris1993Jr 2024-05-23 14:48:14 +08:00 via iPhone 我上家公司 StubHub 就在用 Kotlin 写后端,这是一家工作体验非常好的公司 可惜,上海整个办公室全被裁了 |
44 fuhanfeng OP @abc612008 #41 是的,而且我觉得整个语言设计风格很统一,算是后起之秀的优势 @boris1993Jr #43 我还专门从 BOSS 上搜了一下“Kotlin 后端”,寥寥无几,最多也只是 Java 后端里有个标签是 Kotlin ,主要还是 Android 开发 |
45 Jirajine 2024-05-23 16:04:20 +08:00 @kuanat 是的,kotlin 只能用 jb 自家的 ide 是最大的缺点,被迫用多个 IDE ,每个都有不同的配置/插件/快捷键是很糟糕的体验。 |
46 qviqvi 2024-05-23 18:52:38 +08:00 start.spring.io 生成的 kotlin 项目不用 kotlin sdk 也能运行,是不是就不用按照 sdk 了? |
47 netabare 2024-05-23 18:56:35 +08:00 via Android 终于更新大版本了,希望之后可以看到一些语言上的更新 |
48 fuhanfeng OP |
49 netabare 2024-05-25 03:13:01 +08:00 via Android @fu82581983 主要是 when 语句,在 Java 实装了模式匹配的现在,显得有点过时了。直接影响就是某些算法到现在都只能用 visitor 模式来写,非常不方便。 真要说的话 Kotlin 的语法确实设计的非常合理也很精简,不仔细想甚至想不出有啥非常欠缺的功能。像是??=这种语法糖其实也不是那么重要。 |
50 Belmode 2024-06-29 22:32:07 +08:00 本来还以为 2.0 能上这个几个功能的 Static extensions Collection literals Name-based destructuring Context receivers Explicit fields 感觉有点遗憾了,不知道后面哪个版本才能上线 |
51 aisonren 2024-08-08 16:25:07 +08:00 怎么觉得 kotlin 有一点点像 C# |