Garbage Collection for Systems Programmers
cc
cc at nevernet.com
Thu Apr 4 04:01:56 UTC 2024
On Monday, 1 April 2024 at 20:45:25 UTC, Adam Wilson wrote:
> The discourse around the GC has gotten so ridiculous that I
> have seriously considered asking Walter to declare that "If you
> want to create an OS or Video Game, consider a different
> language."
>
> OS/Games is actually a fairly uncommon use of D, if you look at
> what the people who aren't whining endlessly about the GC are
> actually doing with it.
>
> Personally, I blame the OS/Game crowd for single-handedly
> keeping D out of the web service space for the past *decade*
> because, instead of improving the GC to the point that
> long-running processes are possible, we've built a mountain of
> (mis)features designed to assuage their demands. I maintain
> that this was probably the second biggest mistake in D's
> history.
"We'd have the programming Utopia if only all the goddamn users
stopped getting in the way!"
Seriously though, what an asinine opinion. Excluding an entire
market, to satisfy your religious opinions on memory management.
Nobody has stopped anyone from improving the GC. By all means,
please improve the GC. I develop commercial games in D, I have
come to avoid the GC much of the time, and I'm pretty sure I
haven't spent any of the past 10 years of my workload getting in
your way of making the GC the best it could be. I simply haven't
been using it. Oh no, someone exposed GC.free and __delete as a
hacky temporary stopgap? Gosh, that 30 seconds of work sure did
get in the way of a decade of someone else making that thing I
want better.
In *my* opinion, a language that can't handle modern 60+ fps
(144-240+ nowadays) gaming or graphical simulations is nothing
more than a hobbyist piece of crap and not fit for business. But
that's just my opinion... I don't try to force it on anyone else
;) I'm aware other industries exist and we can all graze on our
respective farms in peace.
Fortunately, there's numerous ways to get around the problems of
stop-the-world GC skips, even working within the GC. It takes a
tiny bit of thought, and a document was drafted to suggest these
techniques to newcomers, though nobody strained themselves with
effort over this since, naturally, the doc wants to sell you his
favorite pills. Fair enough. Even so, it is the natural
philosophy and developmental style of many to simply avoid the
GC. You can either react to this with "different strokes", or
you can go full zealot and start holding inquisitions for all the
blasphemers.
It actually takes very little effort to please the detmem crowd
by just giving them the basic tools they want, compared to trying
to sell them on broad spectrum cure-all GC liniment when the
seller's approach is "Just use it! Just use it already damnit
stop asking questions! No refunds!" and is brazenly ignorant of
how much of an issue naive GC use can be for particular
situations. D actually HAS gone and given them the tools they
need, albeit they don't come in the same nice shiny box as the
GC. They're just kind of handed out in plastic baggies. But
hey, that's how Ultima sold 50,000 copies before Richard's net
worth clapped $1.5B.
In a world where the gold standard of technology is "It Just
Works", D's GC... *doesn't* Just Work. Oh, It DOES Work. It
just Works With Effort. And that's a problem you've had 10 years
to do something about. What has been done besides paint the
church and hand out a lot of fliers?
More information about the Digitalmars-d
mailing list