Live data from Hacker News

Stop hating Java

andrzejonsoftware.blogspot.com

141–150 of 158 posts

Re: Stop hating Java

#141
post #86

We seem to have a rather short institutional memory. It wasn't that long ago (Java's only as old as Ruby) that Java was new and hailed as a savior from C++ and C. Java was widely seen as a great language, or at least a language that presented a great improvement over the existing mainstream languages. It gave GC to the masses for the first time. It delivered standard-sized primitives, an (almost) everything's-an-obje…

> Java has a lot of issues, but in the grand scheme of things, it's a pretty good language. Definitely not. Especially not in this day and age. Java has a pretty good language, java has a good ecosystem, java has a passable standard library, but in 2011 java is a crummy language.

Depends on what you want to do. Want to hack together a low-traffic website quickly? Java's a pretty poor choice. Want to build large-scale systems that are reliable and fast? Java might fit the bill pretty well. It's no coincidence that Google builds much of their infrastructure on Java. It's no coincidence that Hadoop is written in Java. And it's no coincidence that Twitter is rewriting much of their infrastructure in Java. Java is a good language for building Big Stuff.

Re: Stop hating Java

#143
post #22
post #5

Earlier quoted context omitted.

It didn't. The wiki tells us that it was first used in 1990, somewhat before Java was on the scene. http://en.wikipedia.org/wiki/Code_refactoring#History

Smalltalk was famous for it.

Makes sense, I guess: Java was based on Objective C which was based on Smalltalk (and C).

Re: Stop hating Java

#144

First, let me point out that once again we are comparing Java - a runtime, a language platform and an entire ecosystem comprising many frameworks - with Rails, a specific web framework designed with a specific philosophy (opinionated defaults that work in 90% of cases, YAGNI, etc.) for a specific range of uses ("rapidly prototyping a small-to-moderately sized web site"). So just because Rails developers hate somethin…

Nonetheless, I hate Java. It is a handy mental shortcut, one that has yet to lead me astray. My belief is that the problems for which Java-the-language is the solution are problems I don't want to work on, and that I don't have enough time in my life to address the problems I do want to work on, so I should simply develop a Java allergy that kicks in whenever I see the generics syntax and that causes my eyes to water until I flee towards fresh air. It works well.

This idea of developing an "allergy" / "hate" for Java reminded me of http://www.npr.org/blogs/monkeysee/2011/04/21/135508305/the-... ( HN discussion at http://news.ycombinator.com/item?id=2464764 ). More specifically the part about "culling":

Culling is the choosing you do for yourself. It's the sorting of what's worth your time and what's not worth your time. It's saying, "I deem Keeping Up With The Kardashians a poor use of my time, and therefore, I choose not to watch it." It's saying, "I read the last Jonathan Franzen book and fell asleep six times, so I'm not going to read this one."

[...]

What I've observed in recent years is that many people, in cultural conversations, are far more interested in culling than in surrender. And they want to cull as aggressively as they can. After all, you can eliminate a lot of discernment you'd otherwise have to apply to your choices of books if you say, "All genre fiction is trash." [...]

The same goes for throwing out foreign films, documentaries, classical music, fantasy novels, soap operas, humor, or westerns. I see people culling by category, broadly and aggressively: television is not important, popular fiction is not important, blockbuster movies are not important.

--------------------------------------------

I also have this avoidance mechanism. I don't have enough time to learn about each programming language / framework / paradigm, so I kind of hate / ignore some of these, without really knowing them (PHP, .NET, Windows, "enterprisey Java solutions"...). Not sure if it's the right thing to do, but I still have plenty to learn with the languages / frameworks I am interested in...

Re: Stop hating Java

#145
post #116

Earlier quoted context omitted.

Those are covered in the anti-pattern book.

Reinforcing my point. If those are "anti" patterns, they must be bad, right? Hence, patterns as described in GoF are good.

The GoF book itself doesn't describe them as good, unequivocally.

It's been a while since I read it, but I remember using the book itself as ammo for arguing when not to use particular patterns. They cover trade-offs, and the situations when the pattern may be appropriate or not.

Re: Stop hating Java

#146
post #45

Earlier quoted context omitted.

The opposite is true for me too. I've had an Enterprise Java guy telling me once that "programming and Object Orientation got lost with those simpler, easy-to-use language and frameworks", referring to Ruby and Rails. I dunno about that. Alan Kay would probably say that it got lost with C++ and Java, but YMMV. Also, one word: speed. But... I don't really think it boils down to this, it's not like one is better than t…

