Jump to page: 1 211  
Page
Thread overview
Garbage Collection for Systems Programmers
Mar 31
Adam
Apr 01
monkyyy
Apr 01
aberba
Apr 02
Sergey
Apr 02
Hipreme
Apr 02
Dennis
Apr 03
rkompass
Apr 04
cc
Apr 04
bachmeier
Apr 04
bachmeier
Apr 04
ryuukk_
Apr 04
user1234
Apr 04
bachmeier
Apr 04
ryuukk_
Apr 04
bachmeier
Apr 04
Martyn
Apr 04
user1234
Apr 09
Dukc
Apr 10
Dukc
Apr 06
Ogi
Apr 09
Ogi
Apr 11
Ogi
Apr 06
zjh
Apr 06
zjh
Apr 06
Ogi
Apr 06
Sergey
Apr 06
Sergey
Apr 07
ryuukk_
Apr 07
ryuukk_
Apr 08
deadalnix
Apr 07
ryuukk_
Apr 06
Sergey
Apr 06
Sergey
Apr 06
Ogi
Apr 09
Leonardo
Apr 09
jmh530
Apr 09
jmh530
March 31

Thought (this)1 was an interesting read, and is a good counterpoint to all those who refuse to give D a change because of GC.

March 31

On Sunday, 31 March 2024 at 14:22:43 UTC, Adam wrote:

>

Thought (this)1 was an interesting read, and is a good counterpoint to all those who refuse to give D a change because of GC.

We don't have a moving, recompacting, generational GC though. This doesn't invalidate the points he makes, but it's not quite apples vs apples.

Incidentally that's me to the left.

April 01

On Sunday, 31 March 2024 at 14:22:43 UTC, Adam wrote:

>

Thought (this)1 was an interesting read, and is a good counterpoint to all those who refuse to give D a change because of GC.

It's a good counterpoint in some sense, but it argues about stuff like

>

Slower than manual memory management

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.

April 01

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.

April 01

On Monday, 1 April 2024 at 20:45:25 UTC, Adam Wilson wrote:

>

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.

feel free to try d's wasm with a broken libc and std

The gc/allocator debate is just a proxy for the failure to merge data structures

April 01

On Monday, 1 April 2024 at 20:45:25 UTC, Adam Wilson wrote:

>

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.

Perhaps such pseudo-debate in the forums could be shut down in a standard way. If a page was written explaining the D_Foundation/Walter's position and/or an FAQ with responses to bogus questions, then whenever the topic was raised the response could just be a link.

April 01

On Monday, 1 April 2024 at 22:11:09 UTC, Carl Sturtivant wrote:

>

On Monday, 1 April 2024 at 20:45:25 UTC, Adam Wilson wrote:

>

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.

Perhaps such pseudo-debate in the forums could be shut down in a standard way. If a page was written explaining the D_Foundation/Walter's position and/or an FAQ with responses to bogus questions, then whenever the topic was raised the response could just be a link.

100% agree

April 02

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.

April 02

On Tuesday, 2 April 2024 at 07:17:56 UTC, Paulo Pinto wrote:

>

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.

And we are coming to another part... where D is not about shipping the products, but about research in compilers..

April 02

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.

As a Game Developer, I could not care less about nogc features. I have deliberately done the wasm runtime extension from Adam, to use an allocation only GC. Games can easily implement a game-level GC, where you can control game entities, their specific resources and deallocate them when you want.

Of course, I would prefer way more having a better GC in D. I have saw that a plenty of algorithms that uses memory allocation would perform better because we have GC pauses. I'm not saying that I should not be allocating GC memory. I'm saying that seeing such huge impact being done by the GC when I compare it to Java is quite saddening specially for the given effort. I had my own implementation of an assert like feature for my engine which used lazy parameters. My loop time reduced by about 80% (not a big game) by simply removing those lazy parameters because they were allocating every frame.

« First   ‹ Prev
1 2 3 4 5 6 7 8 9 10 11