
























这是一个创建于 2162 天前的主题,其中的信息可能已经有所发展或是发生改变。
真是,两年没写 Java 了,之前写了两礼拜 Java 没给我急死,手速远远跟不上脑子的速度。。。 但是看看社区,有一种不温不火的感觉呢,慌······
1 wvitas 2020 年 7 月 13 日kt 才几年啊,现在用的不是挺多的么,除了 android 以为,后台有的不是已经开始用了么 |
3 dcalsky 2020 年 7 月 13 日 via Android用 kotlin 替代一切 java 场景的给你打打气。 |
4 wvitas 2020 年 7 月 13 日@iseki 是的,是你太着急了,什么语言也不可能快速火的,android 端 Google 都提出 kt first 了,android 端现在至少 60%+有 kt 了,后台不了解,相信不久的将来后台也会用的 |
5 iseki 2020 年 7 月 13 日其实 Kotlin 真的挺好的,能够比较好的帮人避开一些坑,已经好几次看到 Java 代码里有人 `==` 比较 `Long/Integer` 了 emmm 我和他说别这么写他还反应不过来原因 emmm |
7 lloovve 2020 年 7 月 13 日 via iPhoneAndroid 上 kotlin 还是编译 Java 吧,意义不大 |
9 FireFoxAhri 2020 年 7 月 13 日 via AndroidScala 开发飘过… |
12 tctc4869 2020 年 7 月 13 日@iseki eclipse 不行么? IDEA 啊,感觉不放心,我想到 android studio 这个感觉很棒又感觉糟糕的东西。android 开发里用 MVVM 居然得用高版本 android studio 才行 |
14 stevenlv 2020 年 7 月 13 日多项目大都还是 java 的,切换语言有成本。 |
15 iseki 2020 年 7 月 13 日@tctc4869 现在,Android APP 还有用 Eclipse 开发的吗? iseki 才知道呢,另外,不曾见过身边有 JVM 生态开发者有使用 Eclipse 的呢 |
18 iseki 2020 年 7 月 13 日话说,Android 现在的官方一等推的 IDE 不是 Android Studio 吗 emmm |
19 tctc4869 2020 年 7 月 13 日@iseki 我没用过 IDEA 开发,但我用过 android studio,这个是基于 IDEA 社区版,但是我用安卓开发的 MVVM 模型,我不知道谷歌的 android studio 设计者到底是傻还是出于什么原因,android 的 MVVM 居然要等到 3.6 版本才支持 |
20 wujieyuan 2020 年 7 月 13 日@tctc4869 用过你就回不去了, 你用 Eclipse 是因为你熟悉它, 而不是因为 Eclipse 比 IDEA 好, 正如 kt 比 java 写起来舒服, 但是更多人还是用 java, 因为更熟悉 |
21 chendy 2020 年 7 月 13 日自己有几个小项目用的 kt,唯二的感觉是编译速度比 java 慢,以及不用写分号 |
22 glaucus 2020 年 7 月 13 日Java 的优点在这个时候就变成缺点了呀,需要太多框架与库适配,虽说不适配也可以用,但是还是没有全是 Kotlin 写的用起来舒服 |
23 tctc4869 2020 年 7 月 13 日@iseki 用 eclipse 开发 java,之所以还用,是因为 Eclipse 的几个插件把,region 折叠插件,还有换行字符串插件(不是 java13 的换行) |
24 tctc4869 2020 年 7 月 13 日@iseki IDEA 有没有开发 java 的换行字符串的插件功能? java 的换行字符串,java13 虽然支持,但 13 那个版本不是长期支持的 |
26 tctc4869 2020 年 7 月 13 日Scala 与 kotlin 相比怎样?如果要只选一个,那么选谁? |
28 tctc4869 2020 年 7 月 13 日@WebKit 那 html 的 Vue 是怎么搞起的?我用 html 开发基于 vue 的 js 程序,哪怕只用记事本都可以实现 MVVM 。还有微软的 WPF 的 MVVM 开发,只需要继承一个接口就可以,与上下文进行绑定就可以实现 MVVM 了,没有牵扯到 visual studio 的版本,MVVM 开发模式,这个应该是与 IDE 无关的啊。 |
31 viator42 2020 年 7 月 13 日java 能用就先用着,还得留着精力捣鼓 flutter |
32 wysnylc 2020 年 7 月 13 日用过 Java8 Stream Lambda Completablefuture LocalDateTime 吗? |
33 murmur 2020 年 7 月 13 日因为 java 只是啰嗦,这叫教科书级别的工整,跟 objc 比 java 美爆了好吧? |
34 fanqsh123 2020 年 7 月 13 日天天看别人说“代码优雅”,“结构优雅”,“语法优雅”,这个优雅到底是啥呢?我也明明写了挺多年代码了呀! |
36 iseki 2020 年 7 月 13 日@tctc4869 抱歉没用过 Eclipse,但是 idea 默认提供对换行的有限支持(你按回车时会自动拆成 "..." + "..."的形式) |
37 iseki 2020 年 7 月 13 日哦,我上条的说法可能是错的,我的上下文有问题 |
38 7hens 2020 年 7 月 13 日 via Android@wysnylc Java8 用起来还是没有 Koltin 爽,Sequence, Flow, Coroutine,还有自动类型推断、inline, 各种语法糖,简直不要太爽。 |
39 mmdsun 2020 年 7 月 13 日 via Android并不是语言优雅就可以火。。看看隔壁 C#就知道了。Kotlin 好多特性都可以看到 C#的影子。 还有就是现在 Java 更新速度飞快。kotlin 的特性以后 Java 也会有。。 |
40 iseki 2020 年 7 月 13 日 via Android@fanqsh123 我对此的看法可能比较肤浅,如有误还请指出… 在我眼里,看着舒服,整洁;逻辑一致,分层清晰,坑少(指不容易出错)可以说是优雅 |
43 qW7bo2FbzbC0 2020 年 7 月 13 日优雅不仅仅有语法或者格式优雅,还有运行优雅。Kotlin 现在可以像 go 或者 c#那样编译成自带运行环境的二进制文件吗? |
44 tctc4869 2020 年 7 月 13 日@iseki 按回车时会自动拆成 "..." + "...",这种换行感觉不行,如果我要复制出来合并呢,,是不是还得把引号和+号复制出去? 如果我真的用 IDEA 了,那可能是用 Kotlin 弄了,而不是 java,我用 java 还是继续 eclipse,至少有个插件在 idea 是没有的。java13 的那个字符串换行功能,未来支不支持都还是问题。 |
45 wysnylc 2020 年 7 月 13 日@7hens #38 java9 flow ,java10 var,java13 switch 优化,java14 instanceof 模式匹配 |
47 pursuer 2020 年 7 月 13 日@hjahgdthab750 kotlin native 好像还真可以,不过我不太喜欢每个程序都给自己打包个运行环境副本的做法 java 最近加特性也加的挺快的,最近也在了解 Kotlin 。 |
48 murmur 2020 年 7 月 13 日@hjahgdthab750 electron 都能自带 chrome,java 当然可以自带 jre,jetbrains 家的产品就自己带 jre |
49 sagaxu 2020 年 7 月 13 日 via AndroidKotlin 在 reddit 上热度刚超过 Scala,作为一个正式发布才 3 年的语言,普及的已经相当快了。 @wysnylc Java 抄的太慢了,coroutine 2021 年出的来吗? Kotlin 只要 JVM8 就够了。 @hjahgdthab750 Kotlin native 支持多平台,但是性能跟 C++比还是差太多,生产用还不够成熟。 |
51 iseki 2020 年 7 月 13 日 |
57 sagaxu 2020 年 7 月 13 日 via Android阿里和华为的 JDK 都有协程 |
59 iseki 2020 年 7 月 13 日Java 本身也有类似的解决方案,毕竟需求是存在的,协程又不是 Kotlin 团队发明的。不过 Kotlin 用一种相对优雅的方案对此提供了第一方的支持 |
60 gtx990 2020 年 7 月 13 日 via Androidstackless coroutine 就是 Completable future+语法糖 |
61 iseki 2020 年 7 月 13 日在我看来 Coroutine 就是个大号语法糖,你不用他也能写,就是得多费点脑细胞 emmm |
63 wysnylc 2020 年 7 月 13 日 |
64 sharpy 2020 年 7 月 13 日kt 里那个 sum enum 写法,和 scala 一样,设计得有点儿难看 |
65 wysnylc 2020 年 7 月 13 日@sagaxu #62 回调地狱在 2014 年发布的 Jdk8 中的特性 Completablefuture 早已经被解决,6 年过去了你还是没有更新过对 Java 的知识点 |
67 iseki 2020 年 7 月 13 日其实就 Java 生态(如 Spring )大量利用 ThreadLocal 的这些问题,Coroutine 都有对应的支持,Kotlin coroutine 本身也在不停演进······另外 Coroutine 提供的功能是 Completable 的超集 |
68 sharpy 2020 年 7 月 13 日@iseki 只是粗看了一下,记忆里是这样,和 scala 好像都是 sealed 关键字,当初做那本 scala 红皮书,这玩意儿写起来有点儿蛋疼,swift 和 rust 里简洁多了 |
69 hslx111 2020 年 7 月 13 日现在好多后台开始用 Go 了。。。 |
70 sagaxu 2020 年 7 月 13 日 via Android@wysnylc 别扯了,future 和 promise 只是解决了回调的代码缩进问题,根本没解决流程控制的复杂度。一旦业务复杂,涉及到循环和递归等控制,异常的传播,future 写起来还是太麻烦了。曾经负责过公司一个大量使用 future 的项目协程化,协程真香。 |
74 hantsy 2020 年 7 月 13 日@sharpy 莫急,马上 Java 15 的 Sealed 就出来了,配合现在 Java 14 的 Pattern Matching 你就不用羡慕 Scala 了。 |
76 hantsy 2020 年 7 月 13 日实在对 Coroutines 没太多好感,同时也讨厌类似的 Promise ( async, await 这些),要么用同步方式,要么 Functional 流式。 |
77 Mistwave 2020 年 7 月 13 日 via iPhone@sharpy 大概是想说 algebraic data type 的 sum type 吧,Scala 这个确实恶心,没办法,要兼顾 oo 。Haskell 就爽多了。 写 Scala 吧,更爽🐶 |
81 fihserman123 2020 年 7 月 13 日反过来说:震惊,Java 语法这么垃圾的语言为什么这么火呢? |
82 hantsy 2020 年 7 月 13 日@wysnylc Completablefuture 想长成 ReactiveStreams 的模样 ,早生了两年,可惜缺少了 reactivestreams 一些特质,如订阅模式。实在不懂的是 Java 9 Copy 了 ReactiveStreams Java 1.0 API 到 Flow 中,一直嘎在那里, 并没有第三方框架大力支持( Spring 兼容,只是调用了一个 Reactor 的工具类做到的),搞不懂 Copy 的意义在哪里,难道就是为后面的 Java 11 HttpClient 使用? |
84 xiangyuecn 2020 年 7 月 13 日让开,让开,公差赶路,快让开,公差赶路。。 用过 swift 这坨后之后你就会觉得 Android 还是舒服点,oc 就不说了吧,java 真香,怎么舒服怎么来,所以我选 JavaScript🤔 |
85 gantleman 2020 年 7 月 13 日不太理解 Kotlin 这类静态语言的优雅,可以编译成 java 和 js 。 |
86 billlee 2020 年 7 月 13 日@tctc4869 #26 kotlin 可以算是 Scala-- 吧。如果是大数据之类重度使用函数式的开发,或者需要搞 DSL, 元编程这些东西,那么 scala 很合适。 |
87 abcbuzhiming 2020 年 7 月 13 日Kotlin 目前最大的问题是对这语言支持的比较好的 IDE 只有 IDEA,而众所周知,IDEA 是要钱的 |
88 hantsy 2020 年 7 月 13 日@billlee Scala 太 DSL 了点,什么 Funcation 都是可直写成 <xxx> <fun> <arguments> 太自由了。 Kotlin 好呆也要用 infix 来指定。 |
89 hantsy 2020 年 7 月 13 日@gantleman 我也有点不理解,还是 Java 直接,Kotlin 可选用吧,主要我觉得 Kotlin,Scala 编译明显慢了很多(这蹼很不爽),毕竟带套太多了。 |
90 lululau 2020 年 7 月 13 日 via iPhone谁说的 kotlin,scala,Clojure 是 Java 的方言的😂 JavaScript 才是 Java 的方言好吗😄 |
91 wwlzz 2020 年 7 月 13 日火不火不是语言决定的,C# 这么优秀的语言,也不火啊 |
93 sagaxu 2020 年 7 月 13 日 via Android@hantsy jdk 原生协程 loom 项目就是以前搞 quasar 的那个人在搞,最快也要明年出来。 不看 freebsd 和 windows fiber 这种,操作系统层面最小粒度还是线程,协程最终都要在线程里运行,Go 协程最终也是在线程池里运行。协程设施提供的也只是调度和上下文的保存和还原。 @wysnylc 截图以为我没看过? netty 和 vertx 也都写过,最早就像答主说的那样,多开线程解决并发问题,一直开到 6000 个线程,需求还在不断扩大,后来第二版使用 netty 和 vertx 重写了,开发体验相当糟糕。 netty 写写框架或者基础设施是没问题的,但是一旦用来写业务逻辑,动不动就改逻辑的那种,心智负担明显高于协程。 |
94 hantsy 2020 年 7 月 13 日回头想其实 PHP 也不错。 我第一份工作 PHP 4.06 ,Oracle8i, Mandrake 8 |
95 wysnylc 2020 年 7 月 13 日@hantsy #82 先挖坑后面填吧,现在快速迭代开发版本,功能日新月异实在变化太快了有些人还停留在过去也能理解 |
96 wysnylc 2020 年 7 月 13 日@sagaxu #93 有些业务用协程重写性能提升并不是因为协程而是因为重写旧的代码获得性能提升 |
97 brucewuio 2020 年 7 月 13 日那个钱多用那个,我太穷了 |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。