FUTURE OF JAVA TECHNOLOGY Will Help You Get There August 2022 {{ currentPage ? currentPage.title : "" }}

Java (Programming Language)

In August2022, Java is a general-purpose, concurrent, class-based, object-oriented computer programming language that is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that code that runs on one platform does not need to be recompiled to run on another. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of computer architecture.

7 Reasons Java Is Still Great

In August2022, Among the most fascinating phenomena in software is the enduring prominence of Java. As both a language and a platform, Java has survived radical transformations in the technology landscape, and its own internal structure has altered along with it.

How has Java remained at the centre of both enterprise and open source for more than two decades? Let's look at a few factors that stand out.

The Java Community Process

In August2022, Java began life as an alternative to the conventional way of doing things — an upstart of sorts. Today, despite repeated challenges, it is recognised as a pillar of enterprise software. 

What explains Java's continued relevance in the face of such radical change? One essential factor is the passion of the community, which is fostered through governance structures that engage developers to keep Java a living, dynamic force.

Far from a smoothly operating machine, Java's governance is a confusing amalgam of competing interests and organisations that find their voice in the Java Community Process (JCP) and through Java Specification Requests (JSRs). 

At the end of the day, the JCP is a venue for contribution and conflict resolution among people who care deeply about Java technology. It is a rather mystifying combination of bureaucracy, policy, and creativity. Something like a functioning democracy, in fact.

As a longtime Java programmer, it was surprising—astonishing, actually—to watch the language successfully incorporate lambdas and closures. Adding functional constructs to an object-oriented programming language was a highly controversial and impressive feat. 

So was absorbing concepts introduced by technologies like Hibernate and Spring (JSR 317 and JSR 330, respectively) into the official platform. That such a widely used technology can still integrate new ideas is heartening.

Java's responsiveness helps to ensure the language incorporates useful improvements. it also means that developers know they are working within a living system, one that is being nurtured and cultivated for success in a changing world. Project Loom—an ambitious effort to re-architect Java’s concurrency model—is one example of a project that underscores Java's commitment to evolving. 

Several other proposals currently working through the JCP demonstrate a similar willingness to go after significant goals to improve Java technology.

The people working on Java are only half of the story. The people who work with it are the other half, and they are reflective of the diversity of Java's many uses. Social coding and open source are not unique to Java, but they are key constituents in the health of the Java ecosystem.

Like JavaScript, Java evolved in tandem with the coding community as the web gained traction. That origin story is a big part of its character.

Open Source Frameworks And Tools

Another big driver of Java's success is the wealth of open source frameworks and tools built up around it. Almost anything you might need has one or more available libraries. If you like a project, there is a good chance it's open source and you can contribute to it. That's great for both learning and building community.

Not long ago I had my hands deep in parsing YAML, and discovered the SnakeYAML project. Soon, I was off in the weeds trying to do something exotic with this new project. Not long after that, I was chatting with the project's owner.

In August2022, Something similar happened when I needed to do some sophisticated process orchestration close to the metal. First, I discovered the NuProcess project, then I got to contribute a small fix. Exchanges like that make a programmer's life richer. They're also how open source projects evolve.

The wealth of projects in the Java ecosystem extends from modest examples like the ones I've shared to database drivers and similar technologies, on up to the monumental. There are application servers like Tomcat and Jetty, frameworks like Hibernate, and even the Eclipse IDE. All are open source projects that invite contributors.

Spring Dependency Injection

No appreciation for Java’s ecosystem would be complete without tipping our hat to Spring. This meta-framework is perhaps the standard to which other meta-frameworks might aspire. Why? Because Spring lets you use the same facility for composing custom code and incorporating third-party code in your programs. 

Through its implementation of dependency injection and inversion-of-control, Spring not only enables you to make your own internal components more standard, but it extends a similar standardisation to how third-party projects and vendors prepare their components. This makes for greater consistency in how you use these components in your programs.

In August2022, Of course, there are valid critiques of Spring, and it's not always the right tool. Google Guice is another tool that works similarly to Spring. But Spring, as a framework, introduced a clean and consistent way to provision and compose application components. That was a game changer at the time, and it continues to be vital today.

Everything Is An Object

