1
Kasumi20 2021-06-07 11:20:58 +08:00
太灵活了,只适合 geek 玩
上班摸鱼还是老老实实写 Java 的 getter setter 。 |
2
dolphintwo 2021-06-07 11:21:27 +08:00 15
因为培训班只教 java
|
3
szq8014 2021-06-07 11:24:32 +08:00
还是取决于公司的业务类型,比如我所在的公司有一些甲方验收的时候明确要求是 Java 。
有一些自己的产品就可以随便用,不过为了统一我也不打算推 kotlin 了,虽然用它写业务真的很爽 let apply map 爽到飞起 |
4
kidult 2021-06-07 11:26:42 +08:00 1
JAVA:一万个人心中只有那个哈姆雷特
Kotlin:一万个人心中有一万个哈姆雷特 |
5
ufan0 2021-06-07 11:31:22 +08:00 via Android
维稳大于天,大家觉得老东西靠谱,除非哪天 Java 不让用了或者彻底某个方面被时代抛弃了。
话说回来,如果你是部门架构师级别的,是可以自己选择其他语言的。 |
6
wupher 2021-06-07 11:33:18 +08:00
用没问题,招人的时候就有点麻烦。
我的项目后端使用 Kotlin 开发,新人从学习能上手做事,要接近 1 个月吧。 |
7
qwerthhusn 2021-06-07 11:35:33 +08:00
用了 KT 感觉 Java 就是一坨屎。但是公司项目肯定还是用 Java 啊,不是所有人愿意花精力学 kt 的。
|
8
zoharSoul 2021-06-07 11:37:22 +08:00
暂时缺少大公司零头宣传.
|
9
wengych 2021-06-07 11:38:25 +08:00 via iPhone
后端能用 java11,以前安卓只能用 1.6
|
10
levelworm 2021-06-07 11:40:57 +08:00 via Android
看了下语法 return on when 有点骚啊
|
12
stimw 2021-06-07 11:44:13 +08:00
大部分从 java8 换到 11 都不想换,还让他们换个语言...
|
13
uglyer 2021-06-07 11:50:00 +08:00 1
17 年的项目尝试过,除了对象序列化遇到一些坑之外其他方面都挺好的,能极大的提高效率。
对于团队成员,kotlin 不熟悉的语法,先用 java 写 用 idea 提供自动转换的工具 翻译为 kotlin,基本上一周左右都能熟悉了。 |
14
jarrodquan 2021-06-07 11:55:29 +08:00
我现在在用 Gradle 构建基于 Kotlin 的 JavaFX 项目还有 Spring Boot 项目。
后来因为要完全离线开发,把 Gradle 换回了 Maven 。 Kotlin 写起来很舒服,省略标点符号,更高级的扩展 API,免去了 Getter/Setter 直接赋值取值(写 JavaFX 的时候贼爽)。 后端 Spring Boot 这种项目,最明显的感受就是更便捷的集合操作 API,还有协程。 |
15
Leviathann 2021-06-07 12:02:54 +08:00 via iPhone
@zhgg0 kotlin 的 class 相关语法比 Java 复杂不少
易上手主要是函数式相关的 api 比较直观易用 |
16
MarkLeeyun 2021-06-07 12:14:40 +08:00
@kidult 还好,其实都有规范的,按照规范去写代码应该不会有什么大的问题的。
|
17
yazinnnn 2021-06-07 12:36:50 +08:00
未来是可以期待的,spring vertx quarkus 等后端框架是拥抱 kotlin 的
|
18
fermiz 2021-06-07 12:41:06 +08:00
目前项目正在使用 Kotlin,大半年了;语言本身方面挺香的,尤其是集合操作、scope 函数之类的;框架方面,基本很多开源的依赖都有 kotlin 支持,目前除了 MapStruct 这种底层要转会 JAVA 的静态代理的,没有什么大坑,新人上项目 2-3 周适应期,可以先写 Java 用 IDE 自动转试试;
|
19
zxCoder 2021-06-07 12:48:55 +08:00
kotlin 和 c#有些语法糖挺像的
|
21
holulu 2021-06-07 12:52:15 +08:00
除非一开始就用,很少项目中途转。
|
22
Jooooooooo 2021-06-07 12:53:35 +08:00
好处不明显啊
而且一个相同的东西存在好几种写法是个非常大的缺点 |
23
xd314697475 2021-06-07 12:54:47 +08:00
我们在用 kt 写后端
|
24
Lonely 2021-06-07 13:00:04 +08:00 via iPhone 2
没有太大的优势啊
|
25
yazinnnn 2021-06-07 13:05:44 +08:00
@Jooooooooo
举个栗子? |
26
Jooooooooo 2021-06-07 13:11:07 +08:00
@yazinnnn 比如这种 val max = if (a > b) a else b
我宁愿看下面这种代码 int max; if(a>b) { max = a; } else { max=b; } 本来 java 自带的三目运算符就已经很不直观了(go 就直接抛弃了这个语法) |
27
viakiba 2021-06-07 13:11:51 +08:00
kt 相比 java 最大的优势是协程 其他只能说是语法糖
|
28
iyaozhen 2021-06-07 13:32:08 +08:00
有 spring 全家桶嘛?
再说还有发展迅猛的 go,还有市场依旧很大的 php |
29
Leviathann 2021-06-07 13:37:50 +08:00
|
30
iyaozhen 2021-06-07 13:42:16 +08:00
@Leviathann 那其实还是换语言的问题,就像前面说的,我们之前团队从 1.6 换到 8 都搞了好久。如果是新项目很可能用 go
|
31
yitingbai 2021-06-07 13:48:15 +08:00
@jarrodquan 你用 javafx 做什么项目? 这玩意太吃内存了, 空窗口启动就用了 40 多个线程和 100 多 MB 内存, 随便刷一刷几百兆内存就没了, 虽说现在内存便宜, 也架不住这么玩啊
|
32
Torpedo 2021-06-07 13:48:58 +08:00
https://www.v2ex.com/t/781261?p=1 你看看这下面很多写 java 的人的回帖,我感觉让他们用点『新』的 java 语法就很难了,更别说用 kotlin 了
|
33
NEVERCODE 2021-06-07 13:52:33 +08:00
我推荐给我司后端,他们非常抗拒…
|
34
timle1029 2021-06-07 13:54:35 +08:00
亚麻是有的,而且越来越多,只是对于用户来说感觉不到
|
35
Ambush 2021-06-07 14:03:27 +08:00
我司后端用的正是 Kotlin
|
36
fewok 2021-06-07 14:04:34 +08:00
完全没有性价比。
学习成本:用 kotlin 就可以不懂 java 吗? 内存占用:基于 jvm,kotlin 反而多占用一些内存 执行速度:jvm 上,没有区别 开发效率:你还在纠结那些语法表达,我已经完成任务。 结构化设计:OOP 、AOP 、DI 、DDD 等等,思想都没变法,不过是语法不一样。 |
37
cco 2021-06-07 14:05:03 +08:00
@qwerthhusn 没必要捧一贬一,各有优缺点。
|
38
wxw752 2021-06-07 14:14:05 +08:00 1
”凭什么让我学 kotlin,下一份工作又用不到”
|
39
unco020511 2021-06-07 14:16:18 +08:00
因为大家都不想换
|
40
wupher 2021-06-07 14:18:17 +08:00
@Leviathann 是的,我也是因为更喜欢诸如 FP,以及诸如 data class,强类型等语法点而使用。
@zhgg0 但写代码的时间就有可能更长了。Kotlin 写完基本编译成功后,就基本没太多问题。 其实新的 Java16 也提供了类似 data class 机制,不过,java16, 我司运维现在还支持 java8 。 |
41
roundgis 2021-06-07 14:23:06 +08:00 via Android
@jarrodquan gradle 不支持離線嗎?
|
42
Alexliu 2021-06-07 14:27:29 +08:00
这不就是看个人爱好么。。我是有在生产环境用 kt 写过后端了,反而没在 android 里用
|
43
shihty5 2021-06-07 14:29:52 +08:00
|
44
Rheinmetal 2021-06-07 14:31:55 +08:00
有一个古老的项目,有人用 kt 重构之后把线程全部改成 coroutine 。
在旧机器上跑的好好的,等要迁移的时候。新机器上项目直接启动过后,过一会儿不明原因 hang 。 |
45
zed1018 2021-06-07 14:32:32 +08:00
我们组一半的 jvm 已经用 kt 了
|
46
zhuangzhuang1988 2021-06-07 15:06:19 +08:00
@Rheinmetal 而且特别难查 bug.
|
47
dbpe 2021-06-07 15:09:50 +08:00
kotlin 语法糖真甜...特别是拓展方法...真香
|
48
yyyyda 2021-06-07 15:10:38 +08:00
我们就在用 kotlin 写后端,到现在快两年了
|
50
byte10 2021-06-07 15:28:41 +08:00
@kidult 哈哈这一个精髓了,很多人喷 java 为啥那样古板的语法。其实就是这个道理,花里胡哨的语言导致无法维护的情况。因为开发团队 参差不齐,所以最好的语言还是 java 的
@qwerthhusn 你要听话,比 Kotlin 好的语言多的是,js,python,go,c# 开发都比它爽。但是为啥在业务领域还是 java 强,你还没领会到。当你成为领导,架构师的就会知道了。不听话就会很惨的。 |
51
hello1996 2021-06-07 15:42:50 +08:00
因为后端用 kotlin 收益不大
|
52
yvestang 2021-06-07 15:43:55 +08:00 1
为啥很多人还停留在「我学了个新语言很厉害」、「 xx 语言比 yy 语言更牛」这个层次.....估计是没有管理过大型工程吧。
|
53
Kamiyu0087 2021-06-07 15:46:10 +08:00
Kotlin 写起来确实很爽
个人很喜欢 |
54
Rwing 2021-06-07 15:46:59 +08:00
推荐一手 C# 😊
|
55
w741069229 2021-06-07 16:02:26 +08:00 1
用 kt 不如用 scala,写起来比 kt 优雅的多吧
|
56
huangyanan 2021-06-07 16:06:21 +08:00
@fewok 赞同,公司新人特别推崇新语言新特性。
|
57
kett 2021-06-07 16:12:11 +08:00 2
个人认为 Java 这种死板,语法糖少的语言非常适合工程,kt 这种灵活,语法糖多的,比较适合个人爽。
|
58
dqzcwxb 2021-06-07 16:17:38 +08:00
不用 kotlin 的理由并不是不接受新的语法也不是不会学,而是因为 java 会逐步吸收其他语言的成熟优点变成自己的
既然我用的语言会慢慢进化,我为什么要用其他的? |
59
echo1937 2021-06-07 16:25:38 +08:00
"方向错了,徒增功耗,有失公允,感知不强" /手动狗头
现在后端圈子都不太热衷 JDK 的更新,KT 化自然也就更不热门了。 |
60
acmore 2021-06-07 17:06:43 +08:00 1
楼主在经历了 “古板” 语言的摧残之后见到了比较现代化的写法很高兴可以理解,但是如果你了解其他的语言也可以问:“为什么不用 C#/Go” 等一系列不可能有标准答案的问题。但回答也简单,“没有为什么,没人拦着你用”。
软件工程是一门专有学科,其中语言的比重恰恰是极低的,既然 Java 好招人就用 Java 写,正如 C# 少见诸 JD 一样。如果真的喜欢高效和灵活地开发后端,Go 和 TS 效率要更高,生态好坑也少, 也可以关注 LTS 的 Java 17, Kotlin 灵活和高效没错,但也没有到成为银弹的高度。 |
61
DOLLOR 2021-06-07 17:21:31 +08:00
因为写 Java 的 leader 看不懂。
|
62
yike47 2021-06-07 17:51:57 +08:00
以稳为准,团队开发的情况下,提交了几个 Lambda 表达式都会问这个有没有问题
|
63
RicardoY 2021-06-07 18:07:35 +08:00
俺就在用,跟现有的 Java8 项目完全无痛集成。其实主要是看 leader 对这种新技术的态度如何,先在边缘服务上试点,然后推广到核心服务,有测试覆盖,使用 kt 不会遇到什么阻力的。
|
64
kingfalse 2021-06-07 18:11:43 +08:00 via Android
我是后端跟爬虫一直在用
|
65
dilu 2021-06-07 18:29:59 +08:00
不是语言好就用的人多,参考 rust,性能优,有范型,无 gc,结果不也是不温不火
|
66
chendy 2021-06-07 18:50:44 +08:00
公司项目老老实实 java,自己玩 kt
毕竟要考虑维护和招人 |
68
cmdOptionKana 2021-06-07 19:05:31 +08:00
@dilu 相反 Go 被语法爱好者狂喷,从很多角度都可以喷 Go 语法倒退,特性少要啥没啥,结果却大火。
|
69
thetbw 2021-06-07 19:24:39 +08:00
@fewok kotlin 写起来速度个人感觉还是比 java 快的,虽然编译起来有点慢。而且代码可以看起来更简洁,尤其是使用了协程
|
70
newmlp 2021-06-07 19:38:31 +08:00
出了问题你负责?
|
71
Huelse 2021-06-07 20:04:21 +08:00
kotlin 少,那 scala 做后端的也少,除了大数据的
|
72
levelworm 2021-06-07 20:05:21 +08:00
@Jooooooooo 这个我觉得要比 if else 写在外头的更直观啊,和三目操作符不一样。这个更接近口语了。不过就是 if else 的部分不能太长,否则一溜看下来也不舒服。
|
73
fewok 2021-06-07 20:45:18 +08:00
@thetbw 书写效率,不好做对比,因为没有质的变化,只能说取决熟悉程度(比如我 java 就非常快)。但你不写单测嘛?不执行下看看运行情况嘛?代码不过 CI\CD 嘛?
|
74
Mystery0 2021-06-07 21:28:11 +08:00 via Android
举一点例子:我司用 Arthas 来诊断服务的状态,偶尔还用在线 debug,对使用 Java 写的服务来说简直完美,对我用 kt 写的服务来说直接爆炸。后端不喜欢用 kt 的一个原因应该是配套的生态还是主要支持 Java 的吧
|
75
junbaor 2021-06-07 21:31:30 +08:00
无意间打开了 okhttp 代码已经换成了 kotlin, 我司基础框架也是用 kotlin 做的,该上车上车,问题不大。
|
76
matrix67 2021-06-07 21:39:17 +08:00
之前就是有提出的 worse is better .
|
77
Leee 2021-06-07 22:14:56 +08:00
歪个楼,也没见有人用 dart 来写后端的哈哈哈哈哈
|
78
abc612008 2021-06-07 23:36:52 +08:00
我以前的公司整个后端都是完全 kotlin 写的。
|
79
Muyiafan 2021-06-08 08:45:27 +08:00
因为只有你会
|
80
yibo2018 2021-06-08 09:39:59 +08:00
我前上司就特别迷 kottlin
其实我有时候很不理解这种东西,过来过去不就是换个语法糖,有必要吗? 我对各种语言语法的变化真是深恶痛绝,一样的操作非要搞 10 种 8 种写法,效率却没有多大的变化 我也承认语法也是有研究价值的,但是我觉得不如研究其他的更好 |
82
HangoX 2021-06-08 14:14:27 +08:00
如果一个代码运行得好好的为啥要改
|
83
THESDZ 2021-06-09 09:47:53 +08:00
@MarkLeeyun # 永远不要高估团队内开发人员的水平,也不要低估沟通的成本.
|
84
rachel1307 2021-08-29 11:31:13 +08:00
Java 转 Kotlin 了(不过也是大差不差) 最近有打算看看机会的兄弟姐妹可以丢我简历!!
Global Fintech 跨境支付 D+轮了 核心团队在扩招~ 10 7-8 5 节奏 市区马当路 Email: [email protected] |