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