讨论 Java 相比其他编程语言(c++, go, rust 等)的缺点

2023-12-06 09:54:12 +08:00
 steelshadow39

本人学生,我自己是写 Java 的,最近发现身边技术能力远高于我的同学对于 Java 这门语言的态度并不友好。由于没有大型互联网项目的经验,所以还没有体会到 Java 相较于其他几种语言的瓶颈,自己能想到的缺点也就性能相对较弱,代码冗长(我本人觉得这种代码即注释挺方便理解的)。Java 的生态可能是最全的吧?并且现在互联网公司大头应该还是 Java (个人想法,我猜想一些公司仍然使用 Java 是因为换门语言的成本太高?所以求稳)。

想请教各位 V 友的看法,以及在国外编程语言的发展趋势是什么情况?

只做理性讨论,没有“XX 语言是最好的”这种想法,谢谢。

23514 次点击
所在节点    Java
162 条回复
73P2OdTjK6t29nk1
2023-12-07 09:26:13 +08:00
@bugmakerxs #98 这算什么语法糖
xiaocaiji111
2023-12-07 09:39:20 +08:00
@NessajCN gopher 和 ruster (秀儿)也一样,这个不必放在心里。看戏就好
frank42a
2023-12-07 09:40:20 +08:00
@mmdsun FP 不是银弹,可读性太差,看源码和调试劝退
xiaocaiji111
2023-12-07 09:47:45 +08:00
@NessajCN gopher 和 ruster (秀儿)也一样会这样说别得语言,这个不必放在心里。看戏就好
xiaocaiji111
2023-12-07 09:52:10 +08:00
@XCFOX 有没有可能大企业不让用 ORM ?我们让用 Mybatis 是因为,静态分析扫描代码得时候,写个小工具很容易知道 xml 中得 sql 有没有条件,会不会出现安全问题,是不是合理。如果用了 ORM 只能运行时候收集输出得 sql 。

另外代码不是一次性得,写的时候 orm 贼爽,过段时间调试优化 sql ,就没有手写 sql 那么显而易见了。
所以做项目是个工程性问题,写代码是其一个环节,不能只考虑写得爽。
bill110100
2023-12-07 10:01:21 +08:00
都是学生可以理解 ,等到了企业,见几个维护 5 年以上的项目,你就知道那所谓的啰嗦,呆板的模版代码有多可爱了。
ZZ74
2023-12-07 10:14:28 +08:00
确定就一个 入门简单
导致谁都能写,然后被喷 这不好那不好。
xiaocaiji111
2023-12-07 10:15:33 +08:00
用过 Java ,写过 go ,刚毕业也做过 php 。如果现在做一些规模项目依然会选择 Java ,生态太好了。一个 web 项目不是只有 http 接口和 curd 操作数据库。有 flink ,spark ,hadoop 这些,还有 es ,以及一些 cassandra ,甚至一些开源的推荐引擎,规则引擎,工作流等等。只要涉及到的,基本都会有 java 的影子。
还有一些三方 sdk ,举个例子:创业做自己项目时,有个 sdk 没有,用 go 能写吗,那肯定能,但是时间成本接受不了,如果官方更新了,还不能同步更新。时间成本=金钱。这些钱可以给 Java 项目多加一年几个 G 的内存。

如果做业务依然建议 Java ,如果基础设施中间件建议 Go 或者 Rust 。各做各擅长的事儿。

另外我大学时学 php 时,觉得 java 又臭又长,不待见 Java ,毕业后才发现 php 只能进小公司,还都是简单的 curd 。投入 Java 怀抱后才接触到不少行业解决方案,接触到不少更深的技术。这种心态让我走了不少弯路。可能跟你身边同学的态度差不多。
wangtian2020
2023-12-07 10:17:24 +08:00
脱裤子放屁的东西太多了,jdk 配置环境麻烦,读写文件要这个流那个流,第一次用 java 的正则竟然要我自己去玩迭代器!作为 js 熟练工无法想象这种事。
nodejs 是世界上最好的语言
pkoukk
2023-12-07 10:18:51 +08:00
@IvanLi127 #112 截止今日,java 面试要背的八股文也比其它语言多一大截。起码其它语言没见过有人问 spring 这种框架的源码实现的
zhazi
2023-12-07 10:28:46 +08:00
@Nazz 啊?你说 spring 的官方文档稀巴烂?
Nazz
2023-12-07 10:52:56 +08:00
@zhazi 不是公认的烂吗
zhazi
2023-12-07 15:13:52 +08:00
@Nazz 真是张嘴就来,你说说哪一段文档写让你觉得烂。
Nazz
2023-12-07 17:29:10 +08:00
@zhazi springboot data jdbc 那一段,看了半天都不知道 @Query 怎么用,去 github 看了下别人的 demo 一下就会了
Nosub
2023-12-07 17:39:43 +08:00
不用怀疑,Java 就是目前来说最好的编程语言,不过你职业生涯慢慢会接触到其他语言的,先搞深度,再搞广度,把 Java 深挖就完事了。
zhazi
2023-12-07 17:41:22 +08:00
Nosub
2023-12-07 17:51:43 +08:00
说一个 Java 非常大的优点吧,把 Java 研究透了很容易就全栈了,这是一个很大的诱惑,就是 Spring 那一套,Web 三大框架之一 angular 基本就是为后端程序员量身定做的,很多概念基本相似,比如依赖注入,函数式编程,反应式编程,这些;
Nazz
2023-12-07 18:56:14 +08:00
MoTao
2023-12-07 19:08:28 +08:00
我学 JAVA 是真的《从入门到放弃》
xuld
2023-12-07 21:51:52 +08:00
1. 关于费内存:这关语言毛线关系?就像有的话听起来很流氓,然后你就觉得汉语很流氓吗?
没错,Java 主流框架写业务确实比同类产品费内存,但完全有可能用 Java 写一个不那么费内存的框架。
那为什么不费内存的框架没流行,主要原因还是内存费的可以忍受。就像你天天骂米贵,最后还是要去买。

2. 多数人工具用不好,就怪工具不好。这就是人性。
你找不到工作你赚不到钱你觉得很卷,是因为 Java 的种种问题吗?换个语言一样是菜鸡。

3. 流水线是让农民工干好活的利器,而 Java 的标准化繁琐更利于搭建流水线。
只有两类人会是 Java 的死忠,一类是被中国教育带入“程序员”岗位的科班小鲜肉,还有一类是“万恶的资本家”。
那些追求高效、有个性的野马则会觉得 Java 的开发效率实在太低。

4. 好厨师不会问铁锅做菜好吃还是钢锅做菜好吃,而是都会用。当然可能有些人看到这句话心理会想——做饭都是下人的事,你们好好卷去

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

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

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

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

© 2021 V2EX