V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  yazinnnn  ›  全部回复第 18 页 / 共 49 页
回复总数  965
1 ... 14  15  16  17  18  19  20  21  22  23 ... 49  
2022-12-14 16:17:15 +08:00
回复了 yazinnnn 创建的主题 Java 2022 年冬月, Java 后端工程师拒绝使用 kotlin 的技术原因有哪些?
@leonshaw
我什么都没说,这话是 Paul Graham 说的

我对"语言只是一个工具"这个观点没有看法,我只是觉得不认同这个观点等于眼界差也太扯淡了


下面的话也是 paulg 说的

---
一旦你开始思考这个问题,就会发现它非常棘手。如果你的经理被迫去想这个问题,当他看到它的复杂性时,脑袋恐怕都会爆炸。如果所有语言真的都一样,那么他只需选择一种看上去获得大部分人拥戴的语言就可以了,因为这实际上是一种流行风尚,而不是技术问题,所以即使像你的经理这样对技术无知的人也有可能轻松得到正确答案。但是,如果语言各有不同,你的经理就会突然发现,有两个互相关联的方程,他必须找到一个能够同时满足两个方程的最佳解,而最要命的却是他对此根本一无所知。第一个方程是找到(相对于要解决的问题)能够适用 20 年左右的最佳语言,第二个方程是(为这种语言)找到合适的程序员、函数库的机会有多大。如果假定所有语言都不同,就会遇到这种苦苦求解的情况,所以难怪你的经理不愿意接受这个假设了。

认为所有语言都一样的看法的缺点是自欺欺人,但是优点是可以使许多事情变得很简单。我想这就是为什么它被广泛接受的主要原因。它是一个令人舒服的想法。
---
2022-12-14 15:23:56 +08:00
回复了 yazinnnn 创建的主题 Java 2022 年冬月, Java 后端工程师拒绝使用 kotlin 的技术原因有哪些?
@witcherhope

---
举例来说,假设你需要写一个软件。你的经理根本不懂这个软件的运作机制,也不知道各种编程语言有什么区别。但是,他竟然明确要求你一定要使用某一种语言进行开发。没错,他就是要求你一定要用 Java 语言。

为什么他会提出这种要求?让我们看看他脑袋里是怎么想的。他的想法无非就是,Java 是业界的标准。我知道肯定如此,因为媒体对此有铺天盖地的报道。既然它是标准,那么使用它就不会错。另外,这也意味着人才市场上肯定有无数 Java 程序员,即使现在为我打工的这批人都辞职了(真奇怪,这种事情总是不断发生),我也能够轻易地找到替代者。

嗯,这听起来也不无道理。但是,它的前提是一个没有说出口的假设,而这个假设实际上是错的。你的经理相信所有编程语言的功能都差不多,可以互相替代。如果这种想法是对的,那么他要求你用 Java 编程就很合理了。反正编程语言之间没有区别,那么就用大家都在用的那种语言吧。

但是,编程语言是不一样的。就算不探讨各种语言之间的具体区别,我也能向你证明这一点。回到 1992 年,如果你问经理使用什么语言开发软件。他会像今天一样毫不迟疑地回答说 C++。如果所有编程语言都一样,为什么答案变了?进一步说,为什么 Java 语言的设计者要如此麻烦地去创造一种新语言呢?

一般来说,如果你动手创造一种新语言,那是因为你觉得它在某些方面会优于现有的语言。Java 语言之父詹姆斯·戈斯林在第一份《 Java 白皮书》中说得很清楚,之所以要设计 Java ,就是想解决 C++的一些弱点。所以结论就是,各种编程语言的编程能力是不相同的。如果你接受你的经理的假设,然后一路追溯到 Java 语言的源头,就会得到与他的假设完全不同的结果。

到底谁对?戈斯林还是你的经理?结果当然是意料之中的,戈斯林是正确的。某些情况下,一些语言就是比另一些语言更出色。可是这样一说又导致了另外的问题。C++不适合解决某些难题,所以 Java 才被设计出来。那么,什么情况下应该使用 Java ,什么情况下应该使用 C++呢?会不会某些情况下其他语言比它们更合适呢?

---

