Live data from Hacker News

Why isn't Java used for modern web application development?

programmers.stackexchange.com

141–150 of 188 posts

Re: Why isn't Java used for modern web application development?

#141
post #90

Earlier quoted context omitted.

> Higher quality code. Java is easier to refactor than Ruby, which makes up for the lower language power. Let me rephrase: "It's easier in Java to rename identifiers than ruby, because my IDE does it for me." Now that's fine, but I don't see how do you conclude: Easier to rename identifiers => Higher quality code. How on earth? Easier to rename identifiers => Makes up for lower language power. What language deficienc…

You do realise there is more than "renaming variables" to refactoring don't you?!?

> You do realise there is more than "renaming variables" to refactoring don't you?!?

You do read before responding, don't you?

>> Other than renaming(which can be done for ruby, though it requires manual effort), there is no refactoring which Java does better than Ruby.

Re: Why isn't Java used for modern web application development?

#142
post #35

Java is a language that is in a weird space. It doesn't compile to binary like C/C++ and it isn't high-level and interpreted like a Ruby or Python. It's a weird middle-times language. It originally appeared in 1995 and is somewhat pioneering in the web space. But it isn't as clean as C# since C# appeared in 2001 and was able to learn from the mistakes of Java. It's definitely not as clean as Go which appeared in abou…

Spring is a bad choice?

Yes. Endless XML configs, and a ton of overhead to get started. Anyone can get productive with Play in 5 minutes. Spring + Hibernate were smart choices in 2003, but no longer the case.

Re: Why isn't Java used for modern web application development?

#143
post #126

Earlier quoted context omitted.

I grew up reading assembly code listings. Being able to read code is a really really important skill IMHO. Something like Java is very very easy to read. It's mainly keyword based, rather than special character based. I'd much rather read a 1,000 line Java program, than a 100 line program. The other point I'd make is that Java is probably about as verbose as english is. But we all manage, using English. We don't moan…

You'd much rather read a Java program because you are already biased towards it. Yes it's easy to read, but you need to acknowledge that many other skilled developers would find it easier to read Python, or Ruby, and indeed would rather read 1,000 lines of the same over 100 lines of Java. Otherwise you are simply being willfully ignorant. Why is Java considered inefficient and English not? Maybe because we don't need…

> "You'd much rather read a Java program because you are already biased towards it."

No. I'd rather read "int foo; bar.printLn()" than "%foo => &bar :print"

Less special characters. More words.

Each to their own though.

Re: Why isn't Java used for modern web application development?

#144
post #91

Earlier quoted context omitted.

>>the rabid Java fans I've worked with [closed mindedness] It is hard to argue against anecdotal evidence, but of the cases you mention -- java, Rails, Django -- imho, it is not exactly the Java people who seem to be the worst language/framework fanatics... (That said, scripting languages eat static languages' lunch for development speed in most every case I've seen.)

That kind of framework enthusiasm doesn't really stem from the closed minded mindset I was referring to. Most Ruby & Python devs I've met would admit that Java is a much better choice than their perspective languages for something like that requires distributed concurrency and speed (like Cassandra or Redis). The people I'm talking about are the ones that wouldn't look seriously at RabbitMQ because it's written in Er…

I got your point, I wrote that according to my personal experience the other cases are quite a bit worse. Which is worth as much as your personal stories.

Re: Why isn't Java used for modern web application development?

#145
post #35

Java is a language that is in a weird space. It doesn't compile to binary like C/C++ and it isn't high-level and interpreted like a Ruby or Python. It's a weird middle-times language. It originally appeared in 1995 and is somewhat pioneering in the web space. But it isn't as clean as C# since C# appeared in 2001 and was able to learn from the mistakes of Java. It's definitely not as clean as Go which appeared in abou…

[deleted]

Re: Why isn't Java used for modern web application development?

#146

Earlier quoted context omitted.

> "fucking XML files are controllers" XML has absolutely nothing whatsoever to do with Java the language. Some frameworks might use XML. There might be some built in functions/objects that deal with XML. But that doesn't mean you have to use XML. I certainly haven't in the 12 years I've been using Java.

XML may have nothing to do with Java, but some Java frameworks (e.g. Spring) are obsessed with it. Many (most?) Java devs don't even like Spring. Who in their right mind would want to write code to call constructors in XML? no type checking, no refactoring support etc.

I suspect the main reason Java became XML obsessed is because MS came out with C# and bragged about their XML and web services support. Ever since then Javaland has gone out of it's way to prove it was more XML and webservice centric. Net result is Java devs writing XML instead of code.

Re: Why isn't Java used for modern web application development?

#147
post #43

I spent three long years doing Big Freaking Enterprise Java web apps. You can certainly do modern web dev in a Java stack (we were Struts, Hibernate, Spring, and an internal framework). It just fought us every single step of the way, and every time we had to do something new (that couldn't be templates off of working code) they'd have to get one of our three best engineers to spend a week fighting the new library int…

Incidentally, the bit about many of Rails' features being a dig at Java isn't poetic license. Rails' original marketing angle was essentially "Look how different we are from Java!"

I think that's why the difficulty of deploying Rails apps in those days wasn't much of an obstacle — they positioned themselves not against PHP or Perl, but against Java, so the difficulty of deployment didn't look like so bad.

Re: Why isn't Java used for modern web application development?

#148
post #90
post #33

I've been hacking Rails since 2004, and I've made the switch to Java (dropwizard+mustache) for basic web development this year (sometimes with a meteor-like micro-framework I rolled myself). Benefits: - Higher quality code. Java is easier to refactor than Ruby, which makes up for the lower language power. - Performance! - Actual concurrency! - Faster server spinup and incremental changes. Rails with 20 gems in develo…

> Higher quality code. Java is easier to refactor than Ruby, which makes up for the lower language power. Let me rephrase: "It's easier in Java to rename identifiers than ruby, because my IDE does it for me." Now that's fine, but I don't see how do you conclude: Easier to rename identifiers => Higher quality code. How on earth? Easier to rename identifiers => Makes up for lower language power. What language deficienc…

I've used both Java and Ruby and Java is by far the more advanced runtime with better support. Ruby may have much cleaner syntax than Java, but better tooling is NOT one of Ruby's strengths.

Reading your post I suspect you've had very little exposure outside of Ruby.

Re: Why isn't Java used for modern web application development?

#149
post #87

Earlier quoted context omitted.

Actually, with Java, I type more than I think. A lot more. Compare this to Haskell, where a single keyword might involve substantial thought, or APL, where one character more or less could represent a pretty fundamental restructuring of part of the program. That Java makes you repeat yourself is not controversial. That being averse to this means you dislike thought is a somewhat bizarre position to hold.

> That Java makes you repeat yourself is not controversial. That being averse to this means you dislike thought is a somewhat bizarre position to hold. The English language makes you repeat yourself. I don't see it as a bottleneck. I've never considered a bottleneck to programming. possibly when programming some assembly routines. But if you're typing too much, you're probably repeating yourself too much, which means…

In Java, I type too much every time I have to deal with the fact int and Integer are two different types. That's a design flaw in Java, not in anything I've ever written using Java. And that's just a trivial example off the top of my head.

Re: Why isn't Java used for modern web application development?

#150

Google (at least Gmail), LinkedIn, etc are to me modern web applications & AFAIK they are written in Java (or at least partly in Java) and I'm not counting countless enterprise web apps. Java is what they call mature technology. It's past the hype and language flame war phase. Those who know its value, just use it to GTD without any ceremonies.

[deleted]
Post reply on HN