Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is Java frequently used for enterprise applications? [closed]

As a Java newbie I'm wondering: of all the languages in the world, why is Java frequently used for enterprise applications? What makes it that way compared to the other languages? Will it continue to be this way in the upcoming years?

I'd appreciate your insights. Thanks in advance :)

like image 594
alimango Avatar asked Jul 29 '09 02:07

alimango


People also ask

Is Java good for enterprise applications?

Java can actually run on any modern hardware and reduces the technicality dependency to nearly zero. This also makes it less expensive for enterprises to set up and maintain Java software and links all the devices and operating systems that may be used within the enterprise (Windows, Mac, mobile devices, etc).

Why is Java still used for enterprise?

Apart from this, in the current time, many banks, retailers, manufacturers, insurance companies use Java for their app development. It's quite easy to understand and scalable language for both web and mobile application development as the Android platform is driven by Java.

What are enterprise applications in Java?

Java Enterprise applications (Java EE applications) are applications that conform to the Java Platform, Enterprise Edition (Java EE) specification. Before Java EE, the specification name was Java 2 Platform, Enterprise Edition (J2EE). The term Java EE includes Java EE and J2EE specifications.

What percentage of enterprise applications are Java?

According to the research by Cloud Foundry Foundation, Java is used in 58% of the enterprises represented by the 601 respondents, and JavaScript is used in 57%. C++ is used in 46% of companies.


2 Answers

One word: libraries. Java has an vast array of excellent libraries for solving most of the common problems one needs to solve when developing enterprise applications. In many cases, there is more than one good choice for addressing a particular need, and oftentimes those libraries are free and open source under a business-friendly license.

Some have argued that there are, in fact, too many choices in the Java ecosystem, and that developing enterprise software in Java requires developers to make a large number of decisions that can have far-reaching impact on the end product for better or worse. This has probably helped propel the popularity of alternatives like .NET, which has a reputation of offering fewer choices, but with the benefits of a more well-integrated application stack and tools set. What direction you choose depends, I guess, on whether you place more value on "freedom of choice" or "freedom from choice".

like image 68
Rob H Avatar answered Sep 22 '22 02:09

Rob H


There are lots of reasons a large company (the type to go for enterprise solutions) would pick Java. Note I'm not saying all these reasons are correct or valid. But the relevant point is that they appear valid to a CTO at MegaCorp.

Learning Curve

Java is a simple language without much of the flexibility of other members of the C family, this cuts both ways, but it is seen as a straightforward language for use by an army of programmers. Enterprise projects tend to involve large numbers of developers (rightly or wrongly) and it is much easier to get a developer to a minimum level of competence in Java than C++. You also have a whole generation of graduates who have probably been largely schooled in Java.

Choice

Java has a vast array of libraries, frameworks, tools and IDEs, and server providers. To an enterprise its good to have choice, even if that's just for use as a bargaining chip when negotiating price. The language lends itself to code quality tools that allow enforcement of corporate standards (and as mentioned there are a lot of those tools).

Platform Independence

Java is write once, run (well, debug) everywhere. Sun has actively encouraged open standards that allow multiple vendors to implement their solutions. These standards give the customer the comfort that they can migrate from one vendor to another if a given vendor goes under or starts charging more. Of course the reality is that each vendor does their best to provide some "added value" features that tie the customer to them quite nicely.

Maturity

Its been around a long time, running a lot of servers. If your web application needs to be "6 sigma" or similar and you are the MegaCorp CTO, you are not going to look that kindly on Joe the developer wanting to do it in RoR.

Timing/Marketing

Java came out when programming was moving towards the web. It was positioned cleverly and got a strong position early in web development. Because of the open standards, there are some very big companies producing these platforms and they market Java pretty hard to sell those platforms.

Inertia

Large corporations move forward at a glacial pace (a lot are still using Java 1.4 five years after 5 was released), so once they've picked Java, it takes a massive investment to move to another platform. With each day that goes by they're cranking out more Java that would need to be migrated. Most of these companies are not primarily coding shops, so it is a very hard sell to convince the business to spend a few tens of millions rewriting their entire code base for no immediate business benefit.

like image 33
Rich Seller Avatar answered Sep 23 '22 02:09

Rich Seller