V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Mateverse
V2EX  ›  程序员

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

  •  
  •   Mateverse · 2022-03-24 14:47:40 +08:00 · 16359 次点击
    这是一个创建于 757 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    第 1 条附言  ·  2022-03-25 09:33:23 +08:00
    1. 希望大家友好讨论
    2. 用kotlin不一定代表所有代码都需要切换到kt,我只是个人感觉kt里有很多特性很省事,当然代码易读性确实不如java
    第 2 条附言  ·  2022-03-25 10:45:29 +08:00
    没有想引战,单纯好奇,遂想讨论一下
    129 条回复    2022-03-28 23:35:27 +08:00
    1  2  
    shiganwuguo
        101
    shiganwuguo  
       2022-03-26 08:47:57 +08:00 via Android
    C#的语法糖让人觉得自然舒适 享受的感觉 而 kotlin 的语法糖让人感觉怪异难受 为了糖而糖 可写性和可读性都很差 完全没有任何愉悦的感受
    demo06
        102
    demo06  
       2022-03-26 08:49:28 +08:00
    @ssynhtn 你只要会 java,kotlin 那不分分钟的事,查个文档就会的东西
    SaltedFish12138
        103
    SaltedFish12138  
       2022-03-26 10:13:11 +08:00
    跟守着 java8 的原因一样
    dinghmcn
        104
    dinghmcn  
       2022-03-26 10:24:39 +08:00
    Android 推荐换毕竟官方强推 kotlin ,但 android framework 源码使用的还是 java ;其它的又不是不能用。。。
    Loku
        105
    Loku  
       2022-03-26 10:30:41 +08:00
    我是激进派,什么 kotlin 的,我已经在用 Scala 了。(逃
    tramm
        106
    tramm  
       2022-03-26 10:47:47 +08:00
    @leighton aws RUST 用的多吗现在?
    YetToCome
        107
    YetToCome  
       2022-03-26 11:27:29 +08:00
    构建工具也有一部分原因,因为 android 的原因,kotlin 的项目大部分用的构建工具必然是 gradle ,gradle 大版本之间兼容性基本没有。国内大部分公司不稳定人员流失性大,时间长了没人维护,新人进了全是坑。
    kran
        108
    kran  
       2022-03-26 11:40:24 +08:00 via Android
    问为什么不流行,先问它为什么应该流行。看看它的特点放到实际场景中到底有何优劣。自嗨没用,汝之蜜糖吾之砒霜不是?
    leighton
        109
    leighton  
       2022-03-26 12:27:10 +08:00
    @tramm #106 很多了,在我们部门性能敏感的几乎都是用 rust 写了。你可以看看 s2n-quic 这个 aws 的开源项目,就是 rust 写的
    jeesk
        110
    jeesk  
       2022-03-26 14:01:05 +08:00 via Android
    用 scala 不香吗
    Goat121
        111
    Goat121  
       2022-03-26 15:24:51 +08:00
    版本任他发 我用 java8
    seakingii
        112
    seakingii  
       2022-03-26 15:29:40 +08:00
    kotlin 刚出测试版本的时候我就用过,刚开始感觉这语言挺好的,后来感觉带来的好处并不足以覆盖带来的复杂性,而且 JAVA 也一直在改进,有时还真的直接用原生的 JAVA 就可以
    kingfalse
        113
    kingfalse  
       2022-03-26 15:46:43 +08:00 via Android
    groovy 表示不服
    ssynhtn
        114
    ssynhtn  
       2022-03-26 18:00:33 +08:00 via Android
    @demo06 不是的,kotlin 没有那么容易适应
    HangoX
        115
    HangoX  
       2022-03-26 20:22:41 +08:00   ❤️ 1
    没讨论到核心问题上,android 用是因为 java 版本是固定在手机上,目前最高支持到 8 ,还需要兼容老的,所以很多 java 的语法糖不能使用,这个时候 kt 就非常爽,而且 Google 也是在推 kt ,同时 android 要做的操作其实要比服务端复杂得多,比如编写 compose ui 这些,服务端是不需要的
    如果是服务端使用的话,直接升级 jdk 版本就能享受到新版本 jdk 带来的快乐了,同时很好的不用改 java 习惯,成本来说对于服务端是最低的
    awolf
        116
    awolf  
       2022-03-26 20:34:09 +08:00
    sugar~~ i got diabetes
    demo06
        117
    demo06  
       2022-03-28 09:22:04 +08:00
    @ssynhtn 我就看了 2 小时的教程基本使用就差不多了,剩下的慢慢学啊,又不是一下要全部会
    ssynhtn
        118
    ssynhtn  
       2022-03-28 09:31:46 +08:00
    @demo06 你对学会一样东西的要求太低, 不能要求别人也向你这样
    demo06
        119
    demo06  
       2022-03-28 09:38:58 +08:00
    @ssynhtn 对于新手来说最好的方法不就是先上手,然后慢慢钻研吗?我认为新手前期都陷在枯燥的原理里话,会极大消磨积极性
    ssynhtn
        120
    ssynhtn  
       2022-03-28 09:43:59 +08:00
    @demo06 所以你是从一个 Java 新手变成一个 kotlin 新手?一个 Java 老手凭什么要自找苦吃变成一个 kotlin 新手,这就回到问题的根本了,kotlin 到底好在哪让人愿意去转换,它没有本质上的优势
    ChenSino
        121
    ChenSino  
       2022-03-28 09:56:18 +08:00
    哈哈 懒得学啊,还有公司都用 java,自己学了也没用
    tramm
        122
    tramm  
       2022-03-28 10:30:19 +08:00
    @leighton 好的,感谢
    zhanlanhuizhang
        123
    zhanlanhuizhang  
       2022-03-28 10:55:26 +08:00
    kotlin 语法糖真的多。感觉看其它人的代码有问题。
    demo06
        124
    demo06  
       2022-03-28 10:57:38 +08:00
    @ssynhtn 为什么学一门新技术在你这成了自找苦吃?
    ssynhtn
        125
    ssynhtn  
       2022-03-28 11:02:18 +08:00
    @demo06 学新技术又没有什么实质收益,它就不是自找苦吃了?
    demo06
        126
    demo06  
       2022-03-28 11:57:03 +08:00
    @ssynhtn 打扰了
    yazinnnn
        127
    yazinnnn  
       2022-03-28 12:13:24 +08:00
    提醒一下,java 老手学 kotlin 是找糖吃不是找苦吃

    如果你觉得 null safety ,data class ,when 表达式,函数类型,密封类 /接口,协程等等是苦,那么高版本 java 的 var switch 表达式,instance of 推导,密封类,文本块,loom ,lombok ,lambda 也都是苦

    还是抱着 jdk7 入坟吧
    TArysiyehua
        128
    TArysiyehua  
       2022-03-28 22:44:02 +08:00
    @nicevar 你说的是没错,问题是现在卷的不行,你不会就是面试过不了,这个也是事实。大多数人都是面向简历编程。
    正如你所说的,大部分项目仍然还用着 java ,为啥还这么多人学 kotlin ,难道真的是因为爱?
    明显就是因为面试要考
    nicevar
        129
    nicevar  
       2022-03-28 23:35:27 +08:00
    @TArysiyehua 因为面试要考就太扯淡了,如果一家公司因为不会 kotlin 不让通过的话,那这家公司面试水平真的不是一般的低,稍微正常的人都知道一个合格的安卓开发人员即使没学过 kotlin ,一周差不多就能上手了,学 kotlin 并不是因为面试,是因为 google 在转向 kotlin ,但是目前不会完全不影响任何安卓软件的开发。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5193 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 07:39 · PVG 15:39 · LAX 00:39 · JFK 03:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.