4 ms·
I've noticed a pattern with people who rally against OO, that when you get down to the core of their argument and what irks them, they really just don't like Ja
by greghinch 14y ago
I've noticed a pattern with people who rally against OO, that when you get down to the core of their argument and what irks them, they really just don't like Java, with all its superfluous-feeling ceremony code. Maybe try a lighter OO implementation first before you decry an entire methodology.
- MichaelGG 14y agoCertainly that clouds it. I feel Java and the like also cloud people's judgement of static typing as well. Who wouldn't hate static typing when you have to write out these massive types all. over. the. place.
- wonderzombie 14y agoI'm sympathetic to this line of reasoning, for sure. I also see value in critiquing a methodology as it is expressed in practice. Java is one of the most popular languages. I mean, you could critique C++, but at this point that seems kind of cruel. :)
- ww520 14y agoWhy do Java invoke such a strong negative emotion from people? It is not like a gun put on the head to make them use it.
- jmduke 14y ago" It is not like a gun put on the head to make them use it." From what I understand, a lot of universities do force students to use Java for many introductory courses, mine included (though we're migrating to Python.)
- ww520 14y agoUniversity's job is to expose students to variety of subjects even if they don't like it. It's part of the education.
- lowboy 14y agoExposure to different subjects is good, but there are better, cleaner languages to use for introducing concepts of programming such as variables, functions, algorithms, and data structures without taking up students' attention with syntax and boilerplate that has nothing to do with the lesson being taught. Compare these hello world programs for instance: Java: public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } } Python: print "Hello, world!" Ruby: puts 'Hello, world!'
- ww520 14y agoShowing a contrived example for a selected case doesn't show the benefit of a language. In that case, why not teach Basic? Its hello world is just, print "Hello World"
- TheSOB88 14y agoGun, management, it's all the same
- eropple 14y agoBecause a lot of people have been exposed to Java, and a lot of people have been exposed to bad Java. There's not a lot of "good Java" (at least that I know of) that's publicly available for reading and understanding. Couple that with the infuriating environment (whoever came up with the 'application server' as exists in Java EE should just feel terrible about themselves) and it's easy to see why it gets people's hackles up. Me, I don't mind Java so much, but the loads and loads of ceremonious bullshit that Java forces upon me is annoying and I absolutely despise web development in any of the existing tools[1]. I'd love something more friendly for what I do. (I would punt many adorable helpless kittens for a working C# on the JVM.) [1] - Please don't reply to this to tell me I need to try Play. I have. It's not much better to work with, its developers are absentee and don't seem to want outside contributions, and it has no community to speak of. Not good.
- pjmlp 14y agoThe problem is that this is not Java specific, rather enterprise specific. Before Java EE, I was coding similar type of applications with CORBA frameworks, and before that RPC frameworks. Now I am doing .NET, and we have to use a Java EE like framework as well. Enterprise architecture has a Midas touch to make everything complex.
- eropple 14y agoThat's definitely true, but when you say "Java", most people immediately think "Java EE", and that for things that should be simple (like a blog web app), you're forced into "enterprise" stuff. It's largely cultural (and though they aren't doing a great job the Play guys should be commended for trying), but no less a problem.
- wonderzombie 14y agoSometimes, if you want to put money on the table, you have to write in Java. (I'm in this boat. I don't hate Java, but I feel it's aggressively mediocre.) IOW: not everybody is in charge of what technology they use. Further, not everybody has the resources nor the inclination to rearrange their entire life (and that of their dependents) in order to start their own company, all because of Java. And sometimes it's just kibitzing or venting or what have you.
- argv_empty 14y agoI've also encountered a lot of people who rally in favor of OO who don't really understand anything other than Java, so they think using objects is the only way to get polymorphism, information hiding, etc. While I'm here, what would you recommend as "a lighter OO implementation"?
- slurgfest 14y agoThat is largely because OO advocates include a huge pile of concepts in OO as being indispensable. If OO were reduced to a relatively minimal, agreed concept then fewer people would be rejecting it because of one or another piece of baggage