2022 年冬月, Java 后端工程师拒绝使用 kotlin 的技术原因有哪些?

2022-12-13 20:54:24 +08:00
 yazinnnn

除去一些非技术的原因(如:领导不让用,同事看不懂,学不会,没时间,不挣钱,对比 java 没优势等)

可能对比 java 没优势算是一个技术原因

有哪些技术原因呢? 比如

14904 次点击
所在节点    Java
145 条回复
MakHoCheung
2022-12-14 09:26:59 +08:00
除了扩展函数(中缀表达式就不说了,乱用的话别人看你的代码会骂娘),Kotlin 有的 Java19 都有了,与其换 Kotlin 还不如升 JDK
wetalk
2022-12-14 09:29:11 +08:00
因为 kotlin 市场占有率低,国内写后端没多少人用
iovekkk
2022-12-14 09:30:55 +08:00
kotlin 写起来是真的爽
但是作在初期学习过程中
看项目 kotlin 代码,真的是头大
阅读性太差了
fredli
2022-12-14 09:39:52 +08:00
还需要特意学么?有个 lead 带头,看看用用不久会了么
sinnosong1
2022-12-14 09:41:35 +08:00
我身边的 java 大部分都是拒绝学习任何东西
zzlhr
2022-12-14 09:46:45 +08:00
kotlin 有协程,貌似很吊
ttimasdf
2022-12-14 09:48:34 +08:00
没用。。特别是你身边都是垃圾程序员的时候,格外没用。

当然有一点好。
写 JD 还有面试的时候,把 kotlin 加进去,可以有效筛掉一部分低端码农。
OaO
2022-12-14 09:48:51 +08:00
@sinnosong1 太对劲了
matrix67
2022-12-14 09:50:05 +08:00
C 和汇编有如太祖长拳。无名小厮耍起来也就是小朋友乱斗的效果,在萧锋手上,却是招招致命。语法本身极其简单,关键词手脚并用都能数得出来,写个 hello world 更是两分钟就能搞定,但只有你对系统融会贯通,练好各种内功心法,才能发挥其巨大威力。

PHP/javascript 是吸星大法。练起来不难,没内力的入门很快,网上到处是现成的模块,据为己有后立刻等级提升。不过其致命的缺陷导致你只能在准一流游走,用不好关键时刻还会反噬。

Python/Ruby 是太极剑,变化多端,小到一个卑微的脚本,大到高逼格的机器学习,都能轻松对付。可是 performance 和解释器实现上的先天不足( Guido/Matz 其实挺冤:我给你们个电钻,你们非要用它来钻钢板,性能不好,怪我咯)是其破绽,导致遇到计算密集 /IO 密集型的问题,处理起来很是伤肾。

Erlang/Elixir 像是降龙十八掌,大开大阖,刚劲有力。可是入门不易,思想深邃,会的人不多,只能靠自己苦苦钻研。actor model ,supervision tree ,messaging passing ,pattern matching ,光理解透了,便是半载光阴,练出名堂,那出手便是大师风范。

clojure 好似独孤九剑,「风雷是一变,山泽是一变,水火是一变」,变化多端,核心是以不变应万变。需求纵使千变万化,提纲携领,找到破绽,然后以 macro 和 polymorphic 化之。代码即数据,数据即代码,以轻御重,化烦( object )去简( function ),退则滴水不漏,进则攻无不克。

Haskell 像是乾坤大挪移,没有深厚的内力修为很难参透。lazy computation/monad 干的就是牵引挪移这样匪夷所思的事情。一个程序,不过是从输入到输出中间经历的一系列 transformation ,你是一招一式传递数据,还是传递运算,斗转星移?回答了这个问题,haskell 也就算是入了门。
optional
2022-12-14 09:52:14 +08:00
写起来很爽,用过两个项目,发现还是不太适合团队。
optional
2022-12-14 09:52:56 +08:00
一不小心就会开始创造 dsl 然后在这里浪费时间又觉得莫名很爽。。。
BanGanExpert
2022-12-14 09:59:56 +08:00
@Leviathann 大多数 springer 根本问题其实不是说不懂新特性,而是因为 Java 作为最火的后端开发语言,早期入门门槛过低造成,大量基本的编程能力过差的人员(特别本身也没有兴趣的人)通过 spring 框架能够完成基本的开发工作。他们缺乏的反而是基本的编程的能力,在缺乏基本的编程能力的前提下更自然不会对新的特性,或者语法糖也好有任何学习的动力。当然我不太懂前端,但是我猜测前端出现这种情况估计也不少。
zapper
2022-12-14 10:00:35 +08:00
本帖中使用 Kotlin 的我一律视为大神,高端大气上档次;
使用 Java 的都是 low 逼,老古董,笨蛋胚子
popil1987
2022-12-14 10:10:24 +08:00
不要看语言要看生态,语言常有,然生态不常有,干什么事就用最适合这件事的库或框架。学语言比造生态容易多了。如果你是普通人的话,如果你是天才也不可能问这问题,早创造生态去了
yaocai321
2022-12-14 10:10:26 +08:00
用 kotlin 三四年了。 个人观点,拒绝使用 kotlin 的原因,对个人而言,就是不愿接受新鲜事物,对团队而言,写起来爽,但看起来难受(因人而异)。
不过话说回来,高版本 java 跟 kotlin 也没多大区别了,使用频率比较高的特性,高版本 java 基本上都有了。
如果在使用高版本 java ,没用 kotlin 也很正常。
ylls
2022-12-14 10:17:12 +08:00
有些人写 Java 已经够烂了,再写 Kotlin 那不得给鬼看呀
loshine1992
2022-12-14 10:18:58 +08:00
@zzlhr 如果你用过协程就会知道,在 JVM 上 Kotlin 的协程只是对线程的封装而已。
chendy
2022-12-14 10:22:52 +08:00
因为有成本和风险但是没有收益
真实世界里别说优秀团队,靠谱开发其实都很难找,能把 java 写明白,不偶尔整个 str != "" 就不错了,用 kt 怕不是原地去世
自己玩用啥都行,正经项目要考虑稳定性和成本
mooncakeSec
2022-12-14 10:24:16 +08:00
2022 冬 gradle 都还没推太动呢
zed1018
2022-12-14 10:24:38 +08:00
@yaocai321 拒绝 kotlin 的人大概率也拒绝高版本 java ,也许用的新 jdk ,但语法还是老一套。

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

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

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

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

© 2021 V2EX