Live data from Hacker News

Java 7 is now available

oracle.com

191–200 of 218 posts

Re: Java 7 is now available

#191

Earlier quoted context omitted.

>>There's a reason why professionals in every field buy top quality tools and not cheap disposable crap. Agree But Java is not cheap disposable crap. At this point it is more a matter of taste. You don't like Java fine, but other people are able to be just as productive as you using Java and probably more depending on the programmer itself. At the end of the day it is the programmer that makes the difference.

I would strongly contest the assertion that there is someone of equivalent programming aptitude and experience who will be as productive in Java as I would be in Scala or Clojure or C#. Boilerplate kills. It kills again when you have to go back and try to re-read code slathered in it.

[deleted]

Re: Java 7 is now available

#192

Earlier quoted context omitted.

>>There's a reason why professionals in every field buy top quality tools and not cheap disposable crap. Agree But Java is not cheap disposable crap. At this point it is more a matter of taste. You don't like Java fine, but other people are able to be just as productive as you using Java and probably more depending on the programmer itself. At the end of the day it is the programmer that makes the difference.

I would strongly contest the assertion that there is someone of equivalent programming aptitude and experience who will be as productive in Java as I would be in Scala or Clojure or C#. Boilerplate kills. It kills again when you have to go back and try to re-read code slathered in it.

If you're held back by boilerplate, you're simply not a very good programmer. You need to learn to read and write code just like you read and write english. Yes there's boilerplate, but it's not a big deal. It's not something you need to worry about. Take the sentence I just wrote:

"It's not something you need to worry about".

That is 8 words, 5 of which are boilerplate. The only important words are "NOT" "SOMETHING" "WORRY". Who cares? It didn't slow me down typing out the other ones.

If you're really spending that much time writing code, you haven't yet worked out that programming is 90% thinking about things and 10% writing it.

Re: Java 7 is now available

#193

Earlier quoted context omitted.

That's just foolish. I write Java daily for a very large web company, and I downvoted him. Because his claim is nonsensical. I downvoted you too, because your claim is trollish and wrong. I have been writing Java since I was 13. I am 23 now. I have been paid for code written in C#, Java, JavaScript, PHP, F#, and Python. My personal projects are written in Scala, C#, C++, and JavaScript. I emphatically do not use Ruby…

> I have been writing Java since I was 13. I am 23 now. I have been paid for code written in C#, Java, JavaScript, PHP, F#, and Python. Woah! You're 23? I bow down to your knowledge and wisdom ;) (I started programming before you were born). > I am quite certain that I would be vastly more productive if the language wasn't consistently getting in my way Again, then you're doing something seriously wrong. If you're sp…

Yes, you started writing Blub before I was born. Good for you. It's very unfortunate that you haven't progressed past that point.

That you have openly admitted that you do not understand the productivity and code quality benefits of closures, etc. is so very much not my problem. Massive switch statements and needless object subclassing to get around Java's inefficiencies--be my guest. Enjoy your spaghetti.

I have demonstrated, to my own satisfaction and really that's all I give a damn about, that I am considerably more productive using Scala (you do know what Scala is, right?) on the JVM, consuming Java libraries, than I am Java. The language is a roadblock, regardless of how your 90's sensibilities feel about the issue.

(Seriously, whoever decided a function object pattern was a suitable alternative to a delegate or closure should be barred from programming, ever again.)

Re: Java 7 is now available

#194

Earlier quoted context omitted.

That's just foolish. I write Java daily for a very large web company, and I downvoted him. Because his claim is nonsensical. I downvoted you too, because your claim is trollish and wrong. I have been writing Java since I was 13. I am 23 now. I have been paid for code written in C#, Java, JavaScript, PHP, F#, and Python. My personal projects are written in Scala, C#, C++, and JavaScript. I emphatically do not use Ruby…