> I've had an Enterprise Java guy telling me once that "programming and Object Orientation got lost with those simpler, easy-to-use language and frameworks", referring to Ruby and Rails. You did tell him Ruby is roughly as old as Java, Python is older and Smalltalk predates Java by almost 15 years right?

The comment doesn't seem to involve when the languages and frameworks were respectively created, though if you do look at the pairings (Ruby w/ Rails, Python w/ Django as large examples), they are relatively new after all.

Re: Stop hating Java

#147
post #144

First, let me point out that once again we are comparing Java - a runtime, a language platform and an entire ecosystem comprising many frameworks - with Rails, a specific web framework designed with a specific philosophy (opinionated defaults that work in 90% of cases, YAGNI, etc.) for a specific range of uses ("rapidly prototyping a small-to-moderately sized web site"). So just because Rails developers hate somethin…

Nonetheless, I hate Java. It is a handy mental shortcut, one that has yet to lead me astray. My belief is that the problems for which Java-the-language is the solution are problems I don't want to work on, and that I don't have enough time in my life to address the problems I do want to work on, so I should simply develop a Java allergy that kicks in whenever I see the generics syntax and that causes my eyes to water…

What is sad is that I have culled so many things that I used to love, that I very likely still love. I used to be known among my friends as someone who watched a lot of movies. I don't watch movies anymore. Or TV. Or play computer games.

I'm not even certain why this has happened. As best I can figure, I am trying to create something and am still stuck in the phase where I figure out what the hell it is.

Re: Stop hating Java

#148
post #36

Two other reasons I avoid Java the dependencies ecosystem for a typical Java app is bloated and always changing, and it didn't really live up to the promise of write-once-run-anywhere. And by the way, the over-abstraction habit is really annoying when you're trying to write a simple util app and you can't just say foo = new Foo() instead you have to extra nonsense such as factory = new FooParamsFactory() then foopara…

"it didn't really live up to the promise of write-once-run-anywhere" Care to explain this one? All the code I have written for the past 10 years do not need to be recompiled and can run on Windows/Linux/Mac/*BSD 32 bit/64 bit. And I used IO, NIO, sockets, threads, files (not necessarily high-level stuff).

I've done my share of Java GUI programming (and still have Java applets running on a fairly active site... I can't replace them -- HTML5 and Flash aren't likely to support MIDI input, ever), and the "write once run anywhere" flaws are generally all in GUI programming.

But I think everyone has known for a long time now; that's not Java's sweet spot. It's do-able, but for obvious reasons it's harder to do cross-platform, and they made a few large missteps along the way trying to crack that particular nut.

Nowadays the vast majority of my Java work is server-side, and it all runs anywhere, without a hitch. The last time I had cross-platform Java issues with server-side code was on an AS/400.

Re: Stop hating Java

#149
post #127

Earlier quoted context omitted.

"it didn't really live up to the promise of write-once-run-anywhere" Care to explain this one? All the code I have written for the past 10 years do not need to be recompiled and can run on Windows/Linux/Mac/*BSD 32 bit/64 bit. And I used IO, NIO, sockets, threads, files (not necessarily high-level stuff).

I have maintained Java apps running on FreeBSD servers, it was a nightmare. And don't even dream of doing that in OpenBSD (which IMHO is the sanest BSD and even nix around).

What kinds of problems did you run into?

I've deployed onto primarily Solaris and various flavors of Linux with no problems, but don't have much experience with *BSD... though I've generally assumed it would be a similar experience.

Re: Stop hating Java

#150
post #144

Earlier quoted context omitted.

Nonetheless, I hate Java. It is a handy mental shortcut, one that has yet to lead me astray. My belief is that the problems for which Java-the-language is the solution are problems I don't want to work on, and that I don't have enough time in my life to address the problems I do want to work on, so I should simply develop a Java allergy that kicks in whenever I see the generics syntax and that causes my eyes to water…

What is sad is that I have culled so many things that I used to love , that I very likely still love. I used to be known among my friends as someone who watched a lot of movies. I don't watch movies anymore. Or TV. Or play computer games. I'm not even certain why this has happened. As best I can figure, I am trying to create something and am still stuck in the phase where I figure out what the hell it is.

Interesting. I actually did the same. I haven't owned a TV since a few years. I often go to the theater, but I've stopped watching movies and series at home around 2-3 years ago. Same with computer games. This roughly coincides with a) getting my first job and b) discovering HN.

I seem to have replaced these hobbies with reading HN, reading books (lots of non-fiction), and toying with technical stuff (programming languages, libraries, security, ergonomy...).

While I learn a lot with these "productive" hobbies, I sometimes think I might be missing out on my previous hobbies... The NPR article made me realize I might have "culled" too much.

Post reply on HN