为什么 Java 开发没有普遍使用 kotlin

2022-03-24 14:47:40 +08:00
 Mateverse

我周围的情况是基本没有 java 开发使用 kotlin ,基本都是移动端( Android )在是用,好奇为什么…

16415 次点击
所在节点    程序员
129 条回复
zxCoder
2022-03-24 14:54:46 +08:00
(又不是不能用
nicevar
2022-03-24 14:55:19 +08:00
Kotlin 相对 Java ,优势基本上在语法上,Java 有 IDE Buf 加持的情况下,用起来不比 Kotlin 弱,我就是做安卓用 Kotlin ,后端依然用 Java ,没必要折腾,现在我甚至有点后悔把安卓一些封装的库转为 Kotlin 了。
debuggeeker
2022-03-24 14:58:30 +08:00
@nicevar 库还是 java 好,因为有些项目如果不支持 kt ,还能用。特别是老项目,我觉得没有必要纠结用啥。该用就用,前提是都得会。
ciki
2022-03-24 15:00:10 +08:00
Java8 以上很香,kt 没啥优势
witcherhope
2022-03-24 15:02:40 +08:00
只是加了些语法糖,而语法糖这个东西够用就好
olaloong
2022-03-24 15:04:55 +08:00
Android 的 Java 不是标准的 Java ,换 Kotlin 确实更好用了
后端有换 Kotlin 的功夫不如提升一下 Java 版本
changdy
2022-03-24 15:11:57 +08:00
java 有完备的模板引擎?
lambda 功能真的齐全?
为什么已经实现了 Comparable 还不能用 大于小于符号 ?


不否认 java 生态圈比较齐全...但是 真心感觉 java 写起来啰嗦...
Huelse
2022-03-24 15:14:04 +08:00
激进的已经 scala 一步到位了
yazinnnn
2022-03-24 15:15:14 +08:00
我在用,然后我同事看不懂我写的啥。

再者,大家都是 spring boy ,而 kotlin 对于 spring 来说又没有明显增强的特性。reactor coroutine 算一个吧,但是你见过用 webflux 和 r2dbc 的人吗?
leighton
2022-03-24 15:15:14 +08:00
AWS 某偏核心组,以前大部分是 cpp 和 java ,现在新代码都是 rust 和 kotlin 了。不过 kotlin 语法糖太多,我看别人写的代码有点吃力
haython
2022-03-24 15:16:33 +08:00
以前试过 kotlin ,然后 3 个人写出 3 个风格,互相难看懂
yazinnnn
2022-03-24 15:19:37 +08:00
我工作的常备工具库是 coroutine+vertx+arrowkt ,协程还好说,vertx 和 arrow 这两个 monad 风的库一般人接受不了啊,只能自己写着开心了。
hidemyself
2022-03-24 15:22:56 +08:00
因为 Java 有 Spring ,都快一统天下了
Mateverse
2022-03-24 15:23:03 +08:00
@yazinnnn spring boy 太真实了哈哈哈哈
@haython 真的,感觉 kotlin 代码没备注读起来是有点…
nothingistrue
2022-03-24 15:35:00 +08:00
虽然都是基于 Java ,但面向前端 UI 的生态,跟面向后端的生态之间的区别,要比跨语言还大。kotlin 毕竟是从 Android 出发的,后端一时半会不会用。

还有另一方面,Java 太大了,Android 部分,和 Web 后端部分,只是最流行的(或者说搜索引擎上搜索最多的),但可能连 Java 总生态的 1/3 范围都没占到。(比如说,Mysql 数据库、Oracle 数据库中的 Java 部分、Hadoop 、Storm ,这些都是 Java 开发的,即没有用 kotlin 也没有用 spring 。)这直接导致除了基本 JDK ,很难有框架能一统天下。就是 JDK ,因为 JCP 基本上被 Oracle 独家控制了,也快分裂成 JDK-current 跟 JDK8 两套了。
whyrookie
2022-03-24 15:42:31 +08:00
Android 用 Kotlin 确实很舒服,毕竟谷歌定下的官方语言,有很多生态上的支持,后端不清楚,Kotlin 的语法比较花哨,确实可能出现不同人写出的代码风格差别很大的情况。我还是很喜欢 Java 的,严谨,风格统一,只是前端(包括客户端)有很多页面,感觉用 Java 写太繁琐了
fredli
2022-03-24 15:46:11 +08:00
因为懒啊,除了 Android ,Java 又不是不能用
echo1937
2022-03-24 15:50:06 +08:00
@nothingistrue #15 不太懂为什么说 JCP 是 Oracle 独家控制的。
https://jcp.org/en/participation/committee
bthulu
2022-03-24 15:57:37 +08:00
@changdy 啥年代了, 还用后台模板引擎
az467
2022-03-24 16:14:01 +08:00
让升到 java11/17 都不愿意,害搁这里 kotlin 呢。

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

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

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

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

© 2021 V2EX