Java的口号是:编写一次,随处运行。但是现在,它是JavaScript,而不是Java。
在James Gosling创建Java之前,特定于平台的编译语言(例如C / C ++)是主要的高级语言。程序员必须使用平台特定的API为每个平台编写代码。一些程序员通过用条件语句分隔代码为所有平台创建了一个单一的代码库。另一方面,一些程序员分别为每个平台编写了代码库。尽管编写特定于平台的软件带来了很多好处,例如灵活性,可定制性和性能,但是软件开发的业务方面仍需要一种快速交付跨平台软件产品的方法。
从业务的角度来看,制作软件产品就是要通过有效使用人力资源来使其正确并快速。 Java借此机会进入了软件开发市场。这不是关于OOP(Java并不是第一种基于OOP的语言),也不是关于性能(C / C ++语言无疑比Java快)。这一切都与快速提高软件和加快产品交付速度有关。
之后,我们随处可见Java。 Java帮助程序员创建了桌面应用程序,Web服务器,移动应用程序,Smart TV应用程序和Web应用程序(通过Applets)。但是现在,JavaScript在所有这些方面都比Java做得更好。
不支持JavaScript的网络浏览器怎么办?没事吧如今,几乎所有网站都是动态的。他们严重依赖JavaScript。没有JavaScript,您将无法正确使用自己喜欢的网站。但是您将能够像许多年前使用56k调制解调器一样查看纯文本和一些图形。
由于这个事实,除非有人会制作支持X脚本的其他浏览器并强迫所有人使用JavaScript,否则JavaScript是不朽的。另一方面,Java正在慢慢消亡。小应用程序已经死了,大多数没有使用Java来制作桌面应用程序,Java EE的竞争对手令人印象深刻,而Java上使用JavaScript来制作Android应用程序。此外,Java的新许可模式并非对所有人都有吸引力。另一方面,JavaScript完全没有商业限制。
很棒的事情是JavaScript真正支持了我前面提到的业务视角。开发非常容易,因为语言语法提供了很好的抽象,并且设置也非常快。人力资源利用率令人印象深刻。例如,如果您可以制作网站,则可以使用Web后端,桌面应用程序以及几乎所有内容。
如今,一切都朝着云移动。首先,WORA的口号向我们介绍了平台。这是为所有平台编写相同的代码。但是,由于现代云的发展,WORA应该将Web浏览器视为全部。您可以编写JavaScript并在浏览器和平台中执行它。
Java具有Java虚拟机(JVM)来执行称为字节码的已编译指令。因此,如果特定平台可以运行JVM,那么它也可以运行Java。同样,JavaScript还具有一个称为JavaScript引擎的虚拟机,用于执行中间代码或机器代码。实际上,JavaScript引擎是Web浏览器的关键部分,但它是一个单独的组件。因此,JavaScript以Node.js的概念从网络浏览器问世。
另一方面,Java已经在其他地方出现了。但是,它试图通过Applet概念进入Web浏览器,但失败了。
与其他任何编程语言一样,JavaScript也具有糟糕的部分。主要问题与过时软件有关,过时软件在可用性上消耗大量资源。例如,我们经常确定使用JavaScript构建的桌面应用程序变成过时软件。这不是JavaScript造成的问题,而是程序员造成的问题。以下文章详细说明了此过时软件问题。
另外,您可能会争辩说Web Assembly将使Java永生。因为这样程序员可以使用Java来制作Web应用程序,而不必担心JavaScript。我不认为新的程序员会在不使用JavaScript的情况下学习Java来制作Web应用程序。