As it is, I have an unhealthy number of vim macros to deal with all the boilerplate that Java foists upon a developer. I hate to bring up the editor wars thang, but knowing a lot of very skilled people in the Java world, I will say this: it's rare for a "best in class" Java developer to use anything but a full fledged Java IDE (not unheard of, but rare). If you're not using one of these (IntelliJ, Eclipse, or Netbean…

Sorry, I should have been more specific--I use Eclim to bring gvim inside the Eclipse environment, or I use Netbeans with a set of macros that parallel my vim ones. I find the built-in "boilerplate simplification" nonsense to be a patch over the fact that Java itself is no better than mediocre, and should not be considered a valid defense of Java as a tool.

And the reason? Because even with all these tools that have grown up around Java to address its shortcomings, it completely sucks. Absolutely sucks. Miserable to write and--more importantly--miserable to read. Meanwhile, I can comfortably write idiomatic Scala in Netbeans (the Eclipse plugin is shaky) with the editor's only help being Intellisense, idiomatic Scala that another programmer can read easily without trouble, because the language is geared toward actually being descriptive rather than covered in boilerplate.

And Scala is not a dynamically typed language, but shows that a static language can actually act very similarly to one. And you still get all those features that you miss. It's sort of what you're talking about re: AS3, but it's here now and works.

.

I wasn't joking earlier when I said that the best Java "tool" is a Scala compiler. It's not perfect (hello, long compile times), but I can do anything that I do in Java faster and with more readable and therefore reliable code in Scala. The reverse is not true, because to get around Java's inherent lack of expressivity you are forced to create new points of failure for yourself.

That's not good. It's not necessary. But it's defended to the death by people who--not you, but some of the other posters on this thread--really do truly think in Blub and don't understand why these things are bad.

Re: Java 7 is now available

#195

Earlier quoted context omitted.

>> You are basically saying that people cannot write good code in Java. Wrong. I would not say that, because I do it. I am saying that it is vastly more difficult than it needs to be to write good code in Java because it is insufficiently expressive. I will say that I am suspicious of the ability to write good code of people to whom Java is not a poor development choice, because I suspect brain damage, but a decent p…

> You lack the breadth of experience to make this claim. Wake up. You're 23. You're a kid. You've just started programming and think you know everything. You don't.

I'm well aware that I don't know everything--but, with what little respect is due a troll like yourself, apparently I know more than you. :-) After all, I'm not the one saying "you don't need that" because I don't understand it; on the contrary--I am saying that these tools greatly empower a programmer to write better code. Because they do. You can certainly write "good" Java, but it will not be in the same ballpark as "good" Scala or "good" C# or "good" any-other-remotely-modern-language. The effort expended to write "good" Java is much greater, and as such it is a worse tool.

As for your ad hominem: I've been doing this at some level for ten years, thanks. I've been getting paid to do this stuff for about six. I didn't "just" start programming. I work in a fairly high-level, demanding environment with plenty of hard problems and a lot of code smell that can be directly attributed to poor Java expressivity.

That you can only fall back on "you're a kid" as a way to attack claims says much, much more about you than I.

You are describing to a T the sort of Blub programmer that is referred to in the Graham article I linked upthread, but I won't bother advising you to read it--you won't recognize yourself. Have a nice day. :)

Re: Java 7 is now available

#196

Earlier quoted context omitted.

You are basically saying that people cannot write good code in Java. You are generalizing and that makes you sound like and troll even though I know that is not your intention. You can write good or bad code in Java. I personally have never really had an issue with Java so I don't really understand the hate. Yes, there are sucky frameworks out there but you do know that you don't have to use them? Either I'm writing…

You know, I was thinking the same about Java. That's when I posted this question. http://news.ycombinator.com/item?id=2094274 ; It got front page, and one (that's 1) pointer to good Java code. For whatever reason, whether it is merit or culture, Java programmers tend to write horrible code. I'm sure there's some nice Java code out there, that is not 20 times longer than it should be. But I have not yet seen evidence,…

You can certainly write good code in Java. Totally doable, never said it wasn't. But I'd agree with you that Java programmers tend to write horrible code.

