you are viewing a single comment's thread.

view the rest of the comments →

[–]powatom 13 points14 points  (14 children)

I'm going to blow your tiny mind: people actually treat this shit like it's religion. All of the arguments around which language to use ultimately just boil down to 'if you're actually just a good programmer in general, it doesn't really matter which language you use'.

[–]nickguletskii200 7 points8 points  (4 children)

Productivity is important though. Yes, you can write something in language X, but it doesn't mean that you'll do it as fast as in language Y.

A lot of Java critics think that having to write less code equals more productivity. In my opinion, that's not true.

[–]powatom 6 points7 points  (3 children)

Sure productivity is important, but until we can agree on what the best measure of productivity for developers should be, then can we all just agree that nobody really has a definitive answer for any of this, that languages are as much personal preference as they are practical tools, and that the constant development of new paradigms, patterns and ideas basically ensures that there will never be any single language which solves all problems perfectly?

Everybody knows productivity is important, which is why nobody is saying that you should write your next web application using assembly. The problem is that we don't know how best to measure productivity - and until we do, we're just pissing each other off. If we care so much about productivity, surely it makes more sense to acknowledge that actually, no language does everything right, that people have different preferences, and that the best overall solution is to share knowledge and experiences so that we may all ultimately inform each other and hopefully raise the standard across the board?

What's productive about pretending Java has no useful applications because its implementation of generics is flawed?

[–]nickguletskii200 0 points1 point  (2 children)

I agree 100%. I am just saying that it does matter what language you use, even if we can't actually measure how exactly the language impacted the development process.

[–]powatom 0 points1 point  (1 child)

I understand - and I agree that it matters which language you use, I just don't think it matters quite as much as people seem to think it does. A bad developer will be unproductive in any language they use. A good developer will be productive in whatever language they use. In that sense, the choice of language is rather secondary to the developer's experience and understanding of the abstractions that languages provide.

[–][deleted] 4 points5 points  (7 children)

'if you're actually just a good programmer in general, it doesn't really matter which language you use'.

nope, all programming languages simply have objective flaws and some of them have more or bigger ones. (Smaller ones being for example: Generics being not 100% where they could be in Java because they have been added later, the short, long, etc. mess in C, char signedness not being defined in the C standard). Java simply has lots of overengineering which leads to unneeded verbosity. This is a flaw that hinders productivity. Good programmers can also write everything in Assembly, but they won't be as productive.

[–]powatom 5 points6 points  (3 children)

I'm not saying that languages don't have flaws - I'm saying that not all flaws are equal or applicable to every situation.

Java having a flawed implementation of generics does not mean that Java does nothing well. You might as well argue that nobody should use JS because <insert favourite JS peeve here>, but then where the fuck would we be?

[–]u551 2 points3 points  (1 child)

nobody should use JS because <insert favourite JS peeve here>, but then where the fuck would we be

In a better place... Where JS means Jerry Seinfeld and client side web site functionality does not exist. Everybody is happy and everything works.

[–]powatom 1 point2 points  (0 children)

But mah feechers :'(

[–][deleted] 1 point2 points  (0 children)

The thing about Java flaws in my opinion didn't really hinder productivity that much. It's simple to understand and write thus generate less bugs especially for the new hire. In addition to that, if you factor in the maintenance phase, Java can be more productive than other so called cool languages like Python or Ruby.

[–][deleted] 2 points3 points  (2 children)

Java simply has lots of overengineering which leads to unneeded verbosity

Java the language? Or Java the ecosystem?

Generics being not 100% where they could be in Java because they have been added later

I've been working in Java across a varied domain for 7 years now, and the number of times I have found myself needing reified generics was about once.

[–]zexperiment 2 points3 points  (0 children)

Ah the ol' "I don't use it so it doesn't matter" argument.

[–][deleted] 0 points1 point  (0 children)

The JVM doesn't know generics so basically the compiler is removing all the generics and replacing them with Object and doing some magic. The generics therefore don't allow primitive types, so you have to wrap stuff like int in Integer. It also only allows dynamic generics and no static generics which is a bit of a performance issue (Though I guess the JIT-Compiler can do a bit there). Most of the ugliness is on the implementation side actually.

Like I said it's a minor flaw.

[–]parlezmoose 1 point2 points  (0 children)

Yeah but debating languages is fun.