Levi Richardson.
3分钟阅读
改变主意。
> But I wanna drink it….
这是本系列的第二部分。要阅读有关为什么我认为Go是最好的语言的第一篇文章,请单击此处。
Java有一些问题。首先,很难学习和理解。(Hello World无用)令人困惑。第二,它非常慢(。)第三,OOP SUCKS。(没有意见)
疑惑
你见过java的Hello World吗?你现在有。你认为你真的需要系统吗?这是不必要的。你知道还有什么不必要的吗?公共静态void main(String [] args)。为什么你需要额外的公共类?创建服务器并使用网络工作非常努力,其中与其他语言如此,它(基本上)如导入单词/ http包和http.listenandserve(“:8080”,nil)一样简单。但是,嘿,如果你喜欢Java语法的一些奇怪的原因,至少使用C#。这就是为什么。
龟速
您是与Java编程语言合作的900万开发人员之一吗?你在Java中编写了什么吗?(你有)那么你知道Java是多么慢。有几件事,我想注意Java。首先,与C ++相比。如你所知,我绝对不是C ++的粉丝。但至少C ++直接编制到机器代码中,而Java(深呼吸)被编译为字节代码,其中JVM(在C - Haha Wow)在运行时解释(坏主意)。如果不是那个,它将在运行时编译。(源)所以以任何方式,Java在基本上任何任务都至少慢于C / C ++。如果有人知道为什么Heck Java始终在运行时解释/编译,我会欢迎任何有人解释的评论中的人。我甚至没有完成。
垃圾回收
> “Java, I need you to take out the trash!”
Java的垃圾回收很糟。如果在Minecraft中打开F3模式,您会看到此信息(我为自己演奏而感到ham愧,请放心。)在F3菜单中,您可以观察到Java垃圾收集器在达到60%时将其丢弃并从约20%开始。它的垃圾收集器大约每3秒将其丢弃一次。这使垃圾回收花费的时间更长,使本已缓慢且不可靠的运行时引擎更加令人沮丧。看一下Java垃圾收集的基准:
> Slow GC
与Go的垃圾收集:
> Fast GC
如果Go可以在较少的时间内处理18-19 GB堆大小,则Java在3秒内执行9 GB堆大小。
只是说。
糟糕!
我们来谈谈OOP,通过添加s可以很容易地将其变成错误。尽管Java是一种OOP语言,但它不仅专注于Java。
OOP没什么特别的。没有OOP语言,您可以制作出出色的应用程序。想想用TypeScript编写的Visual Studio Code。TypeScript没有OOP。我最喜欢的视频编辑器Davinci Resolve是用Python自上而下编写的。那里没有OOP。Swift没有OOP,而是研究人们可以在iOS上使用Swift做的事情。Java建立在OOP过于复杂的部分上。有理由甚至没有OOP的创建者Alan Kay不喜欢/使用OOP的原因。
结论
(本文由闻数起舞翻译自34 Followers的文章《Java is the worst language》,转载请注明出处,原文链接:https://litbelb.medium.com/java-is-the-worst-language-667a2e008c)