中国队世界杯_2014世界杯德国 - dyhdcw.com

为什么说Java是糟糕的语言,但几乎可以做任何事

一、前言在美国一个的论坛上,一个程序员说自己喝醉了,他写了一大堆,

有些内容非常有意思,其中有一条提到

如果你不确定自己想做什么东西,请使用 Java。这是一种糟糕的编程语言,但几乎无所不能

为什么Java会这样呢,我作为Java开发,准确的来说我只会用Java来开发web项目

我承认这是一门糟糕的语言,但Java还能做什么?

我不禁开始思考,但这一思考,我就又在怀疑自我的编码水平。

游戏?好像最早的Minecraft我的世界就是Java写的,早年间我还在翻盖机上玩过一些Java小游戏

桌面应用?IDEA,就是用Java写的,虽然重BUG多,但不愧是新时代最好用的IDE工具

很难想到,Java可以做到这么多事情,并且Java在大数据方面的处理也是相当有效果

除了最近比较好用的AI方面比较掉队,其它方面根本没的说

二、Java繁琐的原因上面讲述了,Java能干的事情,那现在聊聊是什么语言特性导致了Java的繁琐。

在我使用的过程中,就非常能感受到相关开发的繁琐程度

我想从这几个方面去简述一下Java的繁琐原因

1)入门就体验到了虚拟机特性在语言入门阶段,程序员往往都会选择输出hello world作为自己的第一个语言程序

而在Java中,这个最简单的输出,都会显得异常复杂

回到最开始,我在学校学习Java的第一课,安装jdk,这个没什么,大部分语言都要经历

第二步,我们需要编写java文件,以下面的Main.java为例,我们开始编写自己的第一个程序

代码语言:javascript代码运行次数:0运行复制public class Main {

public static void main(String[] args) {

System.out.println("hello world");

}

}为什么这么长,简简单单的输出一个hello world而已,

第一行class Main是啥意思

第二行的main有点懂,入口主函数嘛,但public、static、void、String[] args都是些啥啊

完全不明白,正当我想直接运行的时候!!!

以为自己可以运行了??不不不,我当时在课堂上可不是这样,老师用的是记事本,课本上也是这样教学的

第三步,黑色窗口cmd打开,接下来要编译啦

代码语言:javascript代码运行次数:0运行复制javac Main.java现在我知道了,java文件不能直接运行,需要将其编译转换为字节码文件,也就是class文件后,再交给JVM执行

第四步,只有拿着生成出来的Main.class文件,才能运行;继续黑窗输入下面内容,如此才能够成功

代码语言:javascript代码运行次数:0运行复制java Mainimage-20250103234501273这对初学者,真的很不友好,如果你撑过了这一块的入门,下面还有一大堆东西在等着你

2)冗余、难懂的语法及概念还记得封装、继承、多态吗?面向对象的三大特性,这都是Java冗余包袱的开始

最开始,我们需要对事物进行抽象成类,类里面有属性,有方法

由于封装概念的存在,你不得不使用get、set方法

假设一个类就5个属性,那么get、set方法加上5组,就问你烦不烦嗦

这里我再说一下,在工作中,对应的类都使用了lombok,它仅仅只需要一个注解就能生成我们所需要的get、set方法,非常方便

除了上面的面向对象特性,还有一个属于java本身做的恶,就是IO流

你现在还能不借助外部文档,外部工具类来完成,一个文件拷贝成另一个文件吗?我反正不能😢

java把很多自由给到了开发者,但往往好的一个语言就应该包括好的使用体验

在刚开始使用的时候,提供一些高度封装的类与方法,等到深入使用后再对其进行深挖

这些使用体验上,对初上手的朋友真的是噩梦

3)抽象的概念如果你能熟练地将事物抽取成类,那么还记得Class类吗,还记得反射吗

哈哈哈,新手噩梦不在多线程,而在于Class反射这一块

为什么好端端的,自己实例化不行,非要搞出这么多抽象的东西

就连自己都不放过,将自己的class文件,也要抽象出一个Class类出来

但我想说,就是因为有了反射的概念,才使得java变成了一门半动态语言

4)丰富的第三方框架为什么java的第三方库有这么多呢,恰恰是因为java语言本身的库支持不够,才给了第三方框架机会

而我们一但想要使用java,使用纯正java是不够的,总得要加上各种好用的第三方框架

想完成的功能越多,加入框架就多了,自然就显得项目太重

我想到以前一个事情,就是java日志系统,就是因为sun公司的不作为,才有了log4j,以后有机会可以讲讲这个框架的设计

官方一看log4j,确实好用,也在自己的java包本体上搞了一个类似的😄

三、最后java现在已经出到jdk21,但公司项目还在使用java8,不着急,以后的路还长着呢

这么繁琐的东西,有得学习

Copyright © 2022 中国队世界杯_2014世界杯德国 - dyhdcw.com All Rights Reserved.