If you say "eternal, twists and turns, dead, reborn" to describe Java, I think it is not an exaggeration at all.
In 1991, James Gosling led a team called the "Green Team" to develop a new language and a network system designed for the next generation of digital devices and computers. After 4 years of hard work, the project was finally completed and named Java.
Java has a syntax similar to C and has the flexibility of "compile once, run anywhere". Through the virtual machine mechanism, the code can be compiled at runtime on the underlying platform. Looking back on the past 20 years of Java, it first experienced the rise and fall of the microcomputer era, then entered the server field and smartphone field, then struggled to move forward under the definition of "unsafe" by DHS (U.S. Department of Homeland Security), and finally invested in Oracle (Oracle) is now poised for a second spring. Is there any other language with such ups and downs?
After the launch of Java, Sun found that there was a problem in the market—the computer field and the non-computer field were isolated from each other. Sun sees this as an opportunity, and if the two can be connected it will bring about a computer revolution. "The unified theme is the network." Gosling said, "Looking at the market at that time, manufacturers in the two fields were working independently and did not form a unified network. Therefore, many times they had to repeat a large number of experiments, but these were actually as early as 30 years ago. Computers has been solved in science. "The problem is that consumer electronics manufacturers don't think about using networks, such as cross-platform public APIs or code reuse. "You hardly find any software reuse. All software just continues. Being repeatedly created. The module concept we proposed will eventually change this situation. "
The road to success is not easy
In the first five years since its introduction, Java has become a well-deserved spokesperson for high-performance compilers. In the next five years, everyone turned their focus to enterprise applications. Gosling said, "Looking back at the scene of Java EE dominating the world is still vivid in our minds. Our only mistake was to focus all our energy on this, and all resources were allocated to EE first, which prevented us from investing more energy in developing the desktop. The world."
Saab, Vice President of Oracle Java Platform Development, said, "In the 1990s, most developers devoted their energy to writing desktop applications. By 2000, the success of Pet.com attracted a large number of developers. Followers. The industry has shifted its focus from desktops to HTML applications. With the arrival of smart phones and tablets, mobile applications based on touch screens have become more popular, so it is difficult to grasp the next trend. The right time, the right place, the right people. "
Java 2 Micro Edition (J2ME) was introduced in 1998 and divided Java into three platforms: Java 2 Standard Edition (J2SE), J2ME and Java 2 Enterprise Edition (J2EE). ME stands for Small Devices and Embedded Systems. The ME was popularized on flip phones, which became standard at the time. Gosling said, "ME has done well enough and was the most powerful smartphone development platform at the time. But now it is gradually forgotten because Android is so dazzling."
As an independent platform, Java ME has been marginalized . Cameron Purdy, senior vice president of Oracle Development, said that all platforms will be unified in the next version of Java 9. "Compared with SE and ME, which were separated but developed slowly. The modular nature of Java 9 will make Java ME more reusable. Enhanced, this will be a powerful weapon to fight back against Android and iOS. "
Falling into a trough
With Sun's downturn in the past 10 years, Java is not immune to experiencing wasted years. IBM offered $6.5 billion, but Sun refused. Oracle got Sun for $7.4 billion.
Under Oracle management, Java performed well in the first few years and became synonymous with security with 0 major mistakes. But things started to go bad in January 2013, when the U.S. Department of Homeland Security (DHS) recommended that people avoid using Java as much as possible. As an enterprise-oriented software company, Oracle's shortcoming is the speed of patching and fixing bugs, which cannot be compared with Microsoft or Adobe for mass consumers. Others measure it in hours or days, but Oracle measures it in months.
Purdy believes that Oracle has done its best to fix and understand the importance of this shortcoming. The crux of the matter is how to build a team that can still stand on its own after losing go-getters like Gosling. He said, "We have heard a lot of doubts, but in fact we have been continuously investing in and working hard to find solutions."
Rebirth from the ashes
DHS’s public statement is the last straw for Java. Many people predict that Java will no longer be prosperous. However, things slowly turned around, and many Java fans began to come out to defend Java's reputation. Dr. Dobb’s Journal editor Andrew Binstock once published an editorial titled: “Even in the face of death, Java looks pretty healthy.”
Regarding Oracle’s takeover, Gosling expressed his joy, “I was very pleasantly surprised after learning the news. Oracle is a very good guardian and has greatly exceeded my expectations. At first, I was worried that it would not Will become the second Solaris, now it seems that I am worrying too much."
In the first five years after taking over Java, Oracle had to re-build a Java team. “We spent a lot of time looking at the entire process to determine how to fix bugs, from input to release mechanisms, and we reviewed a lot of code. We ended up with a long list of bug fixes,” Purdy recalls.
Security once shamed Java, and security gave Java a new lease of life. At the 2014 Pwn20wn hacker conference, Java was the only platform not compromised. In the 2015 conference, Pwn20wn did not even include Java on the attack list.
Now and the future
Java 9 will be the first major release since the acquisition by Oracle. The main goal of Java 9 is to maximize modularity to help people write building-block applications.
"Our goal is to help people free themselves from the constraints of JARs," Saab said. "You will easily handle things that used to be quite complicated, such as packaging. You can only use the modules you need and leave the rest "Ignore." Purdy added, "This is a first for the Java platform. This feature will be used throughout the entire Java library and rearrange dependencies in a single dependency graph." Talking about the future of Java, Mike, executive director of the Eclipse Foundation. Milinkovich's view is, "I think the future of Java lies in the Internet of Things. I would very much like to see Oracle and its partners focus on a completely point-to-point Java storage solution, connecting the device to the enterprise backend through the gateway. If Success will enable Java to develop better and further in the next 20 years. Although there is still a way to go, I believe Java can do it." Gosling's view is, "VM is its own. Ecology, all parts are connected to each other. The future of the IT world is to achieve interconnection and interoperability. Effectively unifying the edge and core can save the trouble of separate internal and external management, thereby obtaining a more powerful platform. "
Everywhere
Although many people Everyone predicted that Java would never recover, but today, Java still plays an extremely important role in many important projects.
Purdy pointed out that without Java, there would not even be a big development of big data, "Hadoop itself is written in Java. When you need to release new functions on a server cluster running MapReduce, you need to perform dynamic deployment, and This is what Java is good at.”
Another Java beneficiary is Twitter. Twitter was originally written in Ruby on Rails, but as the number of users grew, RoR gradually became unable to cope with it. The crash screen of Fail Whale indicates that the bottleneck problem needs to be solved urgently. In 2012, Twitter switched from RoR to Java and Scala, and the fail whale became extinct.
It can be seen that Java not only has not become a thing of yesterday, but has also regained new vitality. Let us look forward to Java 9 together and see what surprises Oracle will bring to developers.