3 ms·
Agreed, but I think paul is referring to the most prevalent culture, which, unfortunately, has a tendency to over-engineer. Here's a completely unscientific co
by anuraggoel 18y ago
Agreed, but I think paul is referring to the most prevalent culture, which, unfortunately, has a tendency to over-engineer.
Here's a completely unscientific comparison:
Java: http://www.google.com/codesearch?hl=en&lr=&q=FactoryFactory+lang%3Ajava&sbtn=Search http://www.google.com/codesearch?hl=en&lr=&q=Factory...
Python: http://www.google.com/codesearch?hl=en&lr=&q=FactoryFactory+lang%3Apython&sbtn=Search http://www.google.com/codesearch?hl=en&lr=&q=Factory...
- timf 18y agoI understand what he was referring to... but there is a pretty big part of the Java world where things are actually kind of slick. So I don't like seeing such a blanket and semi-derogatory statement.
- paul 18y agoWe probably have different definitions of "slick". Nevertheless, I'm curious where I can find this slick code just in case... BTW, I'm not just randomly bashing Java. I've actually been using it since 1995, worked briefly at Sun/Javasoft, started one of the largest Java projects at Google, and used to like programming in it. However, the trend that I've noticed is that I like Java less and less because the culture has fallen into a degenerate process of building towering abstractions. Put simply, their metric of "good" seems to be very different from mine.
- timf 18y agoWell I'm only on my fifth year with it (at work) so maybe I have not been given as much a chance to get disillusioned. It's not my choice "as a language": I can't stand using Java with just a text editor whereas that's very nice with Python for example. I'm talking more about the platform. Spring (the small focused parts of it like IoC and AOP), Hibernate, Terracotta, Lucene, Jetty, YourKit, Clover, and many of the OSGI/JMX deployment solutions are all just polished, productive and out of the way to me with very nice integrations into my IDE. Yeah, IntelliJ -- that's probably a big part of my ability to like Java, to be honest. I'm with you on the abstractions thing, I've avoided J2EE etc.
- moe 18y agoI can't stand using Java with just a text editor Same here and imho that's quite an alarming indicator for the "towering abstractions" that paul mentioned. When you can't realistically navigate a significant codebase without tool support anymore then many of the components just aren't "out of the way" as much as they used to be or should be. Personally I jumped ship when java went through the heights of its XML disease which is apparently cooling down nowadays. The available toolchain (part of which you mentioned) is mighty impressive, no question. But it's the amount of boilerplate- and meta-code required to glue the stuff together that's driving many of us away.
- timf 18y ago"Towering" implies unweidly or disorganized to me and there are certainly parts of the Java world like that -- to be avoided. The number of abstractions/libraries seems irrelevant to the discussion if they can indeed be out of your way (you're saying because of all the boilerplate etc. that they aren't, so I guess we're talking about different things). If they're powerful and there's a small surface error for dealing with them then great, that's a high return on investment situation. Getting to that small surface error takes an IDE sometimes which is unfortunate on some level but I don't find anything fundamentally wrong with it. Personally, I can't stand even simple programs in Java with a text editor because of the amount of subdirectories you need to suddenly be aware of... org/blah/blah/blah/blah/blah (this is how I learned it originally).
- moe 18y agoWell, it's been a while since I left the java world. Back then it was all about "inverse of control", Spring and the ilk, and maven was starting out. People were basically competing about who can move the most code from java files to xml descriptors and who had the smartest pom.xml... Maybe things have bettered since then but from what I see at least the maven disease seems to still be all over the place. I'm not saying that all these things are necessarily bad. I just grew really tired of juggling monstrous xml blobs around while still being forced to write (or generate) metric tons of boilerplate code.
- timf 18y agoI want to call out Terracotta especially.