Live data from Hacker News

Java at 30: Interview with James Gosling

thenewstack.io

241–250 of 437 posts

Re: Java at 30: Interview with James Gosling

#241
post #165
post #134

Earlier quoted context omitted.

> I've been trying rust for the past 2 months fulltime Rust has a horrid learning curve I've programmed for decades in many languages, and I felt the same as you Persevere. Surrender! to compile Weather the ferocious storm You will find, true bliss

I am keeping up, but honestly i feel like rust dev is a bit like a trap : people like us love challenges and solving technical problems. So whenever we "triumph" over a rust tricky compilation issue, we feel intense gratification in solving it. However, at some point you have to ask yourself why you're accepting to face all those challenges. Is it worth it ? When was the last time i faced a race condition when develo…

Generally Rust is the wrong choice.

Generally garbage collectors are very worthwhile

But whe you need it, it is so much better than C or C++

Re: Java at 30: Interview with James Gosling

#242
post #213

Earlier quoted context omitted.

> My other issues with the JVM is how much of a black box it is from a platform perspective, which makes debugging a PITA You state how you don't really use java, but the above confirms it. Java debugging and diagnostic tooling is second to none.

That's a really narrow view of the world, and I think another Javaism to think that Java is the entire world. Today's multi-service deployments run tens if not hundreds of auxiliary processes not using Java. They use network overlays that change how processes interact with the network core. A person who is debugging a knock on effect issues has to be able to look through many different layers of processes, many of wh…

Don't you think a narrow view of the world is this idea that you should be able to use one tool to debug everything? It seems like you want GDB (and the unix's where it runs) to be the entire platform.

Re: Java at 30: Interview with James Gosling

#243

Java, especially modern Java, is a fine language. The JVM is an awesome runtime. I'm tired of pretending it isn't.

The vast majority of Java developers will never touch modern Java and have zero idea of its features or capabilities. I'm in the process of migrating literally thousands of servers and tens of thousands of apps to the cloud and there isn't anything close to modern Java. The absolute majority at this client seems to be Java 8 and there isn't a single Java 17 or newer. So it's one thing to have great modern features. But if you're going to be a Java developer it'll take work / luck to actually be able to use decent versions of it. Very similar story with C++. If you're on a great cutting edge team, you might be able to use the shiny new stuff. But more than likely you'll be relegated to some C++11 at the latest.

I haven't seen things quite so bad on the .NET side at this client. Yes there's a ton of legacy ASP.NET apps. But there are also a lot of .NET Core apps. They haven't quite made it to the post Core versions of .NET, but it's still a healthier state than I see with Java. I guess all of this to say that modern versions of "ancient" programming languages are great and really do improve things. But chances are if you're working with an ancient programming language you'll be stuck maintaining legacy shit and won't ever get to utilize the shiny stuff.

This is keeping in mind that your average programmer will never even try to interview for FAANG never mind grind leetcode and programming language trivia for weeks like seems so common here.

Re: Java at 30: Interview with James Gosling

#244

Why is Java so popular in enterprise?

Consider that in the mid 90's when it arose, most organisations were writing business code in C++ and paying license fees for things as simple as string handling libraries. There was almost no good solution to cross platform network code. RPC calls required things like manually dealing with byte order.

Then most organisations had deployed windows for staff but needed to run things on Sun servers. Java was a god send as a free and actually cross platform solution that let devs work on windows and run the same thing on the corporate server infra without changes. The culture at the time would not consider deploying scripting language sfor full scale applications acceptable, so Java with it's C++-like structure but built in cross platform capabilities and generous stack of batteries included libraries (for the time) was an absolute god send.

Re: Java at 30: Interview with James Gosling

#245
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…

As an SRE, I appreciate the JVM. Out of memory is now the developers problem not mine / the machine's.

Only have to deal with gigalines of log4j excreta filling up disks.

Re: Java at 30: Interview with James Gosling

#246

Earlier quoted context omitted.

That's because the Microsoft of 2000 - 2014, the Ballmer era, was Microsoft-first. It didn't care about other platforms, it didn't care about the web, and it didn't care about open source. C# could be great, but it existed in a bubble. Java kept growing and wound up everywhere. It played nice with Linux. Enterprise Mac developers didn't have trouble writing it with IntelliJ. It spread faster because it was open. Saty…

>Satya Nadella fixed a lot of Microsoft's ills, which ones?

So many.

Microsoft isn't thought of as evil anymore, but is open source and Linux friendly. GitHub, VScode, Typescript. Azure is booming, ...

But the big one: stock price.

Re: Java at 30: Interview with James Gosling

#247
post #240

Earlier quoted context omitted.

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…

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...

Re: Java at 30: Interview with James Gosling

#248
post #175

Earlier quoted context omitted.

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.

I remember. During the same time period, I wrote some Java apps that used plain old JDBC, plus some of my own helper functions for data mapping. They were lighter weight and higher performance compared to the "enterprise" Java solutions. Unfortunately they weren't buzzword compliant though.

Re: Java at 30: Interview with James Gosling

#249
post #229

Earlier quoted context omitted.

I rarely run into issues when using Poetry. If you use pip, add packages to requirements.txt willy-nilly and don't pin versions then you are asking for trouble.

i like poetry though i've moved to uv - both work really well

I've heard great things about uv. I plan to try it for my next project.

Re: Java at 30: Interview with James Gosling

#250
The java ecosystem is great, and the JVM does deserve the appellation of technical marvel, Java the language on the other hand...questionable.

Many of Java's novel language choices have proven unfavorable in the long run (e.g. everything is a class, and even its syntax was needlessly verbose and ceremonious from day one) and all of what makes it a halfway decent language these days are good ideas that originated in other languages, often eons ago, which Java, for some reason, often elects to rebrand with its own terminology.

That said, the maintainers also do a phenomenal job managing the evolution of the language and preserving compatibility, but from a pure programming language design standpoint it's largely a messy amalgam of great ideas from a bunch of other places awkwardly realized. Great, robust ecosystem, great platform, great management, mediocre language design.

Post reply on HN