Live data from Hacker News

Everything that's wrong with Java in a single class

plus.google.com

41–50 of 159 posts

Re: Everything that's wrong with Java in a single class

#41

Earlier quoted context omitted.

> As others have pointed out, this really should be titled "Everything that's wrong with Java culture ..." I think any UI designer would tell you that a culture doesn't happen spontaneously. Why do Quora, StackOverflow, and Yahoo! Answers feel like very different products despite providing essentially the same functionality? You can say this about any language and its community, too, not just Java. And it works both…

I agree with you, what I meant by this > As others have pointed out, this really should be titled "Everything that's wrong with Java culture ..." was that the OP didn't actually have much technical criticism of the language. If anything it's not "everything that's wrong" because it's missing a lot. I wasn't trying to defend Java.

Yes, my comment was meant more to highlight that any constructive criticism should address the design of the language (which is responsible for the culture), rather than complaining about the end result.

Though sometimes amusing examples do help to illustrate, when used carefully to supplement the main point!

[1] http://stackoverflow.com/questions/186964/java-core-api-anti...

Re: Everything that's wrong with Java in a single class

#42
post #3

I'm kind of partial to com.sun.java.swing.plaf.nimbus.InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState. A "non-haiku" has been written in its honor: http://stackoverflow.com/a/891589

Hahah, I love this. Very clever!

Re: Everything that's wrong with Java in a single class

#43

Earlier quoted context omitted.

I agree with you, what I meant by this > As others have pointed out, this really should be titled "Everything that's wrong with Java culture ..." was that the OP didn't actually have much technical criticism of the language. If anything it's not "everything that's wrong" because it's missing a lot. I wasn't trying to defend Java.

Yes, my comment was meant more to highlight that any constructive criticism should address the design of the language (which is responsible for the culture), rather than complaining about the end result. Though sometimes amusing examples do help to illustrate, when used carefully to supplement the main point! [1] http://stackoverflow.com/questions/186964/java-core-api-anti...

Yeah, actually that's a good point, the talk I linked to with Joshua Bloch really doesn't address the core design of the language so much as a lot of fiddly things on the edges.

Re: Everything that's wrong with Java in a single class

#44
post #39

My opinion goes like this: java is a verbose and hard-to-change language compared to ruby/python/js/etc so people think "I'm going to create this extra layer/abstraction just in case someone needs to change/use it for something else later" while dynamic language guys just solve the problem at hand and then improve it later because it's painless to do so.

Agree. Java coders seem to have a habit of over-solving the problem with useless layers of abstraction. I recall trying to create a silly video editor in Java, using a common vendor framework for media files, simply opening the file then extracting the Nth frame involved instantiating 12 layers of classes, like nested Russian dolls, every layer just as useless as it's parent class. What a waste of time it was to consider Java.

Re: Everything that's wrong with Java in a single class

#45
post #22

I hate this kind of post. It's the tech equivalent of "You're a stupidhead". If you want to criticize Java then at least make some meaningful points. Just off the top of my head: - Java logging is a clusterfuck - Something as simple as wanting symbolic links in a Maven build requires a third party plugin, last updated in 2007 (maven-junction-plugin) that requires something no longer in the central repo; - No lambdas…

In his defense, I don't think the long class name is the problem he's pointing out.. it's the over-patterned, over-generalized nature of something that barely does anything. The class's description is "Convenient proxy factory bean superclass for proxy factory beans that create only singletons." Seriously? That's fucking hilarious.

My favorite part is that the first word is "convenient." At the point that you need this class, absolutely nothing about the situation could possibly be considered "convenient."

Re: Everything that's wrong with Java in a single class

#46
post #26
post #22

I hate this kind of post. It's the tech equivalent of "You're a stupidhead". If you want to criticize Java then at least make some meaningful points. Just off the top of my head: - Java logging is a clusterfuck - Something as simple as wanting symbolic links in a Maven build requires a third party plugin, last updated in 2007 (maven-junction-plugin) that requires something no longer in the central repo; - No lambdas…

It's not the long name that's being mocked, it's the underlying problem of which the name is a symptom: that Java tends towards too many layers of abstraction, and the strict object-oriented nature means that every one of those layers is expressed as an inheritance level or a Factory object or a Proxy object, all a dozen levels away from where any action and logic is actually happening.

What does that have anything to do with Java? It's the framework's problem.

Re: Everything that's wrong with Java in a single class

#47

If anything, that's an indictment of the Spring framework, which you certainly don't need to write Java. For instance, there are over 500,000 Java apps in Google Play market, and I'm pretty confident most of them don't use Spring. Now if you wanted to criticize Spring and cargo-cult enterprise Java development, I think that's reasonable.

Good observation, I've read several posts which complain about factories and proxies. With Grails (which can be all Java no Groovy if you want), Zk, GWT, etc. I can do powerful web apps. No EJB and no Spring needed.

Re: Everything that's wrong with Java in a single class

#48
post #46
post #26

Earlier quoted context omitted.

It's not the long name that's being mocked, it's the underlying problem of which the name is a symptom: that Java tends towards too many layers of abstraction, and the strict object-oriented nature means that every one of those layers is expressed as an inheritance level or a Factory object or a Proxy object, all a dozen levels away from where any action and logic is actually happening.

What does that have anything to do with Java? It's the framework's problem.

Way, way, way too narrow. The Java standard library design and "framework meta-pattern" is what's being mocked here. It's java-the-community that we are laughing at via the straightforward label "Java". The fact that java-the-syntax or java-the-runtime can be used to code or deploy good software isn't really the point.

Re: Everything that's wrong with Java in a single class

#49

Earlier quoted context omitted.

No need to create javadoc, takes people 4 years to read it anyway :D

Hey now. I find Javadocs to be among the easiest to read formats of all the different documentation styles. Right up there with Python's standard one (or whatever tool python's default library as well as numpy and scipy use), maybe even better.

Actually, I do like reading javadoc. It's just a pain to create and the code feels a bit bloated with all those comments.

Re: Everything that's wrong with Java in a single class

#50
post #44
post #39

My opinion goes like this: java is a verbose and hard-to-change language compared to ruby/python/js/etc so people think "I'm going to create this extra layer/abstraction just in case someone needs to change/use it for something else later" while dynamic language guys just solve the problem at hand and then improve it later because it's painless to do so.

Agree. Java coders seem to have a habit of over-solving the problem with useless layers of abstraction. I recall trying to create a silly video editor in Java, using a common vendor framework for media files, simply opening the file then extracting the Nth frame involved instantiating 12 layers of classes, like nested Russian dolls, every layer just as useless as it's parent class. What a waste of time it was to cons…

Angry Birds is great example of this problem: it is very slow on my phone due to many layers of abstraction.
Post reply on HN