Java 后端有用 Kotlin 的吗?

35 天前
 nnegier

Kotlin 目前有个很明显的优点,就是实现了协程(用户态线程),可以减少资源的开销

4035 次点击
所在节点    程序员
50 条回复
street000
35 天前
以前到处用 kotlin ,现在能用 ts 就用 ts ,kotlin 几乎没有什么缺点但是背靠 gradle ,进入前端领域后我是越来越不能接受 gradle 了。
chendy
35 天前
肯定有,但是不多
90%以上的业务系统不在乎那点性能,而且更在乎换语言之后的风险和成本提高
macaodoll
35 天前
尝试过
xwwsxp
35 天前
你这过时了,JDK 21 就实现了所谓的协程,这个有点对于现在的 Java 而言不算什么;不过,万恶的 NPE 处理确实还是痛点,虽然有 Optional 来规避问题。
Rehtt
35 天前
@chendy Kotlin 不是和兼容 java 吗
Rehtt
35 天前
@xwwsxp 大部分还是 JDK8 🤣
xwwsxp
35 天前
@Rehtt 怎么可能,我们早就是 JDK 17 了
Dragonphy
35 天前
可以先试试新增一个 src/main/kotlin 直接写
zed1018
35 天前
我们。目的是为了 Safe Call 和 val
liumao
35 天前
@xwwsxp #7 确实很多项目还是 jdk8
weiweiwitch
35 天前
这语言挺好用的呀。
我们用了好多年了,上线了好几个后端项目了。没遇到啥语言上的问题。
这语言对比其他 JVM 语言,变化算少的了。如果不用一些复杂的语法,纯粹可以当做简化版的 Java 用。
特别是 val 变量声明,用了这个,几乎杜绝了我们项目里所有 NPE 问题。
协程的话,没有 go 和 C#的好用,但也帮助我们解决了某些特殊需求。
dlmy
35 天前
@xwwsxp #7 现实就是公司内 90% 的项目还是使用 JDK 8 ,压根就没有办法升级,一定要升级的话,内部自研的中间件就得全部跟着一起升,以此来完成框架适配跟特性兼容,风险跟成本都很大
layxy
35 天前
虽然和 java 兼容,但是协作的时候强制同事学习 Kotlin 不太友好,而且领导也不会同意你随意变更技术栈,个人项目或者小团队协商好倒是可以上
changhe626
35 天前
我们公司大规模的都是 kotlin+springboot 的模式,很少 java+springboot ,写了这么久的 kotlin ,感觉 kotlin 并没有比 java 好多少。。。。,都是业务语言而已,只是一些非空判断?,优点用,其他的感觉没啥大的区别,语法糖没有那么重要。
TWorldIsNButThis
35 天前
用 但是没用协程

用 reactive 的框架才能用上协程,比如 vertx ktor

spring 底层就写死了 thread per request
kneo
35 天前
@weiweiwitch 不同意。Kotlin 远比 Java 复杂,和“精简版 Java”八竿子打不着。只能说你用的是简化版的 Kotlin 。
cbdyzj
35 天前
在升级 Java 21 (从 11 升),老代码基本没咋动
kneo
35 天前
@weiweiwitch 没有 NPE 是因为语言/编译器层面实现的 null safety ,不是因为 val ( immutability )。
boris1993Jr
35 天前

StubHub 被卖掉之前很多新的后端都是用 Kotlin+SpringBoot+WebFlux 写的

@street000 #1 并不强绑定 gradle 啊,我们当时就是用 maven 构建
kneo
35 天前
@xwwsxp java 21 实现的不叫协程( coroutine )。现在好像叫虚拟线程( virtual thread )的比较多。也有别的叫法,但是不能叫做“协程”。协程的“协”一般要求使用者明确定义把当前线程的使用权交给其它协程的时机( suspend )。

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

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

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

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

© 2021 V2EX