Kotlin 相比 Java 有什么优势呢

2019-05-06 11:22:17 +08:00
 noble4cc

感觉现在 Kotlin 势头不如以前了

12280 次点击
所在节点    Java
56 条回复
mxalbert1996
2019-05-06 21:20:25 +08:00
我觉得可能很多人都是没用过 Kotlin 吧,反正我用了以后是觉得真香。
kaedea
2019-05-07 00:53:30 +08:00
高级虚拟机语言特性(语法糖实现)
scoping functions
函数式
coroutine
eminemcola
2019-05-07 01:46:25 +08:00
@lazywen #39 赞 期待贵司能多分享一些踩坑经验
luke666
2019-05-07 08:23:51 +08:00
没有
stanjia
2019-05-07 08:41:29 +08:00
协程
huhujin
2019-05-07 09:19:55 +08:00
比 java 甜吧
hongch
2019-05-07 09:42:28 +08:00
说 flutter 的一直停留在业务层吧?
1.你从事过物联网开发?
2.串口通信有搞过?
3.大部分硬件都要写 cpp 然后通过 JNI 给 APP 层调
所以一上来就说 flutter 的业务人员 求求你们不要会写几个 UI 就在这吹 哇塞 flutter 真好,性能真好真牛逼
kimiler
2019-05-07 10:00:48 +08:00
@murmur 不要提这么古老的语言好吗
kimiler
2019-05-07 10:04:45 +08:00
@hongch flutter 定位是高性能的跨平台 ui 框架,你非要拿它去做串口开发,物联网我们也没折啊~
hantsy
2019-05-07 10:31:32 +08:00
java 8 以后的语法简洁了很多, Lambda, Optional, Stream, var/List.of/Map.of/Set.of 等), 模式匹配加到最新的 Java 12 中了等。

Kotlin 很多东西比如 lambda 之类的在 Java 8 以后优势不明显。不过 Kotlin 还是有一些优势,null check, 函数优先,extensions 这些语法糖还是不错。当然像 Spring 中 RouterFuncation,Bean Definition DSL 之类的, 个人觉得一般,利用了 Kotlin 特性,但是很多东西又回到类似文本(和以前的 Groovy DSL,XML 差不多了)配置的老路上了。
hantsy
2019-05-07 10:34:11 +08:00
也说一点 Kotlin 缺点吧,作为 JVM 语言,和 Scala,Groovy 一样,相比 Java 编译速度明显减慢,这会严重影响开发效率。
yuankui
2019-05-07 11:05:28 +08:00
@gemini767 所以楼主说:

···感觉现在 Kotlin 势头不如以前了···
wupher
2019-05-07 11:08:27 +08:00
我是少见的,在后端使用 kotlin 开发。


@hantsy BTW,编译速度速度从来不会影响开发效率。我既用 Java,也用 kotlin、Scala、Groovy,甚至还有 golang。我一般使用 Maven 做为部署编译,开发过程中使用 IDE 的增量编译,都不会有你说的速度问题。

回原题, 好处:
* FP
* 语法糖
* 强类型:刚从 Groovy 转强类型时,确实有不习惯的地方,但是用久后确实也有它的方便
* Coroutines
* ReativeX Koltin 相比 RxJava 确实也有一些有趣的地方,不过现在用 Coroutines 更多
* 没有分号

缺点或者不便:
* 强类型带来的副影响:json 相较 Groovy 或者 Java,有些地方确有不便
* 版本的快速升级
holmesabc
2019-05-07 11:14:06 +08:00
除了反射和范性。
其它都全是优势。

只要你敢用两周,应该就下不了贼船了
chendy
2019-05-07 12:01:13 +08:00
1. 不用写分号
2. 有携程,比 rx 之类的好多了
shihty5
2019-05-07 13:18:19 +08:00
@ysihaoy Aha you know us

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/561388

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX