Live data from Hacker News

Ask HN: Why do big companies tend to only build with Java?

news.ycombinator.com

11–20 of 57 posts

Re: Ask HN: Why do big companies tend to only build with Java?

#11
Good threading support (no global interpreter lock or anything like that).

Very fast.

Unicode strings.

Some measure of type checking (probably appeals more to large, enterprisey projects). This also makes IDE autocomplete easier.

Lots of libraries.

Cross platform.

And yes, a large pool of developers.

Not too many languages can check off all those boxes, making Java a sweet spot for a lot of enterprise development. Probably not a good fit if you just want to throw together a CMS, though.

Re: Ask HN: Why do big companies tend to only build with Java?

#12
I believe that the structure of the language helps translating OO design to code. As OO is the preferred way of enterprises to describe their products (which may not always be the best way), they tend to think Java will make the product better.

I think Java right now is easily understandable by blue collars (not the code, but the architecture and the design part). It may not be the right choice, but big companies try to avoid the unknown and they tend to think that things they can understand (OO being an example) are better than the other options.

Re: Ask HN: Why do big companies tend to only build with Java?

#13
it's not just big companies that use java. We're a small company (15 ppl) and have built our backend in java and the frontend in PHP.

I'm not a developer but I think at least part of the reason for building in java is the abundance of libraries (i.e. Apache Commons). We also just do POJOs/Servlets so development can be rapid. I think most people think of J2EE when they think of big companies and java.

Re: Ask HN: Why do big companies tend to only build with Java?

#14
post #10

Statically typed languages are favoured when you're working on a team with 40 other developers and you want the idiotic changes being made 5 desks over to break before they check in, not after you've pulled their changes. Autocomplete also makes life staggeringly easier, as do strong refactoring tools. Not having to deal with memory management is also a big plus. When you put those requirements together you end up wi…

On the other hand, maybe you wouldn't need 40 developers on the project if you weren't building it in Java...

Possibly. But I'd like to see that proven.

Re: Ask HN: Why do big companies tend to only build with Java?

#15
Most of these answers don't seem to be written by anyone actually involved in "enterprise" development.

Here are our simple reasons:

* The JVM is fast.

* The JVM can take proper advantage of multiple cores directly (no GIL).

* The JVM is efficient compared to other runtimes.

* Java is type-safe.

* There's a library for everything, and libraries are generally well-documented, unit-tested, and provide stable releases with binary/source-stable APIs.

* There are a number of alternative languages to choose from that can interoperate on the JVM (Scala, Clojure, JRuby, ...)

I've worked with plenty of JVM/Java-based projects that shipped quickly. There genuinely isn't anything else I would use server-side.

Re: Ask HN: Why do big companies tend to only build with Java?

#16
post #10

Statically typed languages are favoured when you're working on a team with 40 other developers and you want the idiotic changes being made 5 desks over to break before they check in, not after you've pulled their changes. Autocomplete also makes life staggeringly easier, as do strong refactoring tools. Not having to deal with memory management is also a big plus. When you put those requirements together you end up wi…

On the other hand, maybe you wouldn't need 40 developers on the project if you weren't building it in Java...

Once your code base gets to a certain size, the feature set gets big enough, and the maintenance starts stacking up, you need a more robust language.

Sure, plenty of web apps can run fine on Ruby, but even then, many of them start looking towards a language thats easier to maintain.

Re: Ask HN: Why do big companies tend to only build with Java?

#17
There are good answers throughout this thread but the thing I find a lot of people forget is support.

Startup founders and small businesses tend to have more talent available to them. When you have 4 guys with MIT degrees you can hack through problems so you don’t need support. But if you’re a big company you sometimes have to settle for the day laborer. The guy who can do the grunt work coding but who slams on the brakes when he runs into any kind of problem.

As someone running a shop with those type of workers you have a choice. Have them wait for one of the more senior people to help them or throw $300 at the problem and have them call support.

This doesn’t produce the most elegant code but most big companies aren’t interested in that anyway. If it works and crashes relatively rarely most corporations are fine with it.

Unrelated to that it should also be mentioned that companies like IBM and Microsoft market to non-IT execs where as open solutions don’t have marketing departments. There’s a reason they say “No one ever got fired buying Microsoft”

Re: Ask HN: Why do big companies tend to only build with Java?

#18
1) Corporations don't understand IT. To them it's a cost center, not an enabler. So to minimize costs they must find developers that are (a) easily replaceable (b) cheap to hire

2) Sun did a great job marketing Java in the late 90s and early 2000s. So corporate managers felt safe adopting Java; it was the "in" thing. And as kls said, corporations have a lot of inertia. Why break something when it's working? (It's due to this mentality that some corporations still run VB6 and COBOL apps)

Re: Ask HN: Why do big companies tend to only build with Java?

#19
Its a well structured, well thought out language that somewhat feels like an extension of a lower level language, like C. Generally, companies working on big projects want developers who are comfortable with a wide variety of programming concepts, including using interfaces, modular code, etc and Java, and its ecosystem, helps to reinforce these types of practices. Static typing is also critical for a larger application, something like PHP is really just a scripting language for front-end display and if thats all you have used you are probably missing out on a lot of larger CS concepts

Re: Ask HN: Why do big companies tend to only build with Java?

#20
post #7

There are a plethora of reasons that the enterprise uses Java and many of them are really good reasons but the main reason now is inertia, so many enterprises and vendors are invested in Java that to divest of Java just does not have a good value proposition, given the fact that their has not been a major revolution in languages or run-times, no one has had the stomach to try to move off in a serious attempt. To unde…

You make Java's decline sound almost inevitable. Perhaps it is. But Java retains significant performance advantages thanks to the (by now) well optimized JVM, and SaaS has actually helped it replace more elegant languages like Ruby in contexts where performance is critical, since the whole code base doesn't have to be thrown out, and Java can be dropped in strategically.

A good talk on this is "Twitter: From Ruby on Rails to the JVM" by Twitter's app services chief Raffi Krikorian http://ontwik.com/rails/oreilly-oscon-java-2011-raffi-krikor...

The fact that Twitter just hired Oracle's Adam Messinger as its new CTO seems to be a strong sign this direction is continuing. http://techcrunch.com/2011/11/07/twitter-nabs-former-oracle-...

Certainly languages like Ruby and Python will continue to post performance gains as their interpreters mature. Certainly the migration of e.g. Lisp (Clojure) and Ruby (JRuby) to the JVM will accelerate these gains. SaaS will allow a mixture of languages. And surely other language platforms will be Good Enough for many startups and for smaller apps at large companies.

But at the edge of the performance envelope, among memory managed languages, Java still seems to be a big winner, at least if the folks at Twitter are to be believed.

Post reply on HN