TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Why not Java for web development?

10 pointsby RobertLongalmost 13 years ago
While I'm a fairly young developer and a freshman CS major. I've heard of the problems and horror stories associated with Java web development. But recently, I discovered Play Framework and I'm beginning to wonder why Java is given such a bad name in web development?<p>I'm studying at a California State college and nearly every school in the system teaches Java as their core language. Very few of these colleges have a single class that teaches web development. For someone who wants to pursue a career in web development, this is highly discouraging because I feel I am not learning the technologies I need for a job (such as Ruby and Python).<p>I read stories every day saying there is a lack of Ruby and Python developers. Yet, there are tons of great developers who are being taught Java and could pick up Play as easy as I have.<p>So I ask all of you, why not Java for web development? What's wrong with Play? And why are all these companies ignoring the fact that there is a shortage of Ruby and Python developers because most college students are learning Java?

8 comments

gacbaalmost 13 years ago
<i>And why are all these companies ignoring the fact that there is a shortage of Ruby and Python developers because most college students are learning Java?</i><p>I'll answer your other question as it seems to have been ignored:<p>I don't think anyone is actively ignoring these other great languages. <i>It has more to do with inertia.</i> Once a company invests X in their software (where X can be 100K to 100M), they're reluctant to throw that away when it works. We as engineers may like the hot new thing, but the company having paid for the hot old thing isn't just going to throw it out because you don't like it anymore. :)<p>This is why we had the Y2K problem from a massive investment in COBOL. We'll have other issues from a massive investment in Java over the next few decades as well. It is what it is. Learn Java. Learn Play. Learn Ruby, Python, PHP, C#, whatever you want to learn. You'll be learning all your career. The more languages you know, the better a developer you will be. Embrace it now, forever will it dominate your destiny.
andrewguentheralmost 13 years ago
<i>Why not Java for web development?</i> People do use Java for web dev. Google uses it almost exclusively as far as I know. You will find that Java is in fact very prominent in large companies.<p><i>What's wrong with Play?</i> Nothing is "wrong" with Play You just don't hear about it as much because you read HN. HN is about startups. Startups like to be on the bleeding edge and boast very rapid development cycles. Java is just not conducive to this. (I would like to note that I have never personally used Play) As far as I know, Play has not gained the traction that other event driven frameworks have. This has a lot to do with the fact that Play didn't really start to come to light until after Node.JS started to explode and server-side javascript became heralded as the second coming of Christ (by some, not most).<p><i>And why are all these companies ignoring the fact that there is a shortage of Ruby and Python developers because most college students are learning Java?</i> Because it doesn't matter what the college students are learning. Java is a good language to teach OOP with. But that doesn't mean it is always the best tool for the job.<p><i>Very few of these colleges have a single class that teaches web development. For someone who wants to pursue a career in web development, this is highly discouraging because I feel I am not learning the technologies I need for a job (such as Ruby and Python).</i> You aren't learning them. Just like you probably won't learn the technologies you need for the next job you want at your current job. Welcome to development. Never stop learning. You stop learning, you're dead. I'm serious. Who knows what the cool thing will be five years from now? Doesn't matter, you're going to have to learn it anyway.<p>I would like to elaborate further, but don't have the time at the moment. Please feel free to ask me anything else you're curious about.
bobfirestonealmost 13 years ago
In production Java has a lot of upside. Compared to ruby or python it is screaming fast. Twitter has moved large portions of their app to java from rails because of this.<p>The reason why interpreted languages are hot with startups and why twitter was originally built on rails is the speed you get in development. Also production speed differences are being offset by cheaper faster hardware.<p>If you hit twitter or facebook scale issues and need more of a speed bump than you can get by throwing more boxes at the problem. Congratulations you've won and if you built on ruby you can go from mri to jruby and get all the java production speed without giving up the ruby development speed.
评论 #4067116 未加载
tjralmost 13 years ago
There is nothing wrong with it per se. It's more of a cultural thing.<p>Web application development culture tries to be fast, both in terms of developing the initial application as quickly as possible, and rolling changes out to the user as quickly as possible. Having to compile code has traditionally made Java less desirable than Python/Ruby/Perl etc. for the fast cycle of web development.<p>The Play framework eliminates this problem, but there's cultural momentum built up. After eschewing Java for years due to this, it seems unlikely that Java will quickly recover any warranted popularity amongst web developers.<p>Java also tends to be more verbose as a language. This can be a good thing in certain settings, but again goes against the desire for fast development.<p>There is in fact a lot of Java web development going on, but more in situations like developing internal web applications for use within big corporations rather than developing nimble startup code. If you wanted to get a job doing internal web applications for some place like Transamerica or AT&#38;T, Java skills would be good to have.<p>That said, if you're really into Java/Play, then there might not be a lot of competition to become a leading expert...
评论 #4066876 未加载
评论 #4066109 未加载
Edmondalmost 13 years ago
I know you are just starting out so you have to start somewhere. I'll recommend you stick with Java and add PHP or any of the other "sexy" web-dev technologies to your skill set.<p>In general knowing more than one platform serves you much better than becoming stuck with one of these web-dev frameworks that may not be around in a few years.<p>Java is MASSIVE, if you ever want to be a serious technologist in a big corporation, Java is a requirement, and don't let anyone tell you that is going to change anytime soon.<p>Java is a very mature and versatile platform with a host of advanced technologies built on top of it (check out apache.org). There is a reason the likes of Google build their platform on top of Java not Ruby/PHP/Python or any of the other more talked about platforms.<p>If nothing else Java can be a good way to get some problem solving exercise. Unlike some of the other web-dev frame works that abstract a lot of stuff from the developer, in Java you'll have to deal with more low level concerns which can be good for your own training as a developer.<p>PS: I am the founder/developer of a Javascript APP platform that you as a student may find interesting: www.appynote.com. It is built on top of Java:)
评论 #4066179 未加载
评论 #4066882 未加载
Turing_Machinealmost 13 years ago
Just learn them, dude. If you've learned one language (and understand it) picking up another is usually no trouble at all, especially nowadays when there are tons of tutorials, manuals, and support forums available for free.<p>Figuring out how to learn another language on your own is probably one of the most important skills you can master because the language is used in your school classes (no matter what it is) is very unlikely to be the "hot" language ten years from now.<p>Learning another language is also an excellent way to discover new ways of thinking about programming.<p>As to why those other languages are more popular, there are a number of reasons. Less boilerplate required to get something running, no compile step, dynamicity...(and of course there are also drawbacks -- type safety and so on).
评论 #4066145 未加载
rjhackinalmost 13 years ago
Java is a good language for web development. It's mature and most of the big companies use java. Java in terms of popularity might have slowed down but JVM as a platform will stay for a longer time. I use java for my day job, but I did learn php, python and ruby on the side just to build some small apps as part of learning. It's fun to learn additional languages and to know where each language shine.<p>I haven't worked on Play that much so I'll let others who have used talk about it. Spring framework is another really good one you can give a try.<p>The reasons why startups prefer anything other than java might be rapid prototyping, bleeding edge and probably hosting costs.
gexlaalmost 13 years ago
"So I ask all of you, why not Java for web development? What's wrong with Play?"<p>There is nothing wrong with using Java for web development. There are loads of people using Java for web development. Otherwise nobody would have bothered building things like Groovy and Grails, Jruby or Play.<p>"I read stories every day saying there is a lack of Ruby and Python developers. Yet, there are tons of great developers who are being taught Java and could pick up Play as easy as I have."<p>Tons of Java developers just sitting around looking for a job? The problem isn't a lack of X developers. It's a lack of AVAILABLE x developers to be picked up.