Live data from Hacker News

Java at 30: Interview with James Gosling

thenewstack.io

361–370 of 437 posts

Re: Java at 30: Interview with James Gosling

#361

Earlier quoted context omitted.

> I think it's incredible with hindsight how Java countered many of the mid 90s C++ problems, especially by avoiding multiple inheritance. This is because Java is based on an older language called Objective-C that doesn't have multiple inheritance :) It's not based on C++, that's just the other OO language from the era people usually think of.

> This is because Java is based on an older language called Objective-C that doesn't have multiple inheritance :) No it's not, certainly not any more than it's "based" on Smalltalk.

https://cs.gmu.edu/~sean/stuff/java-objc.html

Re: Java at 30: Interview with James Gosling

#362

Earlier quoted context omitted.

You've made your point, but note the built-in HTTPS server only supports TLS 1.2, so don't use that for production code. (For testing it's probably fine.)

TLS is supplied by the underlying JDK, which has been 1.3 for some time. How is HttpsServer not 1.3?

Not sure, but the API docs say 1.2. Maybe the com.sun packages include their own implementation of TLS, separate from the TLS used in the rest of the JRE.

Re: Java at 30: Interview with James Gosling

#363
post #7

Java performance isn't the fastest, that's ok, a close 3rd place behind C/CPP ain't bad. And you're still ahead of Go, and 10x or more ahead of Python and Ruby. Java syntax isn't perfect, but it is consistent, and predictable. And hey, if you're using an Idea or Eclipse (and not notepad, atom, etc), it's just pressing control-space all day and you're fine. Java memory management seems weird from a Unix Philosophy POV…

> Java performance isn't the fastest, that's ok, a close 3rd place behind C/CPP ain't bad. And you're still ahead of Go, and 10x or more ahead of Python and Ruby.

Of course, rank depends on what we include or exclude from the rankings, for example:

https://benchmarksgame-team.pages.debian.net/benchmarksgame/...

:versus:

https://benchmarksgame-team.pages.debian.net/benchmarksgame/...

Re: Java at 30: Interview with James Gosling

#364

Earlier quoted context omitted.

I you just wanted queries, entity beans were ok. Just a lot of boilerplate code, but the overal architecture and structure of JEE is still very sound

A lot of boilerplate and XML hell! What did you like about JEE? I worked in that world for years and don't miss it in the least.

You know what's funny? Spring (earlier versions) had even more xml ;-)

I dunno it just worked for me. But I kept using the standards, no vendor lockin stuff, which bea etc always wanted.

I think the servlet design is great, the whole packaging/deployment model is great. And then well the session beans were overkill in general, so they were swapped out quite early by me. Swapped jsp out for I think velocity templates. And that application is still alive, running, and on the same platform.

And Java meant, at least for me and how I configured it, proper debugging and IDE support (love Eclipse), hot code reload, easy releases, repeatability, ci/cd. The last 20 years, no __significant__ improvements in my opinion.

Re: Java at 30: Interview with James Gosling

#365
post #240

Earlier quoted context omitted.

The worst thing about EntityBeans is they were so bad they made Hibernate look good, which led people to think it was good. After 10 years of hammering against ORM complexity I finally switched to using thin database wrapper layers and have not once ever regretted it.

Yes! Hibernate was awful, but still light years ahead of EJBs. I worked on a couple of Hibernate projects and always left asking why...

I never had any trouble with Hibernate tbh. It allowed you to drop back to raw sql if needed, and also custom fields to select if needed.

I never understood the fight against ORMs. In the end you'll simply be writing your own framework

Re: Java at 30: Interview with James Gosling

#366

Earlier quoted context omitted.

What about the ones you can recover from? You don't want to crash the entire application every time there's an exception!

You usually wouldn’t crash the entire application, the request that causes the issue will return a 500 error. (Or equivalents for non-web environments.)

Some exceptions are not recoverable and may cause 500 error. Others such as FileNotFound are recoverable, for example by reading the file from an alternate location.

Re: Java at 30: Interview with James Gosling

#367
post #359

Earlier quoted context omitted.

Okay, but I have hit the joyful part of some other languages long before a few months. What gives?

Rust is genuinely novel, so for most of us its going to be less familiar, so it will take longer to learn. It's not like learning Python if you already know Ruby, for example. The upside is that it offers some pretty great guarantees you can't (yet) find elsewhere. If you want those guarantees it will be worth it, if those guarantees don't matter to you, it may feel like a slog.

What guarantees are you speaking of exactly?

Re: Java at 30: Interview with James Gosling

#368

Earlier quoted context omitted.

And IPv6 came out in 1995

Your point?

"Comes out" and "Ready to switch to" are two different things.

Your conclusion is correct but not because Python 3 came out in 2008. It was ready to switch to some point a few years later but we'll before 2025 (I don't recall when sorry I didn't do Python at the time!)

Re: Java at 30: Interview with James Gosling

#369
i can just say:

being now older (40+ ;-), i would suggest to just use the tool that gets the job done.

in todays world, this is Java or C# - while im highly advocating for the latter, because the eco system feels much more tightly integrated: i can spin up whatever application for every usecase with C# in 1 minute; also the language still evolves massivly, there is enough HR-power on the market, also .NET is now crossplatform.

the language is just elegant and very efficient, it makes the job much easier

Re: Java at 30: Interview with James Gosling

#370
post #297

Earlier quoted context omitted.

3 seconds of looking at the API and you see it's not 1st class at all. Presuming you have ever done any programming on linux, that is.

> The API Which one?

the ones dealing with processes are very obviously a terrible match for posix systems for example.
Post reply on HN