请问,没有 Java 基础,可以直接学 kotlin 么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
heavyrainn
V2EX    程序员

请问,没有 Java 基础,可以直接学 kotlin 么?

  •  
  •   heavyrainn 2020-01-10 13:46:31 +08:00 3926 次点击
    这是一个创建于 2110 天前的主题,其中的信息可能已经有所发展或是发生改变。
    主要原因是…要面向 AIX 编程了。golang 对 AIX 支持很有限,虽然貌似有一个民间移植,但是不敢随便用在生产,所以,我只能选择万能的 java 系了…
    无意间看到了 kotlin,语法比 java 要简洁很多,也兼容 java 的各项包,而且貌似号称是要“取代 java”,所以想问一下各位大神,kotlin 现在做 server 端开发怎么样?没有 java 基础的话能否学好? kotlin 使用现有的各 java 资源是否有坑呢?谢谢大家
    10 条回复    2020-01-11 12:07:56 +08:00
    casillasyi
        1
    casillasyi  
       2020-01-10 13:49:21 +08:00
    可以学,没有坑。kotlin 和 Java 之间无缝调用。推荐看一下《 kotlin 实战》
    SaltedFish12138
        2
    SaltedFish12138  
       2020-01-10 14:01:04 +08:00   1
    正题回复:
    1. 你看到的 kotlin 对于 java 的优势,基本都是真的,
    2. 作为一个普通人,我认为大部分编程语言只要认真,都能学好,
    3. 无缝使用现有 Java 资源, 不管是 Jar 依赖还是直接源码,
    4. 上述都不是 100% 的保证,还要看你项目的具体情况.

    歪个楼:
    楼主开题就问 没 Java 基础, 中间又来一句 语法比 Java 简洁很多, 你这不就是会吗?
    mazai
        3
    mazai  
       2020-01-10 14:24:15 +08:00
    你没有基础接触到一些高级特性非常难理解,kotlin 中有非常多的语法糖
    fhvch
        4
    fhvch  
       2020-01-10 14:27:08 +08:00
    好好学 java
    KylinJiang
        5
    KylinJiang  
       2020-01-10 15:22:32 +08:00   1
    赞同 2 楼
    1.可以学,没问题
    2.基础不好问题不大,不学 java 问题不大,问题在于在学习使用 kotlin 的时候,千万不要排斥 java 相关的知识,最好可以在了解到 kotlin 好的特点同时,也吸收一下 java 这样为什么不好,kotlin 究竟帮你做了什么事情
    godoway
        6
    godoway  
       2020-01-10 15:49:05 +08:00
    2 楼加一
    另外取代 java 是不可能的,kotlin 号称 更好的 java
    官方也发出了这样的视频: What's new in Java 19: The end of Kotlin?
    Mistwave
        7
    Mistwave  
       2020-01-10 15:58:25 +08:00 via iPhone
    你掌握理解的抽象层次一定要比你日常使用的更深一层,当你学到一定深度的时候,自然就要学 Java 了。和楼上 @KylinJiang 老哥说的一样,当你去了解 Kotlin 好在哪里,解决了 Java 什么问题的时候,也就是到了学 Java 的时候了。
    最后,Scala 在后面等着你哟
    hantsy
        8
    hantsy  
       2020-01-10 21:59:49 +08:00   1
    还是好好先学 Java 吧。

    Kotlin 看起来不错,写的时候还是主要调用 Java API,没 Java 基础我感觉基本不可能写好 Kotlin。但是如果你使用的 Java API 没有真正对 Kotlin 语法优化,有时代码会非常 Ugly。

    当然 Spring stack 正在全面吸收 Kotlin,作了大量的扩展(如 BeanDefinitionDSL, RouterFunctionDSL, Kotlin Coroutines 等)。有些不知道算是进步还是退步,就 BeanDefinitionDSL 而言吧。bean 声明,经历 XML 后,有 Groovy DSL,到 Java 5 Annotations,现在回到 Kotlin DSL 声明方式(感觉有点回到 XML ),参见 [BeanDefinitionDSL 例子]( https://github.com/hantsy/spring-reactive-sample/blob/master/boot-kotlin-dsl/src/main/kotlin/com/example/demo/DemoApplication.kt#L33-L133),算是多一种选择吧。
    hatcloud
        9
    hatcloud  
       2020-01-11 11:27:58 +08:00 via iPhone
    可以,不建议
    xinhaiw
        10
    xinhaiw  
       2020-01-11 12:07:56 +08:00
    java 11 也很好用
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3318 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 11:40 PVG 19:40 LAX 04:40 JFK 07:40
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86