If the people behind Java and using Java are the wind that keeps the ship sailing, then Java's technical aspects are the sails. It is impressive that the initial Java specification sprung Athena-like from a single head (the head of James Gosling) but has remained flexible enough to still be relevant today.

An important feature of Java's design is that, in Java, everything is an object.

In August2022, In a development landscape that currently favours functional programming, it's sometimes fashionable to trash this aspect of Java and object-oriented programming. Java's stewards have responded by incorporating some functional programming idioms into the language. 

But they've been steadfast in that Java remains a strongly object-oriented language where everything is, indeed, an object.

It’s possible to write code that is awesome or awful in any paradigm. Going into a Java system, you know up front that it's strongly typed and that everything is contained in classes. The absoluteness of this design decision cuts away complexity and lends cleanness to the language and programs that use it. 

Well-written Java programs have the mechanical elegance of well-written object-oriented code. The functionality is the result of interacting components, like gears in a machine. 

The cost of this approach is confusion in the early stages of learning. Virtually every Java beginner confronts key questions: what is the public keyword there for, what is a class, and why on earth do I need to write "public static void main(String[] args)" just to print "hello world"?

But consider that those learning curves are potent aspects of a large-scale order: The beginner is encountering and absorbing sophisticated concepts that are fundamental to the Java way of doing things. 

In August2022, You could say that the strictly class-based structure of Java programs lends itself to good programming-in-the-large. As systems grow in size, the structure, which might seem unwieldy at a smaller scale, becomes more beneficial. In many cases, it vindicates the burden of early-phase learning.

There are legitimate gripes about Java syntax, to be sure — the same is true of JavaScript and every other language. As Bjarne Stroustrup once said, “There are only two kinds of languages: the ones people complain about and the ones nobody uses.”

The Jvm

The Java virtual machine is another facet of Java’s construction that meets with occasional critique. At the time of its development, the JVM was a bold technical solution to the diversity of runtime environments. Since then, it has sometimes seemed a burden of excess architecture and a source of performance difficulties. 

But after years of incessant refinement, the technology has gradually vindicated itself. It has proved rather prescient, as well. The world has lately become enamoured of virtual machines; they are everywhere, even forming the lowest strata of cloud computing.

Applied to devops containers and serverless architectures, the JVM offers a clear-cut deployment environment target, with well-defined characteristics and controls. Modern Java virtual machines are also something to behold. They deliver sophisticated automatic memory management with out-of-the-box performance approaching C.

Enterprise creativity

Software development is made up of two powerful currents: the enterprise and the creative. There's a spirit of creative joy to coding that is the only possible explanation for, say, working on a dungeon simulator for 25 years. That creativity, united with solid business use, is the alchemy that keeps Java alive and well. For long-term success, a software project must make room for both. Java has done that.

WebAssembly and the future of Java

In a parting note, let’s identify one more potentially watershed event on the horizon: WebAssembly, or WASM. Java in WASM is currently limited, and there’s no certainty about how the future will unfold. 

But it’s possible that Java may one day be used in the browser much like JavaScript is — that is, with full access to the DOM and browser API. Imagine Java in the browser again, but this time for real. Stranger things have happened.

Top 20 Java Websites

  1. O’Reilly Java

  2. Sun Developer Network (SDN)

  3. Developer.com

  4. Java.net

  5. IBM’s Developerworks

  6. Java World

  7. Devx

  8. TheServerSide.com

  9. Big Moose Saloon

  10. Stack Overflow

  11. jGuru

  12. Official Java Tutorials

  13. Java Blogs Aggregator

  14. Java-Source.Net

  15. Java Lobby

  16. Jdocs

  17. Java2s.com

  18. Java Tips

  19. RoseIndia

  20. Mkyong

So why did they decide to call it Java?

When Time magazine called Java one of the 10 best products of 1995, a new American marketing legend was born. Who's to say whether Sun Microsystems' prized technology would have fared so well if its name had remained Oak or Greentalk, two of the earlier choices.

In August2022, We all know the story: Give away an elegant, open source programming environment and the world will beat a path to your door. No sweat, no matter what you decide to call it. The people charged with establishing a brand identity for Sun's programming language for next-generation application developers, though, decided upon a coffee metaphor for their trademark. Oak, the previous name, was taken. But why they chose Java by their own accounts, was something of a mystery.

