只有我觉得 Java 很糟糕吗

2019-03-02 13:35:41 +08:00
 bokchoys
环境配置,到编写代码,都比其他语言复杂一些
为什么那么多公司用?
8315 次点击
所在节点    问与答
93 条回复
EscYezi
2019-03-03 03:28:10 +08:00
@zhazi #58 用 Kotlin 举个简单的例子:
fun f(i: Int, s: String?): String {
return s ?: when (i) {
1 -> "one"
2 -> "two"
3 -> "three"
else -> "unknown"
}
}
同样的功能用 Java 实现一下试试(
KasuganoSoras
2019-03-03 06:30:42 +08:00
@EscYezi #61
<?php
function f($i) {
$list = Array("one","two","three");
return isset($list[$i]) ? $list[$i] : "unknown";
}
(笑
KasuganoSoras
2019-03-03 06:36:50 +08:00
@EscYezi 忘了还有空指针判断
<?php
function f($i, $s) {
$list = Array("one","two","three");
return $s == null ? isset($list[$i-1]) ? $list[$i-1] : "unknown" : $s;
}
hasunday
2019-03-03 06:37:51 +08:00
日常引战。lz 不想学 java,可以学 go scala
SpiderXiantang
2019-03-03 08:00:32 +08:00
java 就是为了简化工程复杂度而生的
kyuuseiryuu
2019-03-03 08:29:10 +08:00
@woscaizi php 没有这么多约束菜鸟程序员也能写出可以跑的代码,嘿嘿嘿嘿[滑稽]
13160919135
2019-03-03 08:36:26 +08:00
生态好,太多公司用,不学不好找工作。虽然我也认为这个语言很垃圾
cuebyte
2019-03-03 08:41:37 +08:00
覺得複雜是因為沒用到正確的工具,sdkman 推薦給樓主。
另外,各種 SSM/SSH 配置的複雜純粹是 legacy,用上 spring boot 就爽快許多了。

Java 除了 NullPointerException 以外沒大毛病,可以通過 lombok 或者 Kotlin 消除,況且這個問題其他語言也有。
如果覺得文件體積大,Jigsaw 歡迎你。
cuebyte
2019-03-03 08:45:49 +08:00
@Linxing
@orangeade
@liujj
@rockyou12
@Maboroshii
請教一下,忽略人的問題(命名規範設計模式等),儘從語言和生態上來說,go 比 Java 好在哪?
woscaizi
2019-03-03 09:42:56 +08:00
@EscYezi 老铁,是不是查表法更优雅? kotlin 确实很简约,不过 java 的很多代码可以用 idea 来生成啊。
crack105
2019-03-03 09:43:19 +08:00
IntelliJ IDEA 一直爽
dbpe
2019-03-03 09:50:08 +08:00
动态语言一时爽...重构火葬场...
orangeade
2019-03-03 09:58:44 +08:00
@cuebyte #69 Docker/k8s/istio/grpc,一堆容器、微服务相关的基础设施都是用 Go 写的
abcbuzhiming
2019-03-03 10:01:41 +08:00
@EscYezi 我也一样,只有在静态语言写过一段时间回见,跳到动态语言后,被动态语言的优点和缺陷都洗礼过,才知道 Java (静态语言有类型检查)的好。我现在基本不考虑任何没有类型检查的语言写项目
k8ser
2019-03-03 10:25:41 +08:00
简单的例子,代码水平不高的时候,python 里面一个函数想返回啥返回啥,一时爽了,后面维护起来跟坨屎一样。
Allianzcortex
2019-03-03 10:53:00 +08:00
我也曾经有同样的想法并且中二到发朋友圈长篇大论说这个,真想捶死自己....楼上的很多回复让我想起了之前看有人发过 Pornhub 的面经, [Manager 问了一些基础的问题,C++和 Java 的区别,多线程,垃圾回收,然后问了一个项目。大约半个小时。他们组主要是用 Go 和 Java] ,Java 和 Go 果然是未来的趋势
lihongjie0209
2019-03-03 11:04:37 +08:00
环境配置 复杂???????????
还有比 java 环境配置简单的嘛????
sonyxperia
2019-03-03 11:07:14 +08:00
可能他们不觉得 Java 糟糕吧
EscYezi
2019-03-03 11:20:35 +08:00
@woscaizi #70 只是举个例子对比一下 switch 和 when2333
gam2046
2019-03-03 11:33:05 +08:00
Java 从业者,同样觉得 Java 有些方面有点糟糕,主要原因是历史包袱太过沉重,在这种古老语言上,Java 的向下兼容做的算是不错了。相比更古老一点的 Python,直接语法大改了。对标 C,Java 的入门门槛真的低了很多。其他与 Java 同时代的编程语言,目前还在使用的,基本上都已经变成特定场景下的特定编程语言。

但是与同类型的.Net 相比,毕竟.Net 出生晚,没有那么多需要顾及的历史包袱。.Net 优越性比 Java 高不少。不过反过来说,因为 Java 历史悠久,因此大量的第三方轮子很多,并不需要自己造,也就是所谓的生态好很多。

单纯从语言上来讲,我自己觉得.Net 比 Java 好的很多。Java 那个基于类型擦除实现的假泛型,就搞的很头痛。

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

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

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

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

© 2021 V2EX