1. Availability, ease of use of Java based hosting provider
2. Time from writing code to live deployments
3. Lack of agile frameworks like rails, django or any other php framework (hot code reload etc.).
81–90 of 107 posts
1. Availability, ease of use of Java based hosting provider
2. Time from writing code to live deployments
3. Lack of agile frameworks like rails, django or any other php framework (hot code reload etc.).
Another problem is verbosity: I use Hadoop which is written Java and the verbosity of the code saddens me.
It has stuff like
public static class Reduce extends MapReduceBase implements Reducer {
public void reduce(Text key, Iterator values, OutputCollector output, Reporter reporter) throws IOException {
have a look at the code here : http://hadoop.apache.org/common/docs/r0.20.0/mapred_tutorial...Earlier quoted context omitted.
disagree on the documentation point.
Perhaps not the documentation of Java itself, but practically every third-party library I've ever tried to use has been a disaster. At least with Ruby or Python I can just dig into the source code, but with so many FactoryFactory's around...
Earlier quoted context omitted.
I have run websites done in Java running on Tomcat plus MySQL plus Wine/Win32 programs and a few other services with 128M Linux servers. Tomcat takes up about 30M to 40M. The 512MB or 2GB are simply misinformation.
Original poster asked about enterprise webapps. Those that I've used are quite huge.
If you load lots of data in your app, it will use lots of memory. Doesn't matter what language it's in. It's a poor measurement of Java's memory requirement.
The biggest problem with Java webapp development, in my opinion, is its ridiculous obsession with XML. I can't count the number of hours I've wasted debugging obscure errors only to discover that I had a minor syntax error in my XML configuration files. In a framework like Rails, 90% of what I have to specify in those XML config files is assumed by default anyway, and almost all of the rest is done as Ruby code, whic…
My opinion. It's partly because teams who do webapps tend to be small, young and agile. First, prejudices: they prefer new things (Java is old); they dislike the environment that is Java's home (big enterprise) and the practices and personalities types that go with it (perfectionistic, professional, conservative). Second, real reasons: Java is verbose and statically typed, and therefore it takes more work to make cha…
What sort of easy changes are people making that verbosity and static typing would prevent? I get the heebiejeebies trying to imagine that...
Personally I find Java one of the easiest languages to make functionality changes in just because of the excellent refactoring tools that are available. People always claim to feel restricted by the language when they use Java. If they're using emacs or Textmate to edit it then sure, I can see that. Personally, whenever I'm writing something other than Java I feel desperately restricted by the tools - editors that don't have semantic knowledge of the program structure and just treat it all as text seem unbelievably primitive to me now after years of using IntelliJ.
I actually have come to enjoy java servers/services this summer at my internship, but there is no way in hell I'll ever do anything with JSP, ever.
Earlier quoted context omitted.
What sort of easy changes are people making that verbosity and static typing would prevent? I get the heebiejeebies trying to imagine that...
Exactly - I often read "easy changes" as "I don't have to think about all the implications of this" which is never good. Personally I find Java one of the easiest languages to make functionality changes in just because of the excellent refactoring tools that are available. People always claim to feel restricted by the language when they use Java. If they're using emacs or Textmate to edit it then sure, I can see that…
Functionality changes require expressiveness, something Java lacks, due to its superfluous ceremony. Functionality changes require an ability to clearly see where and how things are done, and this is obscured by the extra noise of Java.
Java 5/6 went a fair ways to mitigating this... somewhat. And IDEs can help reduce extraneous noise (like IntelliJ's for generics). But it's not eliminated, and it's not enough.
Java still has an impoverished model of abstraction and OO, it forces me to repeat myself continually (and having an IDE do the grunt work of repetition doesn't help--nothing should have to do it), and that both slows me down, and obfuscates meaning.
The tooling is the only thing that makes Java even remotely palatable.
For me, it's purely emotional. My last class at Uni 2 years ago was a survey of web dev technologies. We built sites using ASP.NET, Perl, PHP and JSP. Java and asp.net were tied for worst experience ever. Setup and configuration of the Java stack was 2/3rds of the project. And, that's after taking 2 years of Java in school. Setting up a Java stack on a Ubuntu or a Windows box was equally as painful for me at the time…
What's the big deal with setting up a "JVM Environment"? Working with Scala for me involves the latest Scala distro and a copy of VIM. Is there something in particular that makes it so painful that I"m missing?
Try out Google App Engine's Java support and the Eclipse plug-in, and if you're after a Java framework check out GWT. I love Python and work in it almost entirely now, but previously worked with Java (yes I know the joke about them being the same with the whitespace re-arranged). GAE gets rid of most of the configuration and scaling pain. Plus it's free to get started. There are some limitations, but essentially it m…
For personal projects: I am a Grails guy. I love it. Dynamic methods on Model classes, no need of DAO's per say, GSP tags are great.
I have also developed using Python and Django. And loved it. Grails gives me that only in Groovy/Java which is awesome!
My 2 cents.