Hacker News new | ask | show | jobs
by slowmover 4494 days ago
Java, C#, Ruby, and Python are all interpreted/VMed languages. I'm curious why you would liken Go to them. Other than garbage collection, I can't see any significant similarities in their design or usage.
3 comments

> Java, C#, Ruby, and Python are all interpreted/VMed languages.

Sure, the usual implementations all use a VM. So what?

> I'm curious why you would liken Go to them.

Because for many of the things people would consider using Go for, one or more of those languages would be the top competitor.

That (compiled vs interpreted/VMed) is beside the point. It's what people use them FOR that matters.

And even Rob Pike admitted that most people come to Go from Python/Ruby, whereas he expected that to be from C++.

"Other than garbage collection..."

Control over memory management is a major, major design point. In my opinion, it's a lot more significant than whether it runs in a VM or uses native code.

For one thing, running in a VM vs. native code is usually an implementation detail. But the only language I can think of where memory management appears to be an implementation detail is Ada.