Reputation
Next privilege 125 Rep.
Vote down
Badges
3
Impact
0 people reached

  • 0 posts edited
  • 0 helpful flags
  • 8 votes cast
Jun
24
comment Why isn't Java used for modern web application development?
@jwenting Well, it's been three years, so it's improved a little in terms of documentation and external tools since then. On the EE 6 stack when I was working with it it was frickin' horrible, moreso if supporting Glassfish 3 and AS 7.
Sep
24
awarded  Autobiographer
Jun
11
comment Why isn't Java used for modern web application development?
@KenCochrane As for DWM and JRebel, they have their own issues, but are better than compile/redeploy cycles. I'll still take the "edit, reload" of a Python/perl/php/etc app ideally, but in the end the libs and features available for Java won me over. It's all trade-offs.
Jun
11
comment Why isn't Java used for modern web application development?
@KenCochrane True, sure heavy compared to ngnix with a c fastcgi, but more capable too. I agree Maven shouldn't ideally be necessary - but I've never worked with any other language/env where I wouldn't have killed for an equivalent. When hacking on CMake or Automake/autoconf projects, Maven starts to seem really nice in comparison. In reality, in any big popular system that's powerful and capable, you're going to need something like it - maven, yum/apt, etc. It's imperfect, but the alternatives are worse.
Jun
11
comment Why isn't Java used for modern web application development?
@ThorbjørnRavnAndersen Easy to lose sight of that, but yes, the stateless simplicity of HTTP+HTML+JavaScript makes building apps on top quite difficult. I'm sure not claiming I can do a better job! Truly the issue isn't the complexity of the frameworks, it's that in some frameworks most of that complexity is exposed to the user, and the documentation isn't good enough to let them get away with that. After all, OSes are complex, but the layering works well so a JavaScript dev doesn't need to understand kernel-level mutexes. It's all about good docs and leaktight abstraction.
Jun
11
comment Why isn't Java used for modern web application development?
@ThorbjørnRavnAndersen Ouch - but fair. Call it "increasingly intense dislike". You're right that all frameworks have trade-offs and issues, and that it's a very complex job. I've suffered through a long jsf2 bug daisy chain as I foolishly adopted it when it was released and "ready", so I suspect I'm more bitter than is really healthy. It's not like Vaadin, play, or anything are exactly shiny perfectness either, just IMO a bit less broken and a bit better documented at the moment.
Jun
11
comment Why isn't Java used for modern web application development?
Java EE 6 might be "light weight" (except for JSF2) but it's still an incredibly huge learning curve, a giant stack of complicated specifications, and an immensely complicated layered system. Lightweight maybe, but sure not simple.
Jun
11
comment Why isn't Java used for modern web application development?
The learning curve is absolutely vertical. You'll spend the first few WEEKS just figuring out what the acronyms are, how the standards relate to their implementations, how everything is layered, etc. Then the next few weeks figuring out which stew of libraries and frameworks to use. Then the next few weeks reporting bugs in them...
Jun
11
comment Why isn't Java used for modern web application development?
I also think you missed a critical point: The learning curve and bugs really slow things down.
Jun
11
comment Why isn't Java used for modern web application development?
Note that all of above adds to "batteries not included" problem, which is a huge one. Feels like Java EE is a sub-framework on which you're supposed to build your own framework to then build your app. Very inefficient. Every tool is also horribly buggy, and JSF2 is simply an instrument of developer productivity destruction.
Jun
11
comment Why isn't Java used for modern web application development?
I'm with you on many points, but take issue with some. Compile/test loop: Use Eclipse's dynamic web module, and/or JRebel, and it's gone; great. Heavyness: JBoss AS 7 is pretty light and fast. and if you don't want EE you can use Tomcat or Jetty which are barely even there. Testing: Arquillian is the best test tool I've used in ANY language, though it's only just become mature enough to be usable. Dependency hell: Just use Maven; it should be standard and mandated part of JAva.
Jun
11
awarded  Commentator
Jun
11
comment Why isn't Java used for modern web application development?
@Jonas IMO the Scala tooling and integration is still WAY too immature for solid productivity. When I tried Play! I hit bugs and limitations more quickly than in anything except JSF2. Vaadin is a good alternative.
Jun
11
comment Why isn't Java used for modern web application development?
(2) is addressed wonderfully by JBoss Arquillian (arquillian.org). Lots of the rest is more a JSF2 issue than a Java issue. Biggest issues IMO are learning curve and immense bugginess of the frameworks, but if you avoid JSF2 you can do well.
Jun
11
comment Why isn't Java used for modern web application development?
Agreed; Java EE 6 is great as soon as you drop JSF2 and use something sane and productive. The learning curve is still immense though.
Jun
11
awarded  Supporter
Jun
11
comment Why isn't Java used for modern web application development?
If you're into Rails but need Java, look at Seam Forge. Beware, it uses JSF2, which is horriying to work with, but Forge its self is pretty good.
Jun
11
comment Why isn't Java used for modern web application development?
@ThorbjørnRavnAndersen The app might be simple, but understanding the framework isn't, and neither is understanding the main tools like Ant or Maven. A newbie's learning curve is huge and full of nested layers of acronym soup, confusion between specs (eg JAX-RS) and impls (eg Jackson) and more. It's IMMENSELY complicated to do something simple if you want to actually understand what you are doing.
Jun
11
comment Why isn't Java used for modern web application development?
@Jonas Not only is Java EE not the only option, but you can use just the good bits of Java EE 6 and avoid JSF2 and other problem areas. I'm loving Vaadin on JBoss AS 7 (an EE 6 server) with CDI, JAX-RS, and other JavaEE6 goodies. I sure hope you can use Play on an EE6 server the same way, 'cos I'm not going back to working without CDI.
Jun
11
comment Why isn't Java used for modern web application development?
A big factor that many people who already know Java and Java EE neglect is the learning curve. It's monsterous. Some technologies like JAX-RS are easy to use once you "get" the stack, but there's a hell of a lot of stack to "get". Others, like JSF2, are killer learning brick walls from hell all by themselves, and badly documented too. See blog.ringerc.id.au/2010/08/… and blog.ringerc.id.au/2010/08/…