Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> (assuming that's a typo there, the things people don't like/the things people criticize?)

Oops, yes, sorry.

> Java 6 and prior were very very verbose and very very slow.

It's kind of verbose, when looking at it from today's perspective, but at the time I didn't think it was that bad. I think they deliberately tried to be less cryptic and more wordy than C/C++ (which can often be impenatrable). I think they overcorrected for that, but I don't think the language is interolerably verbose.

Performance was definitely bad until Lars Bak and company showed up and wrote HotSpot. But almost every managed language at the time had poor performance. It was certainly painfully slow compared to C and C++ but... what wasn't?

> I couldn't tell you off the top of my head the exact code to open a file, read each of the lines, and then close everything, or the right way to open a JNP connection to RabbitMQ or something.

I mean, I couldn't tell you how to do that off the top of my head in just about any language. Except C. But, of course, the code I would write for C off the top of my head is simple and wrong because it doesn't handle all of the various ways IO can fail.

Networking and file systems are honestly just kind of grungy. You can paper over it with simple APIs but what you end up with is code that looks pretty but can fail in obscure ways.

> try/catch, and mother. fucking. IOException. thrown everywhere.

Yeah, checked exceptions were simply a mistake. I don't fault them for trying to fit exceptions into the static type system. It was a cool, ambitious idea. At the time, no one really had a sense of how the ecosystem would settle around using exceptions. In practice, it ended up being more trouble than it's worth.

> The other quiet boost that people don't talk about is Android.

Android is definitely keeping it popular these days, but Java was huge because of server development before Android came along.



> But almost every managed language at the time had poor performance.

Slow compared to Smalltalk. Slow compared to Lisp.


Depends on which implementations you're talking about.

But even fast Smalltalks weren't very fast relative to C, just relative to most other dynamic languages. And, of course, the people who made Smalltalk fast ended up making Java even faster.


> relative to C

Seemed like you'd shifted your comparison to "almost every managed language."

So Java at-the-time compared to Smalltalk and Lisp at-the-time.

I suppose Haskell at-the-time, OCaml at-the-time :-)


I did say "almost every" and not "every". :)

Were there fast managed languages? Yes, a couple.

Were there fast managed object-oriented languages? Yes, Self and a Smalltalk or two.

Were there fast managed statically typed languages? Yes, SML and Haskell.

Where there fast, managed, statically typed, and object-oriented languages? Not many. Maybe Eiffel, but that was shackled by DbC dogmatism and probably some amount of Eurocentricity. I don't think Ada had GC back then and if your complaint is that Java is too verbose, you sure as heck aren't gonna like Ada.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: