只有我觉得 Java 很糟糕吗

2019-03-02 13:35:41 +08:00
 bokchoys
环境配置,到编写代码,都比其他语言复杂一些
为什么那么多公司用?
8134 次点击
所在节点    问与答
93 条回复
yukiww233
2019-03-02 13:36:49 +08:00
日常引战
woscaizi
2019-03-02 13:40:57 +08:00
因为 java 的类型检查,强约束,编译时检查可以使普通程序员也能写出还可以运行的代码。
并且 java 生态非常非常好,尤其是国内。
Lonely
2019-03-02 13:44:55 +08:00
是的,走好不送。
rockyou12
2019-03-02 13:45:35 +08:00
回 lz,真的只有你。特别是你写过大点的项目,多会几门后端语言后才知道为啥
misaka19000
2019-03-02 13:46:25 +08:00
是的,Java 很垃圾,PHP 是世界上最好的语言
bumz
2019-03-02 13:48:08 +08:00
只写 50 行代码你用机器码都没人拦你

500000 行代码没有静态检查全靠运行时?重构都没法重构
lynskylate
2019-03-02 13:53:09 +08:00
等你写 c 艹写多了就知道 java 有多好了,有相对完善的标准库,完善的包管理,丰富的生态,优秀的虚拟机(还可以 hack 字节码),不用考虑对象生命周期,操蛋的 abi 兼容,过多遗留代码以至于语法上。以上几点 c 艹基本都很烂,就标准库来说,到现在还没有网络库,文件库,想要跨平台还得自己去做兼容。
Linxing
2019-03-02 13:53:51 +08:00
@woscaizi golang 了解下 除了国内生态圈这一点
orangeade
2019-03-02 13:54:09 +08:00
所以诞生了 kotlin/scala/go,个人项目我才懒得用 Java,公司项目无所谓,循行内部编码规范就行
lynskylate
2019-03-02 13:56:05 +08:00
等你写 c 艹写多了就知道 java 有多好了,有相对完善的标准库,完善的包管理,丰富的生态,优秀的虚拟机(还可以 hack 字节码),不用考虑对象生命周期。而 c 艹这些方面都很烂,就标准库来说,到现在还没有网络库,文件库,想要跨平台还得自己去做兼容。除了缺少上面 java 的优点外,c 艹还有操蛋的 abi 兼容,过多遗留代码以至于写库还得向下兼容到 98。


———————————————
打错重发一遍
lhx2008
2019-03-02 13:57:16 +08:00
并不复杂,相反是简单,Java 用少量的可预测的 API 构建高楼大厦,而不是各种组装好的预制板,通过奇怪的切割方法来使用。
另一个证明 Java 简单的方法是,你可以比较轻松的看懂别人写的 Java 代码,但是你在 Python 和 Javascript 里面要看懂那些“高手”写的代码是极其困难的。
liujj
2019-03-02 13:58:21 +08:00
1 考虑招人成本,至少培训班出来的写 Java web 领域还是没问题的
2 企业级稳定性和生态,Java 是国内事实上的标准,良性循环加一大堆布道师
3 然而对于个人而言,学习 Java 很难深入系统底层,深入的是 jre,有一句笑话是写 Java 的不知道 nginx 也不懂 linux 原理
4 所以我选择 golang
woscaizi
2019-03-02 13:59:43 +08:00
@Linxing golang 确实不错,不过需要多人协作的项目,还是会考虑 java,因为会 go 的人还是少。
Raphael96
2019-03-02 14:00:42 +08:00
c# 比 java 好,什么你说生态环境?哦,你们聊我先走了
Salvation
2019-03-02 14:01:23 +08:00
觉得糟糕就不用呗.

1. 一个东西,如果你认为糟糕,但是用的人非常多.你应该自己沉下心好好思考下,思考其优点究竟在哪里,为什么这个优点可以盖过其缺点等等内容.这个思考过程对人的帮助很大.
2. 这种帖子很难拿到真实的原因.因为你没有真正用这几种语言写过、维护过大型项目.很多理由写在纸上是一个意思.但是看到再多次也不能理解到.等动手做一次之后就能很清楚.所以你看了再多的回帖,不懂的还是不懂.你去做一下,可能瞬间就明白了.
3. 糟糕这个词形容 java 不太好.如果你认为糟糕,首先你得说清楚,哪个场景,和什么语言对比,结果如何,为什么糟糕.否则你说的这些缺点未必是真正的缺点.如果能具体到某个点上去聊.能深入一些
webjin1
2019-03-02 14:08:40 +08:00
westoy
2019-03-02 14:11:59 +08:00
你去 CSDN、javaeye 之类的论坛找找十几年前的论战, 尤其敏捷开发流行的时候各种动态语言撕 X Java 的, 理由和你的差不多

于是后来又流行了一句话, 动态一时爽, 重构 XXX

就入门门槛、开发效率、防止犯错, 有利于重构、生态这几块,java 算是最均衡的
bokchoys
2019-03-02 14:26:14 +08:00
@lynskylate 谢谢,了解啦
bokchoys
2019-03-02 14:26:43 +08:00
@liujj java 要理解的层面需要很多,谢谢解答
bokchoys
2019-03-02 14:27:43 +08:00
@Salvation 谢谢你的建议,很中肯。

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

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

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

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

© 2021 V2EX