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 Garbage Collection for Systems Programmers | ||||
---|---|---|---|---|
| ||||
March 31 Re: Garbage Collection for Systems Programmers | ||||
---|---|---|---|---|
| ||||
Posted in reply to Adam | 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 Re: Garbage Collection for Systems Programmers | ||||
---|---|---|---|---|
| ||||
Posted in reply to Adam | 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 Re: Garbage Collection for Systems Programmers | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lance Bachmeier | 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: 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 Re: Garbage Collection for Systems Programmers | ||||
---|---|---|---|---|
| ||||
Posted in reply to Adam Wilson | 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 Re: Garbage Collection for Systems Programmers | ||||
---|---|---|---|---|
| ||||
Posted in reply to Adam Wilson | 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 Re: Garbage Collection for Systems Programmers | ||||
---|---|---|---|---|
| ||||
Posted in reply to Carl Sturtivant | 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 Re: Garbage Collection for Systems Programmers | ||||
---|---|---|---|---|
| ||||
Posted in reply to Adam Wilson | 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: 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 Re: Garbage Collection for Systems Programmers | ||||
---|---|---|---|---|
| ||||
Posted in reply to Paulo Pinto | 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 Re: Garbage Collection for Systems Programmers | ||||
---|---|---|---|---|
| ||||
Posted in reply to Adam Wilson | 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: 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 |