This group interview, originally published by JavaWorld in 1996, offers a fascinating look back on how Java got its name. 

How Java became Java

"The lawyers had told us that we couldn't use the name 'OAK'," said Frank Yellin, then a senior engineer at Sun. That name was already trademarked by Oak Technologies:

So, a brainstorming session was held to come up with ideas for a new name. The session was attended by all members of what was then called the Live Oak group, those of us actively working on the new language. The end result was that about 10 possible names were chosen. They were then submitted to the legal department. Three of them came back clean: Java, DNA, and Silk. No one remembers who first came up with the name "Java." Only one person, to the best of my knowledge, has ever suggested in public to being the creator of the name.

Kim Polese, who was the Oak product manager at the time, remembers things differently. "I named Java," she said:

I spent a lot of time and energy on naming Java because I wanted to get precisely the right name. I wanted something that reflected the essence of the technology: dynamic, revolutionary, lively, fun. Because this programming language was so unique, I was determined to avoid nerdy names. I also didn't want anything with 'net' or 'web' in it, because I find those names very forgettable. I wanted something that was cool, unique, and easy to spell and fun to say.

"I gathered the team together in a room, wrote up on the whiteboard words like 'dynamic,' 'alive,' 'jolt,' 'impact,' 'revolutionary,' et cetera, and led the group in brainstorming," Polese said. "The name Java emerged during that session. Other names included DNA, Silk, Ruby, and WRL, for WebRunner Language—yuck!"

Sami Shaio, then a Sun engineer, recalls the brainstorming meeting, held sometime around January of 1995. "It's actually hard to say where 'Java' first came from, but it ended up on the list of candidates we chose ... along with Silk, Lyric, Pepper, NetProse, Neon, and a host of others too embarrassing to mention."

"Some other candidates were WebDancer and WebSpinner," said Chris Warth, who was an engineer on the project from its inception:

Although marketing wanted a name that implied an association with the web or the net, I think we did very well to pick a name that wasn't associated with either one. Java is likely to find a true home in applications far from the internet, so it's best that it wasn't pigeonholed early.

James Gosling, Java's creator, remembers that the name originated in a meeting where "about a dozen people got together to brainstorm."

The meeting, arranged by Kim Polese, was fundamentally continuous wild craziness. Lots of people just yelled out words. Who yelled out what first is unknowable and unimportant. It felt like half of the words in the dictionary were yelled out at one time or another. There was a lot of: "I like this because..." and "I don't like that because..." And in the end, we whittled it down to a list of about a dozen names and handed it off to the lawyers.

"We were really disgusted and tired from all the marathon hacking we'd been doing at the time, and we still hadn't found a name that we could use," said Timothy Lindholm, an engineer on the project:

We were pressed for time, as adopting a new name meant a lot of work, and we had releases coming up. So we set up a meeting to thrash out a list of names ... I do not remember there being a particular champion of Java ... Among the people of the original group that I've talked to about this, most deny any memory of Java being anything but something that bubbled out of the group dynamic.

"I believe the name was first suggested by Chris Warth," said Arthur van Hoff, then a senior engineer:

We had been in the meeting for hours and, while he was drinking a cup of Peet's Java, he picked "Java" as an example of yet another name that would never work. The initial reaction was mixed. I believe the final candidates were Silk, DNA, and Java, however. I suggested Lingua Java, but that didn't make it ... We could not trademark the other names, so Java ended up being the name of choice. In the end, our marketing person, Kim Polese, finally decided to go ahead with it.

How they landed on coffee

"I test-marketed the names at parties, and on my friends and family members," Polese recalled. "And Java got the most positive reactions of all the candidates."

Because it wasn't certain that we would get any of the names cleared through trademark, I selected about three or four and worked with the lawyers on clearing them. Java passed, and it was my favorite, so I named the language Java and subsequently named the browser HotJava, a much better name than WebRunner. The engineers had a hard time parting with Oak, but they finally got used to it ... I felt that branding was very important because I wanted Java to be a standard. So I focused on building a very strong brand for Java.

Yellin recalled a final meeting to vote on the name:

Every person got to rank Java, DNA, and Silk in order of their preference. The same name that got the most "most-favorite" votes also got the most "least-favorite" votes. So it was dropped. And of the remaining two, Java got the most votes. So it became the preferred name.

