稍微了解了一下kotlin,但是感觉与其多学一门语言还不如用纯java写项目?反正目的都能达到
kotlin似乎更加简洁,写得更少
因为kotlin的诸多特性和语法糖,比如协程,高阶函数,函数式编程
当然还有语法糖DSL
当然还有语法糖DSL
你知道 build.gradle 是 groovy 语言写的吗
每一种语言都有存在的意义
你的这个问题简直就像是
“有了Java,为什么还要有Kotlin?”
建议自己搜索后再来提问
你的这个问题简直就像是
“有了Java,为什么还要有Kotlin?”
建议自己搜索后再来提问
你大可使用c语言编写一切程序
 本帖最后由 耗子 于 2020-10-19 21:02 编辑 
看了楼上的这些回答,大都是从Kotlin的功能和优点出发做出回答。作为一名纯Java的拥护者,我有必要从Kotlin的缺点和不足出发,回答这个问题。
首先,Kotlin并不兼容Java的语法,这让学习Java的人难以接受,这意味着他们要抛弃在Java的开发习惯。而Groovy就可以同时兼容Java的语法。
其次,Kotlin独立于Java平台,引入了很多新的特性、语法糖和约定,Java尚且经常有人吐槽难学,Kotlin的难度恐怕在此之上。
再者,Kotlin对于Java库的互调用在我当年使用时深受诟病,不知道现如今修复与否。
最后,Kotlin开发者大多数曾经都是忠实的Java开发者,我认为使用Java可以顾及Java和Kotlin两个受众群,增加曝光度。
希望各位能够对于语言好坏的提问予以善意公正的回答,没有最好的语言,只有最合适的语言。
2020年10月19日补充
参考资料:从 Java 到 Kotlin,再从 Kotlin 回归 Java(原文为2018年5月31日发布)
看了楼上的这些回答,大都是从Kotlin的功能和优点出发做出回答。作为一名纯Java的拥护者,我有必要从Kotlin的缺点和不足出发,回答这个问题。
首先,Kotlin并不兼容Java的语法,这让学习Java的人难以接受,这意味着他们要抛弃在Java的开发习惯。而Groovy就可以同时兼容Java的语法。
其次,Kotlin独立于Java平台,引入了很多新的特性、语法糖和约定,Java尚且经常有人吐槽难学,Kotlin的难度恐怕在此之上。
再者,Kotlin对于Java库的互调用在我当年使用时深受诟病,不知道现如今修复与否。
最后,Kotlin开发者大多数曾经都是忠实的Java开发者,我认为使用Java可以顾及Java和Kotlin两个受众群,增加曝光度。
希望各位能够对于语言好坏的提问予以善意公正的回答,没有最好的语言,只有最合适的语言。
2020年10月19日补充
参考资料:从 Java 到 Kotlin,再从 Kotlin 回归 Java(原文为2018年5月31日发布)
在Java项目中确实应该使用Java,否则Maven,Gradle在build时会比纯Java麻烦很多。
 本帖最后由 QiuJay 于 2020-10-12 12:28 编辑 
楼主不用在意这种,自己喜欢哪个就用哪个,然后可以慢慢接触新的,能写出好的程序,实现需求,用什么语言不重要。
毕竟在 jvm 环境中,kotlin 最后也是编译成了 class 文件,你说他会比 java 执行效率快吗?并不会,只是开发者在开发时比 java 简洁些而已。
所以,开发时,喜欢用哪种语言就用哪种就可以了。
另外,kotlin 开发的程序,必须要把 kotlin run time 打到包中,不然会运行不了。java 不用是因为要运行 java 程序,机器上需要有 jre ,其实一个道理。
楼主不用在意这种,自己喜欢哪个就用哪个,然后可以慢慢接触新的,能写出好的程序,实现需求,用什么语言不重要。
毕竟在 jvm 环境中,kotlin 最后也是编译成了 class 文件,你说他会比 java 执行效率快吗?并不会,只是开发者在开发时比 java 简洁些而已。
所以,开发时,喜欢用哪种语言就用哪种就可以了。
另外,kotlin 开发的程序,必须要把 kotlin run time 打到包中,不然会运行不了。java 不用是因为要运行 java 程序,机器上需要有 jre ,其实一个道理。
 本帖最后由 双色心情 于 2020-10-13 15:12 编辑 
这要看kotlin这东西产生的根源,在Android开发那边。(说白了就是因为java易主带来的版权问题,搞出了这个可以抛开Java的新语言。)
我目前只知道“更好的树叶”新版本应用了kotlin的库。
我也找不出MC为什么要用这个的理由来……
这要看kotlin这东西产生的根源,在Android开发那边。(说白了就是因为java易主带来的版权问题,搞出了这个可以抛开Java的新语言。)
我目前只知道“更好的树叶”新版本应用了kotlin的库。
我也找不出MC为什么要用这个的理由来……
Kotlin更加简洁方便
但也有人不喜欢这种风格或懒得学这种语言
都可以用
基本上没区别
看个人喜好而已
但也有人不喜欢这种风格或懒得学这种语言
都可以用
基本上没区别
看个人喜好而已
如果只是参与 minecraft 插件的编写,java 就够了,kotlin 那些什么特性,语法糖什么的,能用到多少,看你用途吧!
如果是参与 java 项目开发,看项目需求,有啥要求没,一个人参与想用啥就用啥,如果是多人项目,看团队
kotlin 完全兼容 java,可以使用 java 所有的东西,所以这种看自己选择了
如果是参与 java 项目开发,看项目需求,有啥要求没,一个人参与想用啥就用啥,如果是多人项目,看团队
kotlin 完全兼容 java,可以使用 java 所有的东西,所以这种看自己选择了
 本帖最后由 Itsusinn 于 2020-10-23 23:22 编辑 
当你使用了kotlin编写的库之后,就不得不用kotlin了,(一旦使用了dsl,就会被它的魔幻吸引
当你使用了kotlin编写的库之后,就不得不用kotlin了,(一旦使用了dsl,就会被它的魔幻吸引
 本帖最后由 Itsusinn 于 2020-10-23 23:16 编辑 
的确kt调用java可以,java调用kt却极其困难。
主要的问题在协程库(有https://github.com/Him188/kotlin-jvm-blocking-bridge 来解决这个问题)
和诸多@JVM注解的使用上(JetBrains是十分注重java与kt的互操作的)
耗子 发表于 2020-10-11 16:02
看了楼上的这些回答,大都是从Kotlin的功能和优点出发做出回答。作为一名纯Java的拥护者,我有必要从Kotlin ...
的确kt调用java可以,java调用kt却极其困难。
主要的问题在协程库(有https://github.com/Him188/kotlin-jvm-blocking-bridge 来解决这个问题)
和诸多@JVM注解的使用上(JetBrains是十分注重java与kt的互操作的)
Itsusinn 发表于 2020-10-23 23:15
的确kt调用java可以,java调用kt却极其困难。
主要的问题在协程库(有https://github.com/Him188/kotlin-j ...
为了方便交流与沟通,使用Java语言是好的