Garbage Collection for Systems Programmers
Paulo Pinto
pjmlp at progtools.org
Tue Apr 2 07:17:56 UTC 2024
On Monday, 1 April 2024 at 20:45:25 UTC, Adam Wilson wrote:
> On Monday, 1 April 2024 at 01:58:51 UTC, Lance Bachmeier wrote:
>> On Sunday, 31 March 2024 at 14:22:43 UTC, Adam wrote:
>> The first question to ask is "Does it matter one way or the
>> other?" Since you're probably not writing the Linux kernel,
>> even if you're engaged in 'systems programming', the answer is
>> quite often no. If the answer is yes, the second question to
>> ask is "Does it matter enough?"
>>
>> I dislike these debates because most of those arguing against
>> the GC are insufficiently informed to engage in a worthwhile
>> debate. Many of them don't even understand that you can do
>> things with a programming language other than write video
>> games.
>
> 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 need to accept a fact that I learned at DConf 2017, the
> no-GC crowd will not be silenced until the GC is removed from
> the language. However, Walter has said the GC is here to stay.
> Therefore, the no-GC crowd will never be silenced. We've given
> them a plethora of tools to work without the GC. It is time
> that we stopped giving them so much our time. We have bigger
> problems to solve.
This is what I like so much about the Oberon, Go, Java, C#
crowds, regardless of what the world thinks is adequate for
systems programming as a programming language, we have companies
shipping real hardware being programmed in those languages.
On Go side, the USB Armory security key, Arduino as possible
target, Android GPU debugger, gVisor, container based distros
with Linux kernel + Go userspace
On Java side, PTC and Aicas bare metal implementations with real
time GC, used even by the military in weapons control on
battleships
On C# side, Meadows boards.
On Oberon, Astrobe is selling compilers for ARM based boards for
about 20 years now.
Minecraft probably would never happened if Notch decided to
listen what would be the best programming language to write
games, instead of using the one he knew best.
Same applies to other major success like Stardew Valley.
D should just follow the same approach, have people shipping the
projects they like regardless if the rest of the world thinks it
isn't system programming because a GC is involved.
More information about the Digitalmars-d
mailing list