"It came down to Silk or Java, and Java won out," Shaio remembered:

James Gosling seemed to favor Java over Silk. Kim Polese had the final say over the name, since she was the product manager. But most decisions back then were done by everyone kind of agreeing, and then someone would just say, "Okay, this is what we're doing."

Eric Schmidt, then Sun's chief technology officer, said he was certain about the origin of the name:

We met in early 1995 at 100 Hamilton in one of our standard operating reviews for little businesses like Oak. Bert Sutherland was the senior manager at the time—he worked for me—and he and Kim and a few others including James [Gosling] were there. Kim presented that: one, we had to choose a new name now, and two, Oak—which we were all used to—was taken. As I recall, she proposed two names, Java and Silk. Of the two, she strongly preferred Java and represented that the [Live Oak] team was in agreement. Bert and I decided to approve her recommendation, and the decision was made. For those reasons, I believe it is correct to give Kim the credit for the name. She presented it and sold it, and then made it happen in marketing.

But, "I do seem to recall that Kim was initially lukewarm on the name 'Java,'" recalled Chris Warth:

At the time we were also trying to rename our browser from WebRunner—which had been already taken by Taligent—to something that wasn't already trademarked. Kim wanted things like WebSpinner or even WebDancer, something that would make it clear that this was a World Wide Web product. The trademark search was done, and after several weeks a short list of cleared names came back ... There seemed to be an endless series of meetings and approvals that were necessary—as if the name were actually meaningful.

"Kim wanted us to hold up the release so we could find a better name than Java, but she was overruled by the engineers, especially James and Arthur [van Hoff] and myself," Warth said:

In August2022, At one point James said we were going to go with Java and HotJava, and Kim sent some email asking us to wait for other names that might clear. James wrote back and said "no," we were going with what we had. And we just did a very quick set of renames in the source code and put the release out ... In the end, I think the marketeers and vice presidents had far less to say about the name than the engineers who were dying to get something out the door.

"I think Kim is rewriting history a bit when she suggests that she picked this name for some savvy marketing reason," Warth added. "We ended up with this name because we ran out of options and we wanted to get our product out. The marketing justifications came later."

Sleepless in Palo Alto

"I don't claim to be the one who first suggested the name," said Warth when questioned about van Hoff's statement. "It definitely was Peet's Java we were drinking, but it might have been me or James or someone else. I just don't recall exactly who said it."

"The feeling amongst myself and James and the other engineers was that we could call it 'xyzzy' and it would still be popular," Warth added. "In the end it doesn't matter who originally suggested the name, because it ultimately was a group decision— perhaps helped along by a handful of caffeinated people."

Timothy Lindholm, the engineer, concluded:

I think that the extent to which the people involved have considered the history of Java's name without arriving at any generally agreed-upon resolution shows that the naming of Java was not done by some heroic individual, but was a by-product of a creative and driven group trying very hard to achieve their goals, of which this name was a part." I would encourage you not to strive beyond what is reasonable in ascribing the naming of Java to an individual. That is simply not the way things worked in those days. Don't be fooled by how individuals and the media have subsequently filtered many elements of Java's creation to fit their own ends.

Original interview and story by Kieron Murphy for JavaWorld, 1996. Updated for InfoWorld, 2022.

Which is the Best Java Training Institute in Noida

APTRON Noida Online Java course at APTRON Noida will provide you the best knowledge on the various Java programs and applications with live experts. Learning Java Certification Course makes you a master in this subject that mainly includes the fundamentals of programming, creating complete applications, write once run anywhere features, etc. Our Java Online Course module will provide you a way to become certified in Java coaching. 

So, join hands with APTRON Noida for accepting new challenges and make the best solutions through the best Online Java Course. Learning Java beginner course basics and other features will make you an expert in Java functions and applications to deal with real-time tasks. APTRON Noida provides the best Online Java Training, where you will come to know how a Java Online Course features help to work in real-world platforms. Java Training in Noida at APTRON Noida will help you to get your training easily. Moreover, Java full stack Developer Course provides solutions to know about the development of applications using the Java platform. Java course in Noida with APTRON Noida will make you achieve the goal to become a certified Java Development expert.

{{{ content }}}