Live data from Hacker News

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

news.ycombinator.com

41–50 of 57 posts

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

#41
History started it (it was the first or its kind), inertia kept it going.

When Java debuted, it was a Big Deal, and promised faster development, garbage collection, and multi-platform deployment to enterprises. As I see it, "enterprise" was (is) Java's primary customer. One they picked Java (likely more than a decade ago), there has to be a significant reason to change (remember, big companies tend to be risk-averse), and there hasn't been anything better enough to justify changes to the enterprise. Also, the big ERP systems use Java, so companies need embedded knowledge and consultant perpetuate the cycle. If you think getting them off of Java is hard, I worked for a company (a bit more than five years ago) where significant effort was spent getting them to Java, off of monolithic C.

As to your other question, yes, I know of very successful (multi-hundred MM (USD) revenue) that use Java in Agile teams. A company I'm starting to work with has several agile teams; some teams use scrum, some use kanban. So yes, they use it, and yes, it's successful.

Don't try to force your worldview too much on companies. As you get older, you'll find there are many good (and often several not-so-good) reasons for them being the way they are. they have the benefit of thousands of person-hours of experience. You (we) don't, yet.

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

#42
post #22

Earlier quoted context omitted.

Nah. Those are the reasons that an organization would like to list for using Java. But "kls" nailed it above. It's mainly inertia and labor availability at this point. The reality is that most enterprise projects are generally so many layers of lasagna code that JVM performance is about 20 down on the list of things to blame for poor performance.

If anything, they are reasons that enterprises aren't in any kind of hurry to abandon Java.

Right which was my point above in setting the history of how we got here and why no one is really interested in leaving. The history is very important to how Java became dominate and created the top reasons, which I would content are inertia and labor pool. The reasons bullet pointed above are why no one is in a hurry to move on, it does what it is supposed to do and the enterprise is happy with it. Until the cost/benefit is blown away, they will continue to be happy with it.

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

#43
post #25

Knowns. I think it's mostly because of the 'knowns'. Removes some uncertainty around planning maintenance & operational costs. Java developers are plentiful and framework training/certification programs are out there for the 'feel goods'. Also... turns out, .NET is adopted for the above reasons as well.

As a former .NET guy, I was just going to comment on the fact that the Enterprise adoption of Java nearly exactly mirrors the Enterprise adoption of .NET. All of the complains and justifications sound exactly the same.

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

#44
post #40
post #20

Earlier quoted context omitted.

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…

I apologize if my writing inferred that Java's decline was inevitable, it was not my intention, rather my intention was to point out that Java's dominance is related to some factors that are now changing and may give room to other options. It may or it may not, I generally try to stay away from predictions because there are many variables that can affect the outcome of the future. As such I was not trying to predict…

Fair enough, I enjoyed your comment overall, a lot of good points. Maybe I read too much into it. Apologies if I did!

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

#45
post #44
post #40

Earlier quoted context omitted.

I apologize if my writing inferred that Java's decline was inevitable, it was not my intention, rather my intention was to point out that Java's dominance is related to some factors that are now changing and may give room to other options. It may or it may not, I generally try to stay away from predictions because there are many variables that can affect the outcome of the future. As such I was not trying to predict…

Fair enough, I enjoyed your comment overall, a lot of good points. Maybe I read too much into it. Apologies if I did!

No it did read like I was predicting it's demise, it was not my intent but it did read like it. Thanks for the kind words, I enjoy participating here and it is always nice to have someone say they enjoy my contributions.

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

#47
Because Java is designed for projects that can scale up in size. Large php/python/ruby projects are nightmarish to maintain.

When you've got a project with dozens of teams and hundreds of components having things like static typing and well designed exception are really important to ensure data integrity.

There are also many features that languages like php lack, such as multithreading and atomic operations.

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

#48
post #32

Because Java is strongly structured, it's easier to bulk hire and fire programmers into and out of large projects. The ramp-up time is shorter. And that forced language structure can function as a rudimentary safety net for mediocre programmers. From a large company's point of view, it is a cheap and homogenized programming force. You, I and Joel Spolsky might care about the "good" programmer that massively outperfor…

Cheap? Really? In corp world java dev with 80-100$ an hour is normal (in AU), not cheap, really.

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

#49
I think it's Oracle. It usually starts in the accounting department. Someone from Oracle calls them up and convinces them that they need to spend oodles of cash for a financial package, but that package requires an Oracle server. Now, they can't justify paying that huge price, so they tell the entire IT department that they're going to dump whatever database products they were using for most of the company departments, and switch to Oracle. Once that's established, the IT department staff learns that Oracle is a big pusher of Java, so all the coders have to switch to Java. Eventually they want to get a promotion, so they learn they can get Java certified and either catch a promotion or go to another big company with those skills.

When I was doing Java coding, guys would argue in boardrooms for months about design patterns and system architecture, looking fairly important to the boss, never really getting anything accomplished. I was so glad to switch all that to a forward-thinking company that used PHP and PostgreSQL -- we knocked out code really fast and spent less time arguing in boardrooms. Sure, we used design patterns, but we didn't get overly academic about it like the Java guys did.

Now, anyone trying to introduce PHP or PostgreSQL into a Java/Oracle shop would find it really hard. These guys want to keep their certifications relevant. The Java guys will say that PHP is a hack with the inconsistent parameters, and claim it's nothing more than juked up Perl. If they permit it at all, they'll call it a "template language" to be used only for the front-end. The Oracle guys will say that PostgreSQL isn't battle-tested enough like Oracle, lacks sufficient replication and migration tools, and tell you the tech support for it isn't as good as Oracle's. Then they'll scold you for considering PostgreSQL over MySQL since Oracle owns MySQL now. And when they go in that direction, they'll say, "Yeah, MySQL is great only for tiny stuff."

As for "rapid development teams using Java" -- LOL, that doesn't exist as far as I've seen in the Fortune 1000 companies I've worked in. Rapid, as in take 1 year to argue about the system design before you start coding it? Yeah, that's about how rapid it is.

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

#50
post #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…

This is spot on. One point to add though: Java is remarkably maintainable due to the high commitment to backward compatibility, great tools, availability of standard skills and the relatively simple syntax ("conciseness considered harmful"). This shouldn't be underestimated in an enterprise setting....
Post reply on HN