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

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

  •  
  •   heavyrainn · 2020-01-10 13:46:31 +08:00 · 3331 次点击
    这是一个创建于 1567 天前的主题,其中的信息可能已经有所发展或是发生改变。
    主要原因是…要面向 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   ·   我们的愿景   ·   实用小工具   ·   5578 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 06:03 · PVG 14:03 · LAX 23:03 · JFK 02:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.