kotlin 可以完美平替 Java 吗?

246 天前
 YugenFring

如题, 说是可以完美兼容, 不知道有没有实际用过的大哥.

另外, spring 那一套是否可以完全用 kotlin 开发, 如果有一些依赖只有 java 版本呢?

求解, 感谢

15928 次点击
所在节点    程序员
110 条回复
werls
246 天前
kotlin 就是 Java 的另一种写法 可以直接使用 Java 库,最后执行的时候都会被编译为 Java.class 执行,类似 js 和 ts 的关系
chendy
246 天前
多年前( 2017-18 )尝试过
优点挺多,比如 data ,比如不区分基本类型和包装类型,比如 null safe ,巴拉巴拉
缺点也有,最明显的就是慢,一样的机器一样的 ide ,java 就顺滑很多,kt 就卡卡的(不知道现在咋样了
另外就是一些思路要转变,比如 null safe ,比如不可变集合

总体来说挺好玩的,但是公司项目除非团队水平够不考虑
weijancc
246 天前
不太行, 以前试过 kotlin, 在开发期间比较占资源, 当时机器一般, 挺卡的. 另外就是不能直接使用 static, 必须写成 object, 挺别扭; 比较爽的是有 optional 操作符?. , 有效避免空指针.
zhanlanhuizhang
246 天前
完美支持。
Melanthius
246 天前
兼容性没有问题,kotlin 语法糖很香,代码可以写的很飘。但是现在有 AI 补全这种东西,Java 这种死板好读的代码反而成为优势。
iamppz
246 天前
Kotlin 编译很慢,正在迁移回 Java
zed1018
246 天前
我们 11 个服务里。只有 3 个 java ,1 个 nodejs 。剩下的全是 kotlin 。
wetalk
246 天前
什么 kt 、groovy 、scala 之类的,只要还跑在 Jvm 上,最多在某些领域存在一定优势,完美平替 Java 那是不可能的
Akitora
246 天前
和 spring 的兼容没问题,最实打实的好处大概就是 null-safety 以及 orm 框架比 java 的更好用,其他语法糖倒是个人感觉可有可无,最大的问题就是开发的时候 IDE 确实比 java 卡得多,不知道 k2 compiler 转正之后可否有改善
ychost
246 天前
@chendy 现在很丝滑了,IDEA 都用 kotlin 写了
ychost
246 天前
我的 Java + Kotlin + Groovy 混编的服务端项目,兼容性没问题开发效率高很多,IDEA 现在也很丝滑了( M2 的 MBP ),需要注意的就是千万别把 Kotlin 当 Java 写,否则很难受
YugenFring
246 天前
@chendy
@weijancc
@iamppz
@Akitora
4 个大哥都觉得 kotlin 比 java 用起来, ide 或者编译等方面比较卡.
gongxuanzhang
246 天前
何谈平替, 简直是高配
除了编译慢没缺点,用了 kotlin 就别用 maven 了,换成 gradle
YugenFring
246 天前
@wetalk 如何理解呢? 因为说 kotlin 是完美兼容的
qinxi
246 天前
可以, 我们现在没有 java 代码了, 全部转换到纯 kotlin
qq135449773
246 天前
Java 消亡是早晚的事情,如果一定要投出来一个 jvm based 的语言能活到未来,我一定只会投 kotlin 。

并且 kotlin 也不止 jvm ,他也有 kotlin native 之类的大杀器,只是现在还不是那么成气候。。
YugenFring
246 天前
@ychost mac 上的 ide 用着相对于 win 确实平滑很多, 主要不知道 win 下是什么体验
YugenFring
246 天前
@Melanthius crud 还可以, java 毕竟训练数据太多了
YugenFring
246 天前
@qinxi
@zed1018
两位大哥都是后端开发吗
Narcissu5
246 天前
kotlin 在后端的流行度还是不太够,而且 java 21 之后特别是有了虚拟线程之后 kotlin 的优势不太明显了

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

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

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

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

© 2021 V2EX