Hacker News new | ask | show | jobs
by Kranar 1920 days ago
If you're being absolutely extreme then sure that's true. I'd still use Ruby with it's garbage collector to implement a video game instead of using Brainfuck even though Brainfuck doesn't have a GC.

But if we're being reasonable, then I can say me and my company mostly still use C++ because it doesn't have a GC. It's an otherwise horrible language and I'd love to get off it. For a new project making an order matching system for a financial exchange, we are experimenting with Rust as an alternative and it's looking very promising. I want to see a bit more how the async situation plays out because that aspect of the language has me concerned but overall it's a really clean and principled language.

At any rate, the point is that a GC in and of itself is a major deciding factor about whether a language is used or not for many production grade systems.

1 comments

> If you're being absolutely extreme then sure that's true.

I wasn't being extreme. I was making a statement based on year after year seeing people make the same claim. After the GC is gone, then it's the legacy C++ code, the lack of documentation, the lack of developers experienced with C++, the tooling, various language issues, and on and on.

The thing is, you can already disable the GC and slap @nogc on your program and you don't have a GC. Or compile with the -betterC flag and you don't have a GC. It's not like D requires using the GC. When you say that, the reply is "Yes, but..." followed by issues using D as @nogc.

> we are experimenting with Rust as an alternative and it's looking very promising. I want to see a bit more how the async situation plays out because that aspect of the language has me concerned but overall it's a really clean and principled language.

This is exactly what I'm talking about. The GC is only one of many reasons you're not using D and probably never will. And that's okay, because if you remove the GC, someone like me will never look twice at the language.

If you had said "No one ever decided not to use D because of the GC" or something along those lines sure... I'd agree. But your claim was "No one ever decided to use any language whatsoever because it didn't have a GC." and that's simply untrue. If C++ got a GC I would immediately stop using it and would have never used it to begin with.

All the rest of your points in your follow up post are very specific to D and yes, those other points are all legitimate reasons people don't use D, regardless of its GC. It's simply that your original claim about language preference on the basis of GC was not specific to D and it's certainly false.

> But your claim was "No one ever decided to use any language whatsoever because it didn't have a GC." and that's simply untrue. If C++ got a GC I would immediately stop using it and would have never used it to begin with.

There are some English issues with your post (using a language because it doesn't have a GC is pretty different from quitting a language because it has a GC) so I'm going to let this discussion die.