paulg 姑且也能算个开发吧?他的眼界在程序员群体中能排第一不?
2022-12-14 11:50:07 +08:00
回复了 ggp1ot2 创建的主题 程序员 好奇大家吃饭时看什么下饭?
看管人
2022-12-14 11:04:46 +08:00
回复了 arvin01 创建的主题 问与答 如何看待《三体》里的黑暗森林法则?
大过滤器假说更靠谱

如果用黑暗森林观察人性的话,不如去看看恶魔人(原版)
2022-12-14 10:49:35 +08:00
回复了 yazinnnn 创建的主题 Java 2022 年冬月, Java 后端工程师拒绝使用 kotlin 的技术原因有哪些?
append 了一些我个人的认为的 kotlin 技术 /语言层的优势

然后再说一下对比 java 和其他语言的不足(?)

1. 没有模式匹配,这点 kotlin 官方貌似对它不感兴趣,目前只有 when 表达式,模式匹配上还不如 java 有进展,更别提 scala 或者 rust 了
2. 没有三元运算,只能 if ( condition ) a else b , 不知道是编译器实现上有困难还是什么原因
3. 无法自定义运算符(指望一下 kotlin 2 吧,如果有的话)
4. kotlin 协程染色问题,java 无法直接调用 kotlin suspend 方法,需要 kotlin 侧工程师拯救

再补充一下上面漏掉的优点
空安全和 elvis 表达式(很多语言都有,js ts csharp swift 等等,不过 kotlin 初学者或者 java 工程师对 kotlin 的?非常抵触)
与 java 的互操作性优秀(对比 scala 和 f#与 c#,不过我不懂.net ,初看 f#和 c#互操作有点麻烦)
inline 及 refied ,可以把一些多于的工作交给 kotlin 编译器,并且提高了运行时的效率
object 关键字实现单例,by lazy 实现延迟加载,:InterfaceA by a 实现代理模式(比较高效的开发手段)
2022-12-12 17:33:21 +08:00
回复了 awanganddong 创建的主题 程序员 非严肃的讨论下这个问题
属于气功热,气功大师的范畴
2022-12-12 15:00:02 +08:00
回复了 wangxiang 创建的主题 问与答 「三体」动画怎么样,值得看么
还没看,听说把罗辑塑造的像是个美国人性格?
2022-12-12 13:40:07 +08:00
回复了 shenyehao2020 创建的主题 职场话题 被单位的推广任务恶心到了
不推广有什么后果?推广了有什么好处?
2022-12-12 10:06:40 +08:00
回复了 sockball07 创建的主题 程序员 各位对错字的容忍度
除非故意错用,一般来说我自己是尽量不写错别字和 typo
2022-12-10 09:51:54 +08:00
回复了 levelworm 创建的主题 Linux 求问各位大佬如何选择学习用的发行版
arch > manjaro > ubuntu > deepin
不推荐 centos
2022-12-10 09:33:52 +08:00
回复了 ufan0 创建的主题 Java FastJson 根据 Class 反序列化 json 时, Class 是否可以为泛型?
inline fun <reified R> test(text: String): R {
return JSONObject.parseObject(text,R::class.java)
}


inline+reified 可以拯救一下
2022-12-07 14:55:53 +08:00
回复了 twofox 创建的主题 Linux 在 Linux 上,如何在执行 Java -jar 的时候全局添加一个参数
alias 不行吗
2022-12-06 18:36:17 +08:00
回复了 gzk329 创建的主题 Java springboot jar 包内打包了一个配置文件 同级 config 有一个配置文件
没看过实现细节,我猜是先读级别低的配置,后读高级别的配置,一般来说环境变量,虚拟机参数和启动参数的级别是要>外部配置>jar 文件配置>默认配置的
2022-12-04 18:18:40 +08:00
回复了 ericgui 创建的主题 程序员 全文搜索(full text search)有什么好一点的低成本解决方案?
自建 es 麻烦在哪里....数据量不大直接跑容器里吧
楼主发的这些帖子看上去跟个流量号似的
?迷惑发言
1 ... 14  15  16  17  18  19  20  21  22  23 ... 49  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4761 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 43ms · UTC 03:44 · PVG 11:44 · LAX 20:44 · JFK 23:44
Developed with CodeLauncher
♥ Do have faith in what you're doing.