I don't hate Java, I just don't want to use it. I find it ridiculously verbose, and the lack of closures (or even passing around code references) leads to the perceived overengineering mentioned in the post (I'm not sure it's really overengineering all the time - it's just that a rather rigid language forces you to write huge amounts of code to make your library flexible). That said I have no problem with using progr…
Stop hating Java
41–50 of 158 posts
Re: Stop hating Java
#42That said, it is possible to write thin apps with Java today, much by the innovations brought by SpringSource. Roo is a rails-like framework to Java that works really well, and the Spring container took out the word EJB from almost every new project.
If I have to choose a language to start a new project today I will probably go with other language, but I have no problems working with Java at all.
Re: Stop hating Java
#43I believe there is hate because a lot of 'over engineering' was done in most projects. This then necessitated the need for more complicated (and `sometimes` useless) new Java techniques. This most likely comes from seeing Java (or x,y,z) as thee only tool one would possibly need. Unfortunately, Java much like every other lang should be seen as a tool with pros and cons, in a chest of other tools. Also, it's bad measu…
Just reading this and thinking: "oh man, if ONLY that was my problem".
Re: Stop hating Java
#44Java is awesome purely because of the large corpus of useful libraries. Apache, stanford NLP, etc. Universities and open source groups contribute a large amount of Java code and it really pushes the boundaries of the types of applications you can create that are mature and perform well. Other than that I develop much faster in Python or Javascript. I've come to love treating functions as first class objects, and I ju…
Re: Stop hating Java
#45All you need to do to experience this first hand is go to one Ruby meetup. The roundtable introductions at my local Ruby brigade are often seasoned with AA-like declarations of soberness such as "Hi, I'm So-and-so and I've been Java-free since 2006." As a Java pro (and someone who really does like Java) it's a little disheartening. On one hand I know they don't really mean to belittle the technology that pays my bill…
I work in what is essentially a Java shop and the opposite is true for me. The Java programmers work on the data set and provide me with an API. My responsibility is to present the data using a Rails application in a sound UI and in the fastest way possible. They often make remarks about how Rails is easy and Java programming is where real men make their mark. I think this comes down to a need for people to feel prou…
I've had an Enterprise Java guy telling me once that "programming and Object Orientation got lost with those simpler, easy-to-use language and frameworks", referring to Ruby and Rails.
I dunno about that. Alan Kay would probably say that it got lost with C++ and Java, but YMMV.
Also, one word: speed.
But... I don't really think it boils down to this, it's not like one is better than the other. Proof is that both communities are learning from each other, and there's also JRuby... it's a great thing.
Re: Stop hating Java
#46Earlier quoted context omitted.
Oh really..... try building a large scale web app in Forth then. Tools matter, at every scale.
So your counter example is a relatively obscure language? I don't know Forth, but I'd imagine someone well-versed in it could handle the task. In any event I didn't say it was categorically the case. I said tends to be the case. We could go case / counter-case all day. I can bootstrap a project in Ruby or Python considerably faster than I can in Java. But when it comes time to scale, Java usually -- not always, but m…
Re: Stop hating Java
#47It's been my experience that most people who put down Java or C++ or [your language here] have never seriously used the language and are insecure about learning a new language so they make fun of other languages to hide their insecurity. Edit: I'll also add that this is not limited to the Ruby community. One last edit: General Patton once said, "Find what a man is cynical about, and you will know his weaknesses." or…
That's not to say they still don't have their niche for high performance applications. It's just that in most cases other, more expressive languages are usually a better choice.
Re: Stop hating Java
#48Java EE is an atrocity and it is just an over-enginnered pile of garbage.
Try play framework. I just finished a webapp in play and the whole experience has been awesome. IntelliJ + Play + MongoDB is AWESOME.
I haven't messed with the Scala version, but I can imagine that Scala + Play is even more interesting. Either way, Java EE/EJB/XMLHell is probably my most people hate Java. Also, Swing was garbage too, but who builds desktop apps in Java anymore anyway?
Re: Stop hating Java
#49I think a lot of the Java hate is because of the architecture astronauts who hijacked the language in the last decade - J2EE/EJB, the GoF, FactoryFactoryFactory shit and so on. I remember seeing the earlier versions of the servlet API and it was very elegant and well designed; unfortunately once the astronauts were through with it writing Java web apps became such a form of mental torture (Struts, anyone?) that even…
Thank you for writing this. When I first read the GoF Design Pattern Book I thought "this is the reason, why the code in my project is bloated, unmaintainable and shitty".
Re: Stop hating Java
#50Two other reasons I avoid Java the dependencies ecosystem for a typical Java app is bloated and always changing, and it didn't really live up to the promise of write-once-run-anywhere. And by the way, the over-abstraction habit is really annoying when you're trying to write a simple util app and you can't just say foo = new Foo() instead you have to extra nonsense such as factory = new FooParamsFactory() then foopara…
Care to explain this one? All the code I have written for the past 10 years do not need to be recompiled and can run on Windows/Linux/Mac/*BSD 32 bit/64 bit. And I used IO, NIO, sockets, threads, files (not necessarily high-level stuff).