Live data from Hacker News

Java at 30: Interview with James Gosling

thenewstack.io

171–180 of 437 posts

Re: Java at 30: Interview with James Gosling

#171
Gosling also developed a version of Emacs back in the early 1980s.

https://en.wikipedia.org/wiki/Gosling_Emacs

"Gosling Emacs was especially noteworthy because of the effective redisplay code, which used a dynamic programming technique to solve the classical string-to-string correction problem. The algorithm was quite sophisticated; that section of the source was headed by a skull-and-crossbones in ASCII art, warning any would-be improver that even if they thought they understood how the display code worked, they probably did not."

Re: Java at 30: Interview with James Gosling

#172

Earlier quoted context omitted.

> I've been trying rust for the past 2 months fulltime, > recently lost an afternoon on something that could very well be a known compiler bug With respect, at two months, you're still in the throes of the learning curve, and it seems highly unlikely you've found a compiler bug. Most folks (myself included) struggled for a few months before we hit the 'joyful' part of Rust.

IME, new users do weird things that can expose bugs no one ran into because they wouldn't think to do things the weird way.

I hope the same, and TBH it's the only reason i'm keeping up developing that backend in rust. I hope that in the end, it's going to improve my style.

Go felt the same way (but with a much lower order of magnitude) : you feel like bumping into language limitations, but once you learn to do it "simply" in go, your style will have changed into something much more elegant.

As for the bug in question, it has been quite "popular" for about 5 years now, and is actively tracked : https://github.com/rust-lang/rust/issues/110338. Nothing really weird. Just async hitting the limits of the current rust design.

Re: Java at 30: Interview with James Gosling

#173

Earlier quoted context omitted.

Let me extol the virtues of Java the language. You can take pretty much any code written for Java 1.0 and you can still build and run it on Java 24. There are exceptions (sun.misc.Unsafe usage, for example) but they are few and far between. Moreso than nearly any other language backwards compatibility has been key to java. Heck, there's a pretty good chance you can take a jar compiled for 1.0 and still use it to this…

> You can take pretty much any code written for Java 1.0 and you can still build and run it on Java 24. This is not my experience with Java at all. I very often have to modify $JAVA_HOME.

Are you using Gradle projects? Gradle is especially difficult for some reason.

Re: Java at 30: Interview with James Gosling

#174
post #159

Earlier quoted context omitted.

Personally I think C# is miles ahead of Java and in meaningful ways (like a drastically better implementation of generics, not to mention value types have existed for eons at this point and an FFI system that doesn't hate you for using it) But nobody seems to talk about or care about C# except for Unity. Microsoft really missed the boat on getting mindshare for it back in the day.

Problem with C# isn't the language, it's the enterprise ecosystem. You always feel like you're going to have to pay at some point down the road for using the tech.

I don't see Java being any better in this regard.

Microsoft has been historically much less aggressive with lawyers compared to Oracle.

Re: Java at 30: Interview with James Gosling

#175

Earlier quoted context omitted.

Oh yeah. I still don’t understand why we even moved away from the original JEE model, including the different roles (app dev, deployed, etc). The whole spec was great with the exception of entitybeans. It provided things that are still not available it anything else.. why do we store configuration/credentials in git (encrypted, but still). And the context were easy to configure/enter. Caucho’s resin, highly underrate…

Entity Beans were terrible, representing the height of JEE over complexity. I remember editing at least 3 classes, a couple interfaces, and some horrific XML deployment descriptors to represent an "entity." A lot of the tooling was proprietary to the specific app server. On top of that, it was slow. In the early 2000's, I used to work on JEE stuff for my day job, then go home and build PHP-based web apps. PHP was at…

You have to keep in mind that entity beans were developed in a time before generics, annotations, and widespread use of byte code enhancement that made a lot of the easy, magical stuff we take for granted possible.

Re: Java at 30: Interview with James Gosling

#176
post #173

Earlier quoted context omitted.

> You can take pretty much any code written for Java 1.0 and you can still build and run it on Java 24. This is not my experience with Java at all. I very often have to modify $JAVA_HOME.

Are you using Gradle projects? Gradle is especially difficult for some reason.

Sadly. I would rather avoid Gradle and Java in general. I did not have good experiences with them. :/

Re: Java at 30: Interview with James Gosling

#177

I personally appreciate Java (and the JVM) much more after having tried other languages/ecosystems that people kept saying were so much better than Java. Instead, I just felt like it was a "the grass is greener" every time. The only other language that I felt was an actual massive improvement is Rust (which so far has been a joy to work with). It's a shame imo that it's not seen as a "cool" option for startups, becau…

Personally I think C# is miles ahead of Java and in meaningful ways (like a drastically better implementation of generics, not to mention value types have existed for eons at this point and an FFI system that doesn't hate you for using it) But nobody seems to talk about or care about C# except for Unity. Microsoft really missed the boat on getting mindshare for it back in the day.

C# had the chance to learn from Java. Java was a bit rushed. Gosling said he was not given enough time to add closures. Even without generics, Java would have been quite elegant and much less verbose. The alternative, anonymous inner classes, were quite clunky.

Nevertheless, as a platform, the JVM and JDK were fantastic and miles ahead most alternatives during the late 1990s and 2000s. The only platform for large development that offered some compelling advantages was Erlang, with BEAM and OTP.

Re: Java at 30: Interview with James Gosling

#178

Earlier quoted context omitted.

What was the viable alternative? Microsoft had C#, at one point IBM pushed SmallTalk. C++ for these environments is doable but going to slow you down at development a lot, as well as being much harder to secure. At that time the dynamic alternative was Perl, and that remained true basically until Rails came along.

C++ or maybe Objective-C. Of course those were much more hazardous languages than Java.

Oh yeah, WebObjects! I had forgotten that entirely, and it then transitioned to Java itself.

Re: Java at 30: Interview with James Gosling

#179

I admire Java as a success story, but I still have a deeply ingrained aversion to it for many reasons. I will admit that many of the reasons are due to Java's legacy as the language of bloated corporations, and its creation of overly verbose, magic fueled frameworks and poorly written code. Java as a language goes hand in hand with the idea that code is coal to be shoveled into the furnace, and we should all throw ou…

Debugging Java is great, as others have mentioned. This includes probably the best remote debugging capabilities available for any platform.

OpenJDK, the de facto standard version used by everyone, is licensed under the GPL version 2 with the classpath exception.

No offence, but you simply aren’t well informed.

Re: Java at 30: Interview with James Gosling

#180
post #142

Earlier quoted context omitted.

My feelings exactly. Go was particularly disappointing, it promised everything but only felt like a sidegrade from Java. Screw it, a downgrade, until go errors get stack traces.

funny. java is known for its stacktraces where you need 3 vertical monitors stacked together to see the whole thing and it still doesn't tell you anything useful about why the app crashed.

as someone who had to deal with Java stack traces the entire week, I feel attacked.

God bless Gemini 2.5 Pro which ate all the traces for breakfast.

Post reply on HN