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

Kotlin 被谷歌力推之后, Java 有没有可能 “墙倒众人推”?

  •  
  •   ittianyu · 2017-05-18 12:57:52 +08:00 · 19732 次点击
    这是一个创建于 2506 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,我的观点:估计至少会有一半以上的安卓开发者转向 Kotlin。后端的部分人也可能跟风尝试 Kotlin。所以 Java 份额会逐渐减少。

    第 1 条附言  ·  2017-05-19 12:00:31 +08:00

    隔壁开了个反对帖,为了避免圣战,我趁早投降。

    看到隔壁帖一些骂 喜好新语言的人 基础不行,换什么语言都是垃圾。我就不发表意见了。

    我只想用新语言花更少时间实现更多功能。我写 Java 几年了,现在是靠 Java 吃饭的,设计模式确实让人觉得精妙绝伦,但能从语言层面解决一些以前要用设计模式才能解决的耦合问题,岂不妙哉?

    我投降,Java 是世界上最好的语言!

    113 条回复    2017-06-07 22:30:17 +08:00
    1  2  
    paradoxs
        1
    paradoxs  
       2017-05-18 13:00:44 +08:00
    绝对不会. 参考 google reader
    xylitolLin
        2
    xylitolLin  
       2017-05-18 13:00:54 +08:00 via iPhone
    不会,你看 win7 就知道,有些事情习惯很重要
    Lonely
        3
    Lonely  
       2017-05-18 13:01:19 +08:00 via iPhone
    洗洗睡吧
    k9982874
        4
    k9982874  
       2017-05-18 13:08:18 +08:00
    出个新技术就要『 XXX 开发者转向 XXX 』么?
    要是这是普世规律,JS 早就死了 800 遍了。
    Troevil
        5
    Troevil  
       2017-05-18 13:15:15 +08:00
    洗洗睡吧+1
    hotStrip
        6
    hotStrip  
       2017-05-18 13:18:49 +08:00
    天真
    shyangs
        7
    shyangs  
       2017-05-18 13:19:56 +08:00   ❤️ 1
    会 TypeScript 者也会 JavaScript, 会 Kotlin 者也会 Java
    这种情况下 JS 和 Java 是不会死的.
    anyele
        8
    anyele  
       2017-05-18 13:20:11 +08:00
    天真, 国内根本不可能, 照样还是 java 的天下, 只有看看国外如何努力推 Kotlin
    Cbdy
        9
    Cbdy  
       2017-05-18 13:20:22 +08:00
    只了解自己这一代的人永远是个孩子——西塞罗

    这句话的意思是说要去了解历史
    czc2004211
        10
    czc2004211  
       2017-05-18 13:21:10 +08:00 via iPhone
    flash 死了几万遍
    letitbesqzr
        11
    letitbesqzr  
       2017-05-18 13:22:31 +08:00
    java 份额减少?别开玩笑了,跑了十年的系统 难道你让我用 kt 去维护?
    coderluan
        12
    coderluan  
       2017-05-18 13:27:38 +08:00
    楼主标题和正文观点可是两会事哦:

    针对标题的回复大概是“你太天真了”
    针对正文的回复大概是“肯定会有转的,但是现在谈一半比例为时尚早”
    SourceMan
        13
    SourceMan  
       2017-05-18 13:29:54 +08:00
    年轻人,吃多 2 年饭~
    cuebyte
        14
    cuebyte  
       2017-05-18 13:32:36 +08:00
    kotlin 在后端里连根毛都还没有呢,kotlin-spring 用起来也比较别扭,各种后端 framework 也都是一副歪瓜裂枣的模样……
    murmur
        15
    murmur  
       2017-05-18 14:25:23 +08:00
    kotlin 还靠着 java 的大山呢 人家都学尖了各种兼容 java
    n6DD1A640
        16
    n6DD1A640  
       2017-05-18 14:32:37 +08:00   ❤️ 7
    Objective-C 表示:垂死病中惊坐起,谈笑风生又一年[doge]
    sagaxu
        17
    sagaxu  
       2017-05-18 14:34:10 +08:00   ❤️ 1
    @cuebyte
    去年我就在后端用上 kotlin 了,老 Java 文件不动,新加的文件都是 kotlin,无缝集成,spring 系的框架支持的非常好
    Suddoo
        18
    Suddoo  
       2017-05-18 14:34:16 +08:00
    too simple, sometimes naive!
    sagaxu
        19
    sagaxu  
       2017-05-18 14:35:37 +08:00
    @letitbesqzr kotlin 不像 scala 那样有侵入性,十几年前的老项目,只要迁移到了 Java6/7/8,都可以用 kotlin,不支持 java6 的,那没办法了
    est
        20
    est  
       2017-05-18 14:36:32 +08:00
    就靠 LZ 来推了。。

    别的先不说,先把 com.apache. 那一坨随便推一个最小的 namespace 试试。
    lingo
        21
    lingo  
       2017-05-18 14:47:01 +08:00
    javascript 怎么还没死呢。。。
    gamexg
        22
    gamexg  
       2017-05-18 14:47:41 +08:00
    python2->python3
    多少年了。
    UnitTest
        23
    UnitTest  
       2017-05-18 16:38:25 +08:00
    还记得 Dart 么?
    nashxk
        24
    nashxk  
       2017-05-18 16:51:42 +08:00
    不会,但是学习 kotlin 还是很有用的,以后的项目就先混合开发了。
    WayToPlay
        25
    WayToPlay  
       2017-05-18 16:59:27 +08:00
    大树下面的植物都长不大
    cuebyte
        26
    cuebyte  
       2017-05-18 17:04:26 +08:00
    @sagaxu 我知道啊,kotlin 就是 better java,要写什么都没问题。但是和原本的 java 生态格格不入不是么。写点 spring 就知道了。当然现在有 all-open 和 jpa 插件会好很多……但这些终究是补丁,不是 kotlin 自己的哲学和生态
    st2udio
        27
    st2udio  
       2017-05-18 17:57:23 +08:00
    首先不明白,力推是怎么来的?
    只是给了一个名分罢了。
    然后,Kotlin 出来也很多年了,用 JAVA 的不照样用 JAVA。会因为谷歌给了一个名分,就一半以上转?
    youxiachai
        28
    youxiachai  
       2017-05-18 18:08:23 +08:00
    Kotlin 百分百兼容 java....lz 是不是搞错了什么...
    fwee
        29
    fwee  
       2017-05-18 18:14:17 +08:00
    Java 社区会分裂成 “ Java 大法好万年不倒只会用 Java ”派和“跪舔谷歌爸爸,爸爸代表未来的 Kotlin ”派,两方都会有大量培训机构参与,CSDN 社区或迎来第二春
    qiukong
        30
    qiukong  
       2017-05-18 18:19:56 +08:00
    恕我直言,PHP 才……(捂嘴)
    shijingshijing
        31
    shijingshijing  
       2017-05-18 18:27:34 +08:00
    Google 的一大特长是烂尾~ 楼主你喜欢就好~
    game3108
        32
    game3108  
       2017-05-18 18:39:51 +08:00
    Kotlin 不是 Android 上面么,怎么感觉 java web server 也要弄这个了?
    ljcarsenal
        33
    ljcarsenal  
       2017-05-18 18:53:22 +08:00 via Android   ❤️ 1
    @game3108 跑在 jvm 上的语言啊
    CYKun
        34
    CYKun  
       2017-05-18 19:04:10 +08:00 via Android
    google 力推 kotlin,是不是意味着安卓不打算支持 Java8 了?
    daimao
        35
    daimao  
       2017-05-18 19:21:24 +08:00 via iPhone
    python2 表示还能再活五年
    yanhejihe
        36
    yanhejihe  
       2017-05-18 19:26:05 +08:00
    不会的,我就不喜欢 kotlin 太自由的写法,不大适合团队。
    ittianyu
        37
    ittianyu  
    OP
       2017-05-18 19:57:44 +08:00   ❤️ 2
    @paradoxs @xylitolLin @Lonely @k9982874 @Troevil @hotStrip @shyangs @anyele @Cbdy @czc2004211 @letitbesqzr @coderluan @SourceMan @cuebyte @murmur @n6DD1A640 @sagaxu @Suddoo @sagaxu @est
    @lingo @gamexg @UnitTest @nashxk @WayToPlay @cuebyte @st2udio @youxiachai @fwee @qiukong@shijingshijing @game3108 @ljcarsenal @CYKun @daimao @yanhejihe
    之前传闻 Oracle Java SE 系列产品使用在“特殊嵌入式计算系统”中要收费,不知道是真是假。Oracle 告了 Google 那么多年,现在谷歌是想抛掉这颗 “炸弹”。从各位的评论看来,Java 地位不会有什么大变化。但个人觉得 Kotlin 的语法糖很好用,既然兼容 Java,不妨用着提高一下编码效率。
    JetBrains 前段时间搞出个 Kotlin Native 企图抛弃 JVM,个人看好 Kotlin。
    21grams
        38
    21grams  
       2017-05-18 19:59:57 +08:00 via Android
    Java 死了,kotlin 要跑在什么上呢
    Grubber
        39
    Grubber  
       2017-05-18 20:02:27 +08:00 via Android
    Java:喵喵喵?
    wwqgtxx
        40
    wwqgtxx  
       2017-05-18 20:05:18 +08:00 via iPhone
    @21grams 不是还有 KVM 么🚑
    Tunar
        41
    Tunar  
       2017-05-18 20:19:00 +08:00
    Swift 被苹果力推之后,OC 有没有可能 “墙倒众人推”?
    Kilerd
        42
    Kilerd  
       2017-05-18 20:31:57 +08:00
    @daimao 不,python 2 只有 3 年之间了。

    勇者,你要为它 +1s 吗?
    sammo
        43
    sammo  
       2017-05-18 20:34:21 +08:00
    如果把推倒 Py2 当作目标,那么 Py3 的目标也太低了一点
    如果把推倒 Java 当作目标,那么 Kotlin 的目标也太低了一点
    murmur
        44
    murmur  
       2017-05-18 20:55:01 +08:00
    @CYKun 前几个月不还说 dart 要成为 google os 的开发语言么,现在就钦点 kotlin 为安卓官方语言,golang 呢。。
    misaka19000
        45
    misaka19000  
       2017-05-18 21:05:11 +08:00
    Go 被 Google 力推之后,Java 有没有可能 “墙倒众人推”?

    要说我,Kotlin 还不如 GO 呢
    zts1993
        46
    zts1993  
       2017-05-18 21:12:19 +08:00
    完全找不到迁移到 Kotlin,说到底就是吸引力不够。。
    Kotlin 与 Java 就像 Py3 对 Py2 一样,我们都知道好用,但是升级没兴趣,就酱。。。
    qiukong
        47
    qiukong  
       2017-05-18 21:22:14 +08:00 via iPhone
    @ittianyu 你这 @让我十分佩服……
    反正我现在看见带“ java ”的就头疼,即便是“ javascript ”这种没啥关系的……
    yangqi
        48
    yangqi  
       2017-05-18 21:27:46 +08:00
    谷歌又不是第一次推语言了,不要太天真了。这个世界又不是围着谷歌转的。
    numberwolf
        49
    numberwolf  
       2017-05-18 21:45:56 +08:00
    以前出 sky 的时候就有人这么问。
    cuebyte
        50
    cuebyte  
       2017-05-18 21:55:47 +08:00
    @misaka19000 Kotlin 除了在后端还没啥市场,其他地方哪里不如 Go?
    0915240
        51
    0915240  
       2017-05-18 21:59:42 +08:00
    2016 年:Google 引入了 Jack & Jill 编译器!!!!!!
    incompatible
        52
    incompatible  
       2017-05-18 22:01:43 +08:00
    Naive. 就算有一天 Java 倒了,也绝对不可能是被一群搞安卓的人扳倒的。
    zongwan
        53
    zongwan  
       2017-05-18 22:02:35 +08:00
    看到那么多人不看好 kotlin 我就安心了...
    用 kotlin 也一年多了, 竞争少点好...
    不过 kotlin plugin 已经非常稳定了 有心人应该用起来非常容易入手
    so898
        54
    so898  
       2017-05-18 22:05:51 +08:00
    Scala 和 SS 一帮 Android 开发都表示日了狗
    wineway
        55
    wineway  
       2017-05-18 22:07:00 +08:00 via Android
    不是我说… Java 这种程度的语言就算从现在开始不再再有新项目使用也至少十年才能跌下语言榜前五吧…何况现在 Java 还在被广泛使用…
    AngelCriss
        56
    AngelCriss  
       2017-05-18 22:13:47 +08:00 via Android
    我用 C++,没错我就是来看热闹的🙄
    zuolan
        57
    zuolan  
       2017-05-18 22:14:58 +08:00
    你看 Swift 被苹果强推也不见得上升有多快。(已经很快了) KT 这种爹妈分家的私生儿成长起来很艰难,但是总会长大的。
    corvofeng
        58
    corvofeng  
       2017-05-18 22:15:20 +08:00 via Android
    就算 Java 有一天可能会不流行, 可你还得用 JVM, 只要在用 JVM,Java 还是会流行。
    kingcos
        59
    kingcos  
       2017-05-18 22:26:28 +08:00
    看看 Swift 就知道了。。
    人都是懒的。。
    hepin1989
        60
    hepin1989  
       2017-05-18 22:57:59 +08:00   ❤️ 2
    我只想我为何不用 Scala
    yidinghe
        61
    yidinghe  
       2017-05-18 23:47:26 +08:00 via Android
    参考 Scala
    xingda920813
        62
    xingda920813  
       2017-05-19 00:38:19 +08:00
    Why not scala?
    wangdu2012
        63
    wangdu2012  
       2017-05-19 06:09:36 +08:00 via iPhone
    真是杞人忧天啊,问问你自己赚到多少钱了
    linux40
        64
    linux40  
       2017-05-19 07:02:51 +08:00 via Android
    以后软件都生成 Java 代码,而且和人写的性能差不多。。。
    goodan
        65
    goodan  
       2017-05-19 08:23:22 +08:00 via iPad
    天真的孩子
    araraloren
        66
    araraloren  
       2017-05-19 08:55:12 +08:00
    @misaka19000
    GO 不如 Kotlin 适合,就 兼容性 和 语言的交互性上 GO 已经输了。。
    更何况,在 java 处于主流的情况下,对于我这样偏向自由的人来说,有 java 不用,干嘛要用连括号都要限制地方的一个语言呢。。
    Wuxj
        67
    Wuxj  
       2017-05-19 09:02:08 +08:00
    Java 至少还有下一个 20 年~~
    zengfxios
        68
    zengfxios  
       2017-05-19 09:12:55 +08:00
    说了那么多,轮子呢?
    misaka19000
        69
    misaka19000  
       2017-05-19 09:20:16 +08:00
    @hepin1989 #60 感觉 Scala 都比 Kotlin 的占有率多。。。
    microhz
        70
    microhz  
       2017-05-19 09:31:48 +08:00   ❤️ 1
    C/S 模式到 B/S 模式,然后再到 APP/S 模式,现在又逐渐切换到 H5/S 模式。我发现 S 还是比较稳定的,抛开历史原因 Java 可能在当前不是最时髦最“高级”的开发工具,但是企业开发在这一块的沉淀是短时间很难被超越的。
    sagaxu
        71
    sagaxu  
       2017-05-19 09:32:32 +08:00 via Android   ❤️ 1
    @cuebyte 我现在就用它和 spring,没发现哪里格格不入,jpa 的 interface 是不用 open 的,而且 jdk 的 aop 也不用 open。一开始造自己的库,反而必死无疑,我一个做 Java 的还要重新学习积累 kotlin 的库?那我还不如不迁移。现在这样很好,能让我少写几行代码就够了。而且 spring5 开始不是已经为它定制了么?
    tangbl93
        72
    tangbl93  
       2017-05-19 09:35:10 +08:00
    Swift 出了三年了,然而我还是在用 OC 写项目
    sagaxu
        73
    sagaxu  
       2017-05-19 09:36:58 +08:00 via Android
    @ittianyu 我都在线上用了半年了,能节省三分之一代码,它的闭包设施借鉴的 scala,绝非 Java8 的 lambda 可比,elvis 和 when 也是非常实用
    yanzixuan
        74
    yanzixuan  
       2017-05-19 09:37:07 +08:00
    @yidinghe scala 属于太大太全,适得其反。。
    NSAtools
        75
    NSAtools  
       2017-05-19 09:42:38 +08:00
    kotlin 是最好的语言,不服来辩
    seasstyle
        76
    seasstyle  
       2017-05-19 09:43:48 +08:00
    google 的东西和微软的一样。。。。
    byuc
        77
    byuc  
       2017-05-19 09:46:13 +08:00
    按照 Android 当初那种热度,Kotlin 培训机构开足马力批量生产的话,预计几年可以饱满?
    ittianyu
        78
    ittianyu  
    OP
       2017-05-19 09:56:59 +08:00
    @byuc 培训机构现在搞 Python 和 数据相关 的方向去了,安卓已经饱和了,换个语言最多就是编码效率提高一下,培训机构哪里会回头降低就业率 ?
    jzz7280
        79
    jzz7280  
       2017-05-19 09:58:44 +08:00 via iPhone
    不会吧,j2ee 市场那么大
    thisisgpy
        80
    thisisgpy  
       2017-05-19 10:03:57 +08:00   ❤️ 1
    kotlin 只是把 java 的缺点进行了一些隐藏和转移。靠发明新语言来解决旧语言的弊端是一个死循环,子子孙孙无穷尽也。
    robertlyc
        81
    robertlyc  
       2017-05-19 10:18:18 +08:00
    kotlin 又不是 google 的
    firefox12
        82
    firefox12  
       2017-05-19 10:25:02 +08:00 via iPhone
    等 kotlin 有一个 docker kubernets etcd 这样的项目再来和 go 比
    wc951
        83
    wc951  
       2017-05-19 10:54:14 +08:00 via Android
    一个破安卓还想翻了天不成,手动滑稽
    Lin3w
        84
    Lin3w  
       2017-05-19 10:54:16 +08:00 via Android
    Java 语言推出后,编译语言会不会“墙倒众人推”
    magicdawn
        85
    magicdawn  
       2017-05-19 11:29:22 +08:00
    Groovy 大法好
    lingo
        86
    lingo  
       2017-05-19 11:42:48 +08:00
    @ittianyu 也许会像 js 和 typescript 的现在的关系一样。代替不了,可以混写,谁爱用谁用。
    lingo
        87
    lingo  
       2017-05-19 11:44:46 +08:00
    从个人来讲,谁爱用谁用。从公司角度来讲,技术选型也得综合考虑招人成本和用新技术的风险不是。
    sagaxu
        88
    sagaxu  
       2017-05-19 12:30:46 +08:00
    @lingo Java 转 kotlin 是毫无风险的,因为整个生态圈是共同的,不同的仅仅是语法,正常人一个周末就熟悉了
    laike9m
        89
    laike9m  
       2017-05-19 12:35:09 +08:00 via Android
    Google 里不少人还抱着 Java 不放呢。。。
    sampeng
        90
    sampeng  
       2017-05-19 15:10:47 +08:00
    我就想说。。。你老板让你用 kotlin 么?如果答案是肯定的,当然可以用。如果是否认的,该干嘛干嘛。。。就一个语法的事。什么时候真遍地都是,到时候再说。。。正常的几年编码经验的人拿起来估计也就 1-2 天。完全没什么新的东西需要学,纯语法而已。现在学了也就自己玩玩。老板不让用,一切都是浮云。。什么?偷偷用?老板应该是会骂人的。。
    LancerXin
        91
    LancerXin  
       2017-05-19 15:58:42 +08:00
    kotlin 还代替不了 java,为什么?
    kotlin 现在就像是个寄生虫,拿着 java 现成的库来壮大自己.等哪天 jdk api,andorid api 之类的翻译成 kotlin 再来谈 java 的没落吧.
    再换个角度,你让初学者直接学 kotlin,能搞定 android 开发不?老手你让他完全抛弃 java 库,只用 kotlin 能搞定 android 开发不?
    noNOno
        92
    noNOno  
       2017-05-19 16:27:22 +08:00
    @Cbdy
    wizardforcel
        93
    wizardforcel  
       2017-05-19 18:15:41 +08:00 via Android
    java 和 obj-c 可不一样。obj-c 除了 ios 和 osx 也干不了别的。java 起码还有后端的半壁江山。
    pyufftj
        94
    pyufftj  
       2017-05-19 18:26:20 +08:00
    准备学一下,反正对 jetbrains 公司的东西就是无脑上。
    WispZhan
        95
    WispZhan  
       2017-05-19 18:27:25 +08:00
    看来很多人都没有用过 Kotlin 就来回复了。

    kotlin 号称 9x%直接兼容 Java。
    我实际使用的时候发现,出了极少数 JDK 库不支持,比如 Enum 的一个反射方法。 除此之外基本上没发现有不兼容的,混用也是没有任何问题。

    哪怕你老代码是 jdk1.6,直接用 kotlin1.0.x 来混编,基本上也不会出现太大问题。

    Kotlin 和 Scala 最大的不同就是,Scala 自己有一套,而 kotlin 本身是完全把自己编译成原生 Java 的 字节码。

    ---

    我从 1.0.0 就开始关注 kotlin 了,正式版出来以及 1 年多了。JB 官方也在大力支持和推广,看 Jetbrains 官方 Blog 好像目前的 Intellij 全家桶有部分代码就是 Kotlin 的。
    WispZhan
        96
    WispZhan  
       2017-05-19 18:30:05 +08:00
    充分证明了一点,很多人都是跟风。不了解就没有发言权。
    leeeric
        97
    leeeric  
       2017-05-19 20:46:14 +08:00
    swift 的问题是大版本不兼容+运行效率低。
    所以一直无法取代 objc,话说回来,objc 大量的代码要都改为 swift 工作量也太大了。

    另外这种变量后面加?和!的写法似乎很是流行啊,从 swift 到 kotlin,我是看着用着都别扭的要命。
    kwdfmzhu
        98
    kwdfmzhu  
       2017-05-19 20:59:00 +08:00
    怎么可能,看看 python2.X
    hepin1989
        99
    hepin1989  
       2017-05-19 21:41:39 +08:00   ❤️ 2
    这个问题我来回答:

    如果,你学不会 Scala 那么使用 Kotlin。

    如果你学会了 Scala,可以看下 Kotlin。

    如果你只喜欢 Scala,不需要学 Kotlin。
    huobazi
        100
    huobazi  
       2017-05-19 21:48:02 +08:00 via iPhone
    这个东西自举了吗?
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   949 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 21:33 · PVG 05:33 · LAX 14:33 · JFK 17:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.