V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
YugenFring
V2EX  ›  程序员

kotlin 可以完美平替 Java 吗?

  •  2
     
  •   YugenFring · 2024-03-20 09:00:03 +08:00 · 18395 次点击
    这是一个创建于 376 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    求解, 感谢

    110 条回复    2024-04-16 17:08:23 +08:00
    1  2  
    werls
        1
    werls  
       2024-03-20 09:05:36 +08:00
    kotlin 就是 Java 的另一种写法 可以直接使用 Java 库,最后执行的时候都会被编译为 Java.class 执行,类似 js 和 ts 的关系
    chendy
        2
    chendy  
       2024-03-20 09:07:14 +08:00
    多年前( 2017-18 )尝试过
    优点挺多,比如 data ,比如不区分基本类型和包装类型,比如 null safe ,巴拉巴拉
    缺点也有,最明显的就是慢,一样的机器一样的 ide ,java 就顺滑很多,kt 就卡卡的(不知道现在咋样了
    另外就是一些思路要转变,比如 null safe ,比如不可变集合

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

    并且 kotlin 也不止 jvm ,他也有 kotlin native 之类的大杀器,只是现在还不是那么成气候。。
    YugenFring
        17
    YugenFring  
    OP
       2024-03-20 09:31:21 +08:00
    @ychost mac 上的 ide 用着相对于 win 确实平滑很多, 主要不知道 win 下是什么体验
    YugenFring
        18
    YugenFring  
    OP
       2024-03-20 09:32:39 +08:00
    @Melanthius crud 还可以, java 毕竟训练数据太多了
    YugenFring
        19
    YugenFring  
    OP
       2024-03-20 09:33:53 +08:00
    @qinxi
    @zed1018
    两位大哥都是后端开发吗
    Narcissu5
        20
    Narcissu5  
       2024-03-20 09:34:07 +08:00
    kotlin 在后端的流行度还是不太够,而且 java 21 之后特别是有了虚拟线程之后 kotlin 的优势不太明显了
    YugenFring
        21
    YugenFring  
    OP
       2024-03-20 09:36:43 +08:00
    @qq135449773
    java 的势头感觉确实在下降, 只是百足之虫, 想要死掉还是需要很久很久的.

    不喜欢用 java 主要就是语言确实不够现代, 就没有兴趣, 虽然想干的都能干, 所以一直想试试 kotlin
    liaopen123
        22
    liaopen123  
       2024-03-20 09:37:38 +08:00
    兼容没啥问题,kotlin 写的可太爽了。
    YugenFring
        23
    YugenFring  
    OP
       2024-03-20 09:38:21 +08:00
    @Narcissu5 确实是事实, 主要换到 jdk21, 对于现在的 jdk8 项目, 感觉也算是重构了. 排除团队技术栈的问题, 新项目如果能用 kotlin, 是否会优先选择
    kneo
        24
    kneo  
       2024-03-20 09:39:08 +08:00 via Android   ❤️ 6
    @qq135449773 Java 也在进化,特性越来越多,Kotlin 反而越活越尴尬。
    Java 必死 Kotlin 是未来这种话不知道怎么想出来的。哪怕你拆开发也没放在一起这么可笑。
    LPJD
        25
    LPJD  
       2024-03-20 09:40:07 +08:00
    不能。Java 的优势在于生态圈,Ctrl+C -> Ctrl + V 。使用 Java 开发十有八九是考虑了开发成本问题。个人开发随意
    kneo
        26
    kneo  
       2024-03-20 09:40:50 +08:00 via Android
    @YugenFring 非安卓项目不考虑 Kotlin 。放五年前还可以尝试。现在没必要。
    YugenFring
        27
    YugenFring  
    OP
       2024-03-20 09:41:32 +08:00
    @LPJD 不考虑这些, 主要就是自己写的时候爽点, 如果公司嗯要求 java 也可以切换过去
    tinyfry
        28
    tinyfry  
       2024-03-20 09:41:42 +08:00
    1. 新人容易滥用 kotlion 的特性。
    2. 函数式编程很爽。
    3. 项目如果大的话,编译非常慢。
    4. 在 debug 的时候一些问题可能调试困难。
    5. idea 完美支持。你把 java 复制到 kotlin 中,它都会询问要不要自动帮你转。。
    结论,适合技术水平稍微好一些的团队使用,或者安卓团队。我持中性看法。
    xsi640
        29
    xsi640  
       2024-03-20 09:43:59 +08:00
    用 kotlin 可以大幅提高开发效率,只是有一定学习成本,关键怎么选看楼主。
    qq135449773
        30
    qq135449773  
       2024-03-20 09:46:12 +08:00
    @kneo #24 啥时候 lombok 死了再跟我讲这种话也不迟。
    unco020511
        31
    unco020511  
       2024-03-20 09:51:49 +08:00
    完全可以,不管是 android 还是后台开发,都可以无缝替换
    nicholasxuu
        32
    nicholasxuu  
       2024-03-20 09:52:25 +08:00
    可以,甚至 ide 可以完美直接转换语言。几乎可以理解为繁体和简体中文的区别。
    MoonLin
        33
    MoonLin  
       2024-03-20 09:53:34 +08:00
    kotlin 对比 java 有个完全无法替代的作用:只要你能引入 kotlin 技术栈,就可以用新的标准库新的语法糖,至于 jdk 是 6 还是 8 还是 11 都无所谓,反正最后会脱糖,这给一些不能升级 jdk (我非常认同)的老项目维护和老 leader 开新项目还用 java8 一个非常舒适的开发环境。理论上说服 leader 引入 kotlin 要比升级 jdk 容易一些。
    cloud107202
        34
    cloud107202  
       2024-03-20 09:56:07 +08:00
    前 kotlin 重度用户。近两年综合 Java 目前的发展趋势与方向,我是认为在 Android 开发之外的服务端编程里,完全没有需要使用 kotlin 的场景
    kneo
        35
    kneo  
       2024-03-20 09:57:44 +08:00 via Android
    @qq135449773 啥时候 lombok 死了再说 Java 死不死吧。说不定 lombok 都比 kotlin 活得久。
    一个东西的生命力不是由你个人的喜好来决定的。因为你不喜欢 lombok 就说 Java 要完蛋,与其说是评论,不如说是诅咒。
    YugenFring
        36
    YugenFring  
    OP
       2024-03-20 10:00:47 +08:00
    @xsi640 学习曲线感觉和 swift 应该差不多
    YugenFring
        37
    YugenFring  
    OP
       2024-03-20 10:01:29 +08:00
    @cloud107202 请问这里说的趋势是 jdk 的新特性这些吗?
    geekjoehome
        38
    geekjoehome  
       2024-03-20 10:02:31 +08:00   ❤️ 3
    以前怎么样不清楚,目前看平替 java 应该完全没问题。

    我目前每天都在 Jetbrains Academy 上学习 Kotlin Core 课程,用了 kotlin 后就完全不想再回去写 Java 、Javascript 、Typescript 了。Kotlin 除了 Syntatic Sugar 外还有很多非常不错的现代化设计理念,感觉该语言的设计是集市面上众多语言的优点于一体(设计前应该是考察过了很多语言的),又利用了 jvm 丰富的库和跨平台特性。语法精炼且极富表达力( concise and expressive )

    根据 kotlin 课程的介绍,该语言设计初衷就是为了改进背负有沉重历史包袱的 java 语言,其设计的第一原则就是保证与 java 的互操作性与兼容性。所以楼主担忧的“如果有一些依赖只有 java 版本呢?” 完全不是问题,kotlin 与 java 互操作 100%兼容。

    最新的编译器感觉编译速度得到了显著提升,也没有感觉到很卡( 2018 年买的 AMD 2400G 32G 内存)。相反,我感觉 kotlin 写起来十分丝滑和清爽。

    可能由于 kotlin 比较新,迭代比较快,目前市面上也没啥好的第三方学习资料。相比我看过的一些书籍,目前看 Jetbrains Academy 的学习课程是我见过的最棒的(应该不会有谁比官方更懂 Kotlin 了吧)!官网的各项文档也做得相当 nice 。
    kneo
        39
    kneo  
       2024-03-20 10:03:09 +08:00 via Android
    @MoonLin 朋友,你说的 kotlin 优点只是基于现状,也许下一次 kotlin 升级就不支持 java 6 了。这都是使用第三方技术的风险。
    那些还在使用旧 jdk 的老项目,根据我的经验,他们不能升级的原因是主要不想动旧代码。咱们要是有使用 kotlin 的魄力也不至于还在用 6 。
    shyangs
        40
    shyangs  
       2024-03-20 10:14:39 +08:00   ❤️ 2
    @qq135449773
    @kneo


    Kotlin 自己的官方教學文件一直出現 Java / Java classes. 根本就預設學習者已經會 Java 才來學 Kotlin. 這種情況 Java 怎麼可能比 Kotlin 先死. ( 把 Kotlin 當第一門語言的初學者被迫去學 Java )


    比如 https://kotlinlang.org/docs/arrays.html#primitive-type-arrays 直接出現了 Kotlin Primitive-type array 相當於 Java 的什麼陣列.
    russ44
        41
    russ44  
       2024-03-20 10:16:50 +08:00
    前几天看到站里老哥发的 Kotlin 教程中文译版 /t/1023394 之后学习中
    meeop
        42
    meeop  
       2024-03-20 10:17:05 +08:00
    理论上可以,实际上短期内不行

    可以是因为 kotlin 可以直接调 java,可以和 java 可逆变换,所以肯定是能当 java 用的

    不行是因为有学习成本,特别是其中的协程需要基础库支持,使用协程就不能直接用 java 的很多涉及多线程库了(几乎所有网络,数据类的库),java 又不是不能用,加上 lombok,mybatin 生成器之类的项目降低 java 开发成本,综合来讲用 kotlin 收益大于成本
    fredweili
        43
    fredweili  
       2024-03-20 10:18:14 +08:00
    kotlin 用 java 库没什么问题,kotlin 的高级语法多
    TONYXUELI
        44
    TONYXUELI  
       2024-03-20 10:18:29 +08:00
    @cloud107202 是的,入手才知道扔无线朱老师都是这个方向
    monkeyWie
        45
    monkeyWie  
       2024-03-20 10:20:12 +08:00 via Android
    可以的,就是编译有点慢
    28Sv0ngQfIE7Yloe
        46
    28Sv0ngQfIE7Yloe  
       2024-03-20 10:22:11 +08:00
    竟然有人在说 Java 消亡是早晚的事情
    lisongeee
        47
    lisongeee  
       2024-03-20 10:31:22 +08:00   ❤️ 3
    说一下看起来和 java 无关的问题,kotlin 团队现在主要工作应该是完善 multiplatform

    kotlin multiplatform 对我真的非常有用,因为我的一个 Android 项目的某个功能 <https://github.com/gkd-kit/selector> 就是用 kotlin multiplatform 实现的

    好处是代码可以直接编译为 JavaScript/Wasm ,这样用户在 浏览器/nodejs 就能直接在线使用这个功能

    如果是以前,我得手动实现 JavaScript 端代码,手动维护一个功能的两套代码实现想想都麻烦
    echo1937
        48
    echo1937  
       2024-03-20 10:31:53 +08:00
    总有人说 Java 消亡是早晚的事情,这谁都知道啊,问题是多久,五年、十年、十五年?

    三种情况,应对的措施完全不同。
    h3ejkuXr64B1T2Uj
        49
    h3ejkuXr64B1T2Uj  
       2024-03-20 10:33:05 +08:00
    之前在做一个谷歌云盘同步的功能,发现官方都没有提供 kotlin 的包
    sun2920989
        50
    sun2920989  
       2024-03-20 10:34:09 +08:00
    个人偏见还是认为 kotlin 依旧是谷歌和甲骨文博弈下的特殊产物.
    另外 ts 的发展势头看起来也一般了.
    基于另一套平台之上的语法糖平台.总是有些局限性.
    zed1018
        51
    zed1018  
       2024-03-20 10:43:52 +08:00
    @YugenFring 对,后端开发。

    我用 kotlin 主要两大需求,一个是空安全,一个是 kt std 带来的各种便利。
    vlinx
        52
    vlinx  
       2024-03-20 10:44:05 +08:00
    当然,完成可以
    pdog18
        53
    pdog18  
       2024-03-20 10:53:20 +08:00
    @weijancc 「必须写成 object 是误传」,可以直接在文件中已 top level 的方式存在,比 static ‘方便’多了
    Helsing
        54
    Helsing  
       2024-03-20 10:55:23 +08:00 via iPhone
    可以,开发 Android 比 Java 好用多了
    编译速度和之前用 Java 没多大区别了
    kenvix
        55
    kenvix  
       2024-03-20 10:55:34 +08:00
    Kotlin 唯一的缺点就是由于语言自身的复杂性,编译开销比 Java 高很多,但是加配置就行。
    除此外没有任何缺点
    xingchenxf
        56
    xingchenxf  
       2024-03-20 10:56:23 +08:00
    可以。
    楼上说的编译器卡之类的问题,我都没遇到过,我猜测差不多的开发机应该都能正常编译。
    语法上,基本上是集各家之大成了。 我用过的各种语言:C 、java 、js 、ts 、python 、dart 、lua ,kotlin 应该是最好用的了,体验上只有 ts 和 dart 能和 kotlin 打一打,但也还是不如 kotlin 。

    唯一的缺点,就是 kotlin 有时候写起来语法糖太多,有的人写的代码太飘,不太容易看懂。 好在都是基于 jvm ,很容易看到源码,实在不行就编成 class 再反编译成 java ,总是能看懂的。
    lmshl
        57
    lmshl  
       2024-03-20 10:58:49 +08:00
    说实话平替 Java 有点过于低估 Kotlin 了
    yongdaimi
        58
    yongdaimi  
       2024-03-20 11:00:00 +08:00
    用了一段时间了,感觉如下:
    1. 编译慢;
    2. 语法糖多,编码确实更容易, 确实解决了 java 上的一些痛点;
    3. 源码阅读困难,尤其在滥用语法糖和高级特性的情况下,感觉读起来好痛苦,对团队中水平参差不齐的程序员是个挑战;

    小项目或许会用一用,大型项目不考虑
    yule111222
        59
    yule111222  
       2024-03-20 11:01:54 +08:00
    我爱 Kotlin~
    支持 Kotlin~
    vanishxiaoma
        60
    vanishxiaoma  
       2024-03-20 11:02:17 +08:00
    正在使用 kotlin 开发新的后端项目。使用感受写着比 java 爽太多
    MoonLin
        61
    MoonLin  
       2024-03-20 11:02:35 +08:00
    @kneo #39 kotlin 那边有过承诺,只要 Android 还需要支持 java6 ,他们就会继续支持 java6 ,哪怕三五年后不再支持 java6 了,截止这个版本的前一个版本语法和标准库也比 Java21 要新,三五年后我们真的能用得上 java21 吗?所以你说的第三方风险是不存在的。
    而且我已经说了,有些 leader 本身偏保守,我今年还见过 java8 的新项目,对于升级 jdk ,会说现有一些依赖没人维护了,整个链路升级成本高等等,但是引入 kotlin 并不会影响到这些,说服的可能性还大一些,或者你认为可能性是反过来的?
    retrocode
        62
    retrocode  
       2024-03-20 11:03:44 +08:00
    @LPJD kotlin 和 java 是完美平替, 可以互相引用, 你可以在 kt 里直接引入 java 文件, 也可以反过来, 不影响生态使用
    weijancc
        63
    weijancc  
       2024-03-20 11:19:09 +08:00
    @pdog18 我看你说的 top level, 直接回退成面向过程了😴. 我之前就想着用一个工具类蕴含静态工具方法, 方法就只有 object.
    wupher
        64
    wupher  
       2024-03-20 11:38:30 +08:00
    1. 可以
    2. 可以,实际上 18 年以来,我主持的后端项目全部使用 Kotlin 了。
    codehz
        65
    codehz  
       2024-03-20 11:48:20 +08:00
    不是完美平替,企业的例子我不知道,mc 模组里,fabric 的模组,无法在 mixin 中使用 kotlin (原因是 kotlin 的标准库会有冲突)
    Rickkkkkkk
        66
    Rickkkkkkk  
       2024-03-20 11:59:46 +08:00
    语法糖太多在工作上总是坏的.

    一个逻辑只有一种写法是最好的.
    superchijinpeng
        67
    superchijinpeng  
       2024-03-20 12:41:06 +08:00
    完美支持,现在所有的平台,Flink Spark 任务之类的全是 kt
    iseki
        68
    iseki  
       2024-03-20 12:47:32 +08:00 via Android
    Kotlin 现在最大的问题一个是语法和标准库特性不够激进,Java 也在更新迭代,另一个是工具链质量比较差,生成的字节码相对糟糕一点。
    不过后者好在有 JVM 的 JIT 加持,除了一些边边角角(比如 vararg 展开)并不会产生多少实际影响。
    综合考虑 Java 和 Kotlin 现状,我建议可以将大部分业务代码用 Kotlin 编写,在一些明显用 Kotlin 写起来更繁琐的地方,不要犹豫,直接用 Java 写。
    会 Kotlin 的开发者熟悉 Java 几乎是必须的。
    iseki
        69
    iseki  
       2024-03-20 12:50:08 +08:00 via Android
    不需要在什么地方用 Java 什么地方用 Kotlin 制定繁琐的细则,如果你的团队能够把 Kotlin 用好,成员自己一定清楚该怎么做。
    mysunshinedreams
        70
    mysunshinedreams  
       2024-03-20 13:04:04 +08:00
    @YugenFring #12 这个确实,我在小范围内的团队使用过,本子又卡又热,很影响使用体检,而且代码提示大部分时候还一顿一顿的。
    aboutyang
        71
    aboutyang  
       2024-03-20 13:20:28 +08:00
    单打独斗用 kotlin 。大点的项目用 java 更有利于团队协作和日常维护,还有更好招人。
    xxlsize
        72
    xxlsize  
       2024-03-20 13:26:29 +08:00
    QQ 也可以平替微信,甚至作为 IM 更好用,但架不住那么社交对象在微信。
    平替当然可以,但是要你的领导、同事配合才行,否则自己单玩嘛
    bringyou
        73
    bringyou  
       2024-03-20 13:38:59 +08:00
    插句题外话,kotlin 下一代 compiler K2 已经可以在 kotlin 1.9.x 里面主动开启了,并且会随着 kotlin2.0 发布而转正
    dif
        74
    dif  
       2024-03-20 13:39:55 +08:00
    spring 当然可以纯 kotlin 开发了,你看官网就提供了 java 和 kotlin ,我记得以前还用 scala 写过呢。
    bringyou
        75
    bringyou  
       2024-03-20 13:43:16 +08:00   ❤️ 1
    @bringyou #73 刚没说完就直接发布了……
    按照 jetbrains 的说法,K2 没有太大的语法变更,主要致力于性能表现上的优化。
    在一些测试上甚至可以得到 2 倍的性能提升
    &t=233s

    https://blog.jetbrains.com/kotlin/2023/02/k2-kotlin-2-0/

    https://blog.jetbrains.com/kotlin/2021/10/the-road-to-the-k2-compiler/
    daileidecaifu
        76
    daileidecaifu  
       2024-03-20 14:28:39 +08:00
    没有平替这一说,我觉得还是习惯问题。
    daileidecaifu
        77
    daileidecaifu  
       2024-03-20 14:32:12 +08:00
    @Rickkkkkkk 非常认同,特别是多人协同开发,有些语法糖特性被滥用,并不是每个人都会仔细使用。
    Surechun
        78
    Surechun  
       2024-03-20 14:37:53 +08:00
    没有平替。kotlin 写起来感觉还是缺少了点东西,上次有个新项目本来也打算全用 kotlin 写,后面还是变成了混着用。kotlin 没有的特性用 Java 来补。不过还是会关注 kotlin 。
    sam384sp4
        79
    sam384sp4  
       2024-03-20 14:53:19 +08:00   ❤️ 1
    对技术和生产力有追求的,比如安卓早用上了。
    至于后端的 spring 程序员, 让他们升个 jdk 都跟要了他们的命似的,让他们学一门新语言根本不可能。
    sam384sp4
        80
    sam384sp4  
       2024-03-20 14:56:58 +08:00
    @daileidecaifu kotlin 语法糖多吗, 和 java 比是多, 但和 ts 、c#、python 比还差一大堆。
    kiroter
        81
    kiroter  
       2024-03-20 14:58:53 +08:00
    @iamppz #6 体验了 Kotlin 还能迁回 Java ?
    Leviathann
        82
    Leviathann  
       2024-03-20 15:12:46 +08:00
    swift 才称得上集市面上众多语言的优点于一体

    kotlin 可以理解 go 化的 scala ,这里的 go 是简陋(对大部分人并不是坏事)、随意( ad-hoc)、编译更快的意思
    Uplay
        83
    Uplay  
       2024-03-20 15:12:50 +08:00
    @qinxi 是哪里的公司啊,我去年看 BOSS 只有上海的公司有部分 kotlin 服务端开发
    yazinnnn0
        84
    yazinnnn0  
       2024-03-20 15:15:55 +08:00
    kotlin 除了写 jna wrapper 时体验比写 java 差之外, 其他任意情况基本都是大于等于 java
    windyboy
        85
    windyboy  
       2024-03-20 15:16:06 +08:00
    好像没有感觉过 kotlin 在 ide 里慢
    编译慢的问题也没留意过
    我现在能用 kotlin 的地方肯定不会想去用 java

    java 有一些历史性的问题,尤其是维护别人的旧代码,kotlin 的感觉是自然顺畅,甚至 java 就应该是这样的感觉
    如果你总是考虑先 java 再转 kotlin 应该是很别扭的

    代码量少,清晰,维护别人的代码简直了,谁用谁知道
    zhouhu
        86
    zhouhu  
       2024-03-20 15:19:02 +08:00
    kotlin 能用 arthas 吗,或者在 kotlin 上有替代品吗
    Leviathann
        87
    Leviathann  
       2024-03-20 15:24:20 +08:00
    另外现在这点特性就嫌容易 abuse ,期待伴随 Kotlin2.0 一起的 context receiver 给你们带来一些小小的 scala 震撼
    lovedebug
        88
    lovedebug  
       2024-03-20 15:53:25 +08:00
    这就反复在问 typescript 多久替代 javascript
    目前的答案是:不会
    betty00
        89
    betty00  
       2024-03-20 16:15:03 +08:00
    虽然但是,kotlin 写起来真舒服,less is more
    kneo
        90
    kneo  
       2024-03-20 16:18:19 +08:00 via Android
    @betty00 kotlin 可不是 less 。kotlin 是 more more 。
    me1onsoda
        91
    me1onsoda  
       2024-03-20 17:04:19 +08:00
    kotlin 能带来什么?只是写的舒服的话,那无所谓了,代码补全已经弥补了。要是 kotlin 能比 Java 编译快、启动快、包小、内存占用小,那意义很大。否则我就再激进一点转 rust
    caffeine
        92
    caffeine  
       2024-03-20 18:30:58 +08:00
    @xingchenxf 这么麻烦?直接 AI 问一下就行
    kneo
        93
    kneo  
       2024-03-20 18:34:12 +08:00
    @me1onsoda 编译快就别提 rust 了啊,rust 编译慢慢慢慢慢慢死了。
    nothingistrue
        94
    nothingistrue  
       2024-03-20 19:19:01 +08:00 via Android
    讲一个笑话,讨论一个 Google 做的东西,非 10 亿+用户级别的,能不能好好用。
    wolfan
        95
    wolfan  
       2024-03-20 19:28:06 +08:00
    TS 代替掉了 JS 嘛,没有。
    w950888
        96
    w950888  
       2024-03-20 19:34:59 +08:00
    @lisongeee 大佬的 GKD 很好用
    superedlimited
        97
    superedlimited  
       2024-03-20 19:35:59 +08:00 via iPhone
    上面拿 ts 和 js 类比的,不要搞笑了好吗?不是会写两个字母 t s 就可以乱 fun pee 的
    yukirus
        98
    yukirus  
       2024-03-20 22:38:54 +08:00
    @Akitora kt 有啥 orm 可以用呀,有推荐的吗
    fkdog
        99
    fkdog  
       2024-03-20 23:21:12 +08:00
    当年 groovy 的评价也跟楼上类似,可替代 java 、写的爽,然后就没有然后了。
    kotlin 如果没办法像 python 之于机器学习、科学计算,go 之于高并发、云组件一样成为某个杀手级应用/领域的核心,那感觉也就这样,不温不火。
    语言框架迭代不要太频繁,单纯可能不想付出太多沉默、试错成本罢了。
    Akitora
        100
    Akitora  
       2024-03-20 23:25:01 +08:00 via Android
    @yukirus JB 官方的 exposed ,以及 ktorm 也很好用,但是后者最近不怎么更新了
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5466 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 03:20 · PVG 11:20 · LAX 20:20 · JFK 23:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.