I linked the essay by pg (which I'm sure our upset friends did not read) that suggests a decent reason why: I tend to find that in the Java world there's a lack of awareness of the proper (and I do mean proper) way of writing a lot of more advanced, more indirected code. (This is the "thinking in Blub" you see from pg or Joel Spolsky.) I have a hunch that this lack of higher-level awareness results in weird kluges and hacks that don't even really match the "canonical" design patterns and idioms of what you or I might call "good" Java.

I feel pretty confident in saying that people who are fully comfortable with a more expressive tool (C#, Scala, even dynamic languages like Python or JavaScript) will write better Java than someone who is inculcated into Java first and Java only. It's easy, if unpleasant, to move "down" the continuum that pg references--it's not so easy to move "up", especially when you don't see a reason to (as these posters clearly demonstrate that they do not).

Re: Java 7 is now available

#197

Earlier quoted context omitted.

> I have been writing Java since I was 13. I am 23 now. I have been paid for code written in C#, Java, JavaScript, PHP, F#, and Python. Woah! You're 23? I bow down to your knowledge and wisdom ;) (I started programming before you were born). > I am quite certain that I would be vastly more productive if the language wasn't consistently getting in my way Again, then you're doing something seriously wrong. If you're sp…

Yes, you started writing Blub before I was born. Good for you. It's very unfortunate that you haven't progressed past that point. That you have openly admitted that you do not understand the productivity and code quality benefits of closures, etc. is so very much not my problem. Massive switch statements and needless object subclassing to get around Java's inefficiencies--be my guest. Enjoy your spaghetti. I have dem…

That's great that you've discovered you're less productive in Java than Scala. Hopefully you can improve that deficiency in your programming at some point.

Re: Java 7 is now available

#198

Earlier quoted context omitted.

> You lack the breadth of experience to make this claim. Wake up. You're 23. You're a kid. You've just started programming and think you know everything. You don't.

I'm well aware that I don't know everything--but, with what little respect is due a troll like yourself, apparently I know more than you. :-) After all, I'm not the one saying "you don't need that" because I don't understand it; on the contrary--I am saying that these tools greatly empower a programmer to write better code. Because they do. You can certainly write "good" Java, but it will not be in the same ballpark…

You'll look back at these comments you're making in 10 years and be embarrassed. Hopefully by then you will have learnt a bit more about being a productive programmer.

The language doesn't matter. Repeat after me...

A good programmer can make good stuff in ANY language. A bad programmer can only make good stuff in their favorite language.

You should stand up, be confident, and realize that it is the programmer that creates awesome software. Not the language.

Re: Java 7 is now available

#199

Earlier quoted context omitted.

I'm well aware that I don't know everything--but, with what little respect is due a troll like yourself, apparently I know more than you. :-) After all, I'm not the one saying "you don't need that" because I don't understand it; on the contrary--I am saying that these tools greatly empower a programmer to write better code. Because they do. You can certainly write "good" Java, but it will not be in the same ballpark…

You'll look back at these comments you're making in 10 years and be embarrassed. Hopefully by then you will have learnt a bit more about being a productive programmer. The language doesn't matter. Repeat after me... A good programmer can make good stuff in ANY language. A bad programmer can only make good stuff in their favorite language. You should stand up, be confident, and realize that it is the programmer that c…

You don't seem to understand something that I guess I feel is rather basic: I don't have a "favorite" language. I have tools that are expressive and thus more useful because I spend more time in the problem space than I do in the language space. I also have Java.

Objects are a powerful concept because they allow a programmer to more easily map a problem to the available solution space. This is good. Java, however, fails to take the next step to enable even better mapping of a problem by creating a more flexible solution space. The other languages cited in this thread do create that more flexible solution space, and thus make getting a job done more easily and more cleanly a viable possibility.

.

A good programmer can make good stuff in any language. You are correct about this. Where you are wrong is in your inability to understand that a good programmer can make good stuff quicker and more easily in an environment that minimizes the distance between the problem and solution set.

But I rather get the impression that you don't know enough about what exists outside of your "box" to be as authoritative as you'd like to sound. You seem fundamentally uninterested in understanding the benefits that these constructs, and these simplified syntaxes (note: these are two separate points, but you seem to miss them both) provide to a developer. I don't think there's a lot of value in continuing this with you. Unless you bring forward salient points instead of petulant defenses based on fundamental ignorance, I won't reply to you again.

Re: Java 7 is now available

#200

Earlier quoted context omitted.

I'm well aware that I don't know everything--but, with what little respect is due a troll like yourself, apparently I know more than you. :-) After all, I'm not the one saying "you don't need that" because I don't understand it; on the contrary--I am saying that these tools greatly empower a programmer to write better code. Because they do. You can certainly write "good" Java, but it will not be in the same ballpark…

You'll look back at these comments you're making in 10 years and be embarrassed. Hopefully by then you will have learnt a bit more about being a productive programmer. The language doesn't matter. Repeat after me... A good programmer can make good stuff in ANY language. A bad programmer can only make good stuff in their favorite language. You should stand up, be confident, and realize that it is the programmer that c…

I think you're misunderstanding the point here. It is perfectly possible to write awesome software in Java. With the amount of software out there, it would be completely insane for anyone to say that you can't do awesome things in Java.

> You should stand up, be confident, and realize that it is the programmer that creates awesome software. Not the language.

This highlights the misunderstanding. You're right. We should be spending our time making awesome software, not typing letters and building boilerplate code.

Full disclosure: I work with eropple on a fairly regular basis, I favor C#, I write C++ at my day job. I spent a few months doing Java, was able to do what I wanted to with it, but missed a lot of features from more featureful languages.

Post reply on HN