慌的一批, Kotlin 这么优雅的语言为什么不火呢

2020-07-13 17:10:17 +08:00
 iseki

真是,两年没写 Java 了,之前写了两礼拜 Java 没给我急死,手速远远跟不上脑子的速度。。。 但是看看社区,有一种不温不火的感觉呢,慌······

43925 次点击
所在节点    Kotlin
181 条回复
fihserman123
2020-07-13 21:08:29 +08:00
反过来说:震惊,Java 语法这么垃圾的语言为什么这么火呢?
语法好不好和语言活不活又没有必然的关系 :)
hantsy
2020-07-13 21:08:58 +08:00
@wysnylc Completablefuture 想长成 ReactiveStreams 的模样 ,早生了两年,可惜缺少了 reactivestreams 一些特质,如订阅模式。实在不懂的是 Java 9 Copy 了 ReactiveStreams Java 1.0 API 到 Flow 中,一直嘎在那里, 并没有第三方框架大力支持( Spring 兼容,只是调用了一个 Reactor 的工具类做到的),搞不懂 Copy 的意义在哪里,难道就是为后面的 Java 11 HttpClient 使用?
hantsy
2020-07-13 21:10:29 +08:00
@sagaxu 好像 OpenJDK 原生的协程也在讨论中?
xiangyuecn
2020-07-13 21:12:40 +08:00
让开,让开,公差赶路,快让开,公差赶路。。

用过 swift 这坨后之后你就会觉得 Android 还是舒服点,oc 就不说了吧,java 真香,怎么舒服怎么来,所以我选 JavaScript🤔
gantleman
2020-07-13 21:17:38 +08:00
不太理解 Kotlin 这类静态语言的优雅,可以编译成 java 和 js 。
Kotlin 编译成 java,java 编译成中间语言,中间语言在 jvm 编译成二进制。
^^歪果仁们的编程语言套娃。
billlee
2020-07-13 21:18:32 +08:00
@tctc4869 #26 kotlin 可以算是 Scala-- 吧。如果是大数据之类重度使用函数式的开发,或者需要搞 DSL, 元编程这些东西,那么 scala 很合适。
abcbuzhiming
2020-07-13 21:21:32 +08:00
Kotlin 目前最大的问题是对这语言支持的比较好的 IDE 只有 IDEA,而众所周知,IDEA 是要钱的
hantsy
2020-07-13 21:25:01 +08:00
@billlee Scala 太 DSL 了点,什么 Funcation 都是可直写成 <xxx> <fun> <arguments> 太自由了。


Kotlin 好呆也要用 infix 来指定。
hantsy
2020-07-13 21:27:19 +08:00
@gantleman 我也有点不理解,还是 Java 直接,Kotlin 可选用吧,主要我觉得 Kotlin,Scala 编译明显慢了很多(这蹼很不爽),毕竟带套太多了。
lululau
2020-07-13 21:27:45 +08:00
谁说的 kotlin,scala,Clojure 是 Java 的方言的😂 JavaScript 才是 Java 的方言好吗😄
wwlzz
2020-07-13 21:29:48 +08:00
火不火不是语言决定的,C# 这么优秀的语言,也不火啊
hantsy
2020-07-13 21:35:33 +08:00
@lululau Javascript 纯粹是网红撞脸 Java 了
sagaxu
2020-07-13 21:36:43 +08:00
@hantsy jdk 原生协程 loom 项目就是以前搞 quasar 的那个人在搞,最快也要明年出来。

不看 freebsd 和 windows fiber 这种,操作系统层面最小粒度还是线程,协程最终都要在线程里运行,Go 协程最终也是在线程池里运行。协程设施提供的也只是调度和上下文的保存和还原。

@wysnylc 截图以为我没看过? netty 和 vertx 也都写过,最早就像答主说的那样,多开线程解决并发问题,一直开到 6000 个线程,需求还在不断扩大,后来第二版使用 netty 和 vertx 重写了,开发体验相当糟糕。

netty 写写框架或者基础设施是没问题的,但是一旦用来写业务逻辑,动不动就改逻辑的那种,心智负担明显高于协程。
hantsy
2020-07-13 21:37:23 +08:00
回头想其实 PHP 也不错。

我第一份工作 PHP 4.06 ,Oracle8i, Mandrake 8
wysnylc
2020-07-13 21:38:43 +08:00
@hantsy #82 先挖坑后面填吧,现在快速迭代开发版本,功能日新月异实在变化太快了有些人还停留在过去也能理解
就目前来看 Completablefuture 作为一个简单的异步编程填充是合格的,Java9 的 Flow 知道的人少用的更少要是想用订阅模式还是用第三方 jar 包实现吧
Java 只抄成熟的不抄最新的,有些特性不 Copy 可能是有一定考虑在里面,毕竟加了再改太麻烦没有十足把握还是再观望观望
wysnylc
2020-07-13 21:44:16 +08:00
@sagaxu #93 有些业务用协程重写性能提升并不是因为协程而是因为重写旧的代码获得性能提升
netty 写业务确实是灾难,写容器和框架或者作为高性能组件才是正途
brucewuio
2020-07-13 22:01:52 +08:00
那个钱多用那个,我太穷了
Mistwave
2020-07-13 22:18:57 +08:00
@hantsy 其实 Scala 调 Java 还是很顺利的,反过来比较恶心
kingslayer
2020-07-13 22:22:33 +08:00
@lloovve 非也,只能说也是编译成 class 文件
hantsy
2020-07-13 22:27:02 +08:00
@Mistwave 我只懂点 Java 语法的,学 Kotlin 还是比较轻松,Kotlin Corountines 除外。但是对于 Scala,我是拒绝的,从第一次接触 Scala 2.0.8,都过去好多年了,先后几次准备搞起 Scala,最后止步在 Implicit,和它的泛型,头开始晕了。

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

https://yangjunhui.monster/t/689648

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

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

© 2021 V2EX