digitalmars.D - D vs Zig
- Walter Bright (1/1) Dec 05 https://news.ycombinator.com/item?id=46165249
- Kapendev (6/7) Dec 05 Of course D and Zig share a lot of things, but that's not that
- monkyyy (4/9) Dec 05 The majority of the community doesn't seem to know how to run the
- Sergey (8/11) Dec 06 Write a post to HN !!
- monkyyy (3/14) Dec 06 why would I publish that to hn? When I did try writing d articles
- Kapendev (4/20) Dec 06 I did... 👉👈😳
- Walter Bright (3/5) Dec 06 Publishing on HN is a great way to attract readers.
- monkyyy (12/17) Dec 06 Convince someone to write up a blog post about my hot reloading
- Julian Fondren (60/63) Dec 07 The breakdown's good. Quick visualizations like this are seasonal
- monkyyy (7/72) Dec 08 Im fairly opinionated about line count and start up time to get a
- Walter Bright (1/1) Dec 07 Nice article! Please append "Using D" to the title, and I'll post it to ...
- monkyyy (12/14) Dec 08 Again I dont care for hn.
- Walter Bright (6/10) Dec 08 I'm trying to help you (and D!).
- Peter C (28/29) Dec 08 D is primarily community and foundation-driven.
- Kapendev (5/19) Dec 09 Monkeyyyy, it's not a bad idea to try. Will also be fun to see
- Walter Bright (2/4) Dec 09 I'm looking forward to seeing it!
- Guillaume Piolat (4/7) Dec 08 Cool article, I went to try to play games but your link yield
- zjh (4/5) Dec 05 Rust is now fully interfacing with C++, especially Google. I
- Sergey (8/11) Dec 06 Which project of Rust can interface with C++?
- Walter Bright (1/1) Dec 06 D also supports the C++ name mangling, which means D can call C++ functi...
- Sergey (15/17) Dec 06 This functionality pretty hard to work with.
- Walter Bright (3/5) Dec 07 https://dlang.org/spec/attribute.html#namespace
- zjh (4/7) Dec 06 Google and other big companies are currently using Rust, but I
- Bienlein (8/14) Dec 08 I had a quick look at Zig and I don't that is has some unique
- Serg Gini (12/19) Dec 08 It's quite rarely mainstream languages are getting something
- xlogor (4/5) Dec 08 Zig's rise is not just marketing, they have great tooling, they
- Kapendev (6/12) Dec 09 I personally haven't had any issues with D language features.
- Serg Gini (2/4) Dec 09 Don't be Clouudy
- Kapendev (2/6) Dec 09 I haven't even started!! And I use nano and grep btw.
- Basile B. (8/14) Dec 09 For some reasons I monitor foreign PL issues. That's been a week
- Kapendev (2/17) Dec 09 Well, it's actually also Nim 3 in disguise.
On Saturday, 6 December 2025 at 01:02:05 UTC, Walter Bright wrote:https://news.ycombinator.com/item?id=46165249Of course D and Zig share a lot of things, but that's not that important. Happy to see them enjoy Zig and making something with it. We (The cool D community) could try that too sometimes hehe. I'm joking a bit ;)
Dec 05
On Saturday, 6 December 2025 at 01:02:05 UTC, Walter Bright wrote:https://news.ycombinator.com/item?id=46165249Build systems: Anyone who’s fought with CMake or dealt with header file dependencies knows this pain. For a small team trying to move quickly, we didn’t want to waste time debugging build configuration issues.The majority of the community doesn't seem to know how to run the d compiler, if you want to compete here you could but youd probably piss off the dub people
Dec 05
On Saturday, 6 December 2025 at 01:45:09 UTC, monkyyy wrote:The majority of the community doesn't seem to know how to run the d compiler, if you want to compete here you could but youd probably piss off the dub peopleWrite a post to HN !! It will be win-win-win As you will - improve your attractiveness for employers - advertise OpenD - make Walter happy Just D it
Dec 06
On Saturday, 6 December 2025 at 12:50:28 UTC, Sergey wrote:On Saturday, 6 December 2025 at 01:45:09 UTC, monkyyy wrote:why would I publish that to hn? When I did try writing d articles did anyone read them?The majority of the community doesn't seem to know how to run the d compiler, if you want to compete here you could but youd probably piss off the dub peopleWrite a post to HN !! It will be win-win-win As you will - improve your attractiveness for employers - advertise OpenD - make Walter happy Just D it
Dec 06
On Saturday, 6 December 2025 at 13:08:04 UTC, monkyyy wrote:On Saturday, 6 December 2025 at 12:50:28 UTC, Sergey wrote:I did... 👉👈😳 And... I would like to see one on HN one day... It's my favorite platform!On Saturday, 6 December 2025 at 01:45:09 UTC, monkyyy wrote:why would I publish that to hn? When I did try writing d articles did anyone read them?The majority of the community doesn't seem to know how to run the d compiler, if you want to compete here you could but youd probably piss off the dub peopleWrite a post to HN !! It will be win-win-win As you will - improve your attractiveness for employers - advertise OpenD - make Walter happy Just D it
Dec 06
On 12/6/2025 5:08 AM, monkyyy wrote:why would I publish that to hn? When I did try writing d articles did anyone read them?Publishing on HN is a great way to attract readers. Another way is to publish it on X.com.
Dec 06
On Saturday, 6 December 2025 at 21:26:26 UTC, Walter Bright wrote:On 12/6/2025 5:08 AM, monkyyy wrote:Convince someone to write up a blog post about my hot reloading lib and why it cant exist in c and maybe cant exist in c++ and how its amazing someone completely unempoyable wrote it in 100 lines or whatever; and lets see if you get 1000 new dlang users. Worse-reddit will be full of flakes and conformists with worse attension spans then me(and thats is saying something); I dont think it will happen. You have your niche, it be better if you exploited it rather then competing with the rust cult. I put allot into this: https://crazymonkyyy.github.io/writings/gif.html I didnt see a return, your free to post it to hakernews to see what happens.why would I publish that to hn? When I did try writing d articles did anyone read them?Publishing on HN is a great way to attract readers. Another way is to publish it on X.com.
Dec 06
On Saturday, 6 December 2025 at 23:47:40 UTC, monkyyy wrote:I put allot into this: https://crazymonkyyy.github.io/writings/gif.html I didnt see a return, your free to post it to hakernews to see what happens.The breakdown's good. Quick visualizations like this are seasonal with Advent of Code, and also are a fun part of Raytracing in One Weekend. This doesn't work as a script but is similar: ```d import std; const width = 255, height = 255; void main() { enum s = "magick -size 255x255 -depth 8 rgb:- output.gif"; auto convert = pipeProcess(s.split.array, Redirect.stdin); foreach (ubyte time; 0 .. 255) { foreach (ubyte y; 0 .. height) { foreach (ubyte x; 0 .. width) { ubyte r = time; ubyte g = y; ubyte b = x; ubyte[3] pixel = [r, g, b]; convert.stdin.rawWrite(pixel); } } } convert.stdin.close; convert.pid.wait; spawnProcess(["xdg-open", "output.gif"]); } ``` This one does work as a script, pulls in a D library, and caches compilation, but I wasn't able to get it a gif out of it: ```d /++ dub.sdl: configuration "release" { targetType "executable" dependency "gamut" version="~>3.3.5" } +/ enum width = 255, height = 254; import std; import gamut; void main() { ubyte[3][] pixels = new ubyte[3][width * height]; foreach (ubyte y; 0 .. height) { foreach (ubyte x; 0 .. width) { ubyte r = 1; ubyte g = y; ubyte b = x; pixels[y * width + x] = [r, g, b]; } } Image image; image.createLayeredView(&pixels[0][0], width, height, layers: 1, PixelType.rgb8, pitchInBytes: 3 * width, layerOffsetBytes: width * height * 3); enforce(!image.isError); image.saveToFile("output.png"); spawnProcess(["xdg-open", "output.png"]); } ```
Dec 07
On Monday, 8 December 2025 at 03:53:08 UTC, Julian Fondren wrote:On Saturday, 6 December 2025 at 23:47:40 UTC, monkyyy wrote:Im fairly opinionated about line count and start up time to get a hello world; and youve more then doubled the line count and added a language specific dependency. Your lib likely makes sense if your doing a 1000 line task, but Im trying to communicate using a computer as data processing with "pipes" of black boxes visually with this article.I put allot into this: https://crazymonkyyy.github.io/writings/gif.html I didnt see a return, your free to post it to hakernews to see what happens.The breakdown's good. Quick visualizations like this are seasonal with Advent of Code, and also are a fun part of Raytracing in One Weekend. This doesn't work as a script but is similar: ```d import std; const width = 255, height = 255; void main() { enum s = "magick -size 255x255 -depth 8 rgb:- output.gif"; auto convert = pipeProcess(s.split.array, Redirect.stdin); foreach (ubyte time; 0 .. 255) { foreach (ubyte y; 0 .. height) { foreach (ubyte x; 0 .. width) { ubyte r = time; ubyte g = y; ubyte b = x; ubyte[3] pixel = [r, g, b]; convert.stdin.rawWrite(pixel); } } } convert.stdin.close; convert.pid.wait; spawnProcess(["xdg-open", "output.gif"]); } ``` This one does work as a script, pulls in a D library, and caches compilation, but I wasn't able to get it a gif out of it: ```d /++ dub.sdl: configuration "release" { targetType "executable" dependency "gamut" version="~>3.3.5" } +/ enum width = 255, height = 254; import std; import gamut; void main() { ubyte[3][] pixels = new ubyte[3][width * height]; foreach (ubyte y; 0 .. height) { foreach (ubyte x; 0 .. width) { ubyte r = 1; ubyte g = y; ubyte b = x; pixels[y * width + x] = [r, g, b]; } } Image image; image.createLayeredView(&pixels[0][0], width, height, layers: 1, PixelType.rgb8, pitchInBytes: 3 * width, layerOffsetBytes: width * height * 3); enforce(!image.isError); image.saveToFile("output.png"); spawnProcess(["xdg-open", "output.png"]); } ```
Dec 08
Nice article! Please append "Using D" to the title, and I'll post it to HN!
Dec 07
On Monday, 8 December 2025 at 05:40:34 UTC, Walter Bright wrote:Nice article! Please append "Using D" to the title, and I'll post it to HN!Again I dont care for hn. If you want articles, provide a structure; if you have a requirement like "titles start with 'Using D:'" you could define that, host a section on one of your websites then *quarterly* post a link to hn for a newletter. That way your trading whatever social capital you have in your non-profit for these requirements; make them not bullshit and clear upfront, that that trade becomes reasonable. In 5 years you would have a big pile of articles all in a single link hierarchy that *THEN* getting someone to read may convert into a d user
Dec 08
On 12/8/2025 6:54 AM, monkyyy wrote:On Monday, 8 December 2025 at 05:40:34 UTC, Walter Bright wrote:I'm trying to help you (and D!). Absent an effort to promote the article, nobody is going to read it. It's a good article you wrote. All it needs is a "Using D" appended to the title. It doesn't need a structure. I cannot fix the article for you. Please help me help you!Nice article! Please append "Using D" to the title, and I'll post it to HN!Again I dont care for hn.
Dec 08
On Tuesday, 9 December 2025 at 03:06:51 UTC, Walter Bright wrote:...D is primarily community and foundation-driven. It's not that the D programming language is not viable in a production setting, it's that it doesn't address the practical realities of industry. In 'the real world', industry prioritizes availability of talent, depth of the library ecosystem, and the assurance of corporate backing (i.e. risk management), over pure language elegance. It's technical merit is irrelevant to hiring managers. Excellent (C/C++ like speed) is not a differentiating factor (Go, Rust, C++ exist) These are some of the reasons why D struggles here compared to its competitors. Zig, while having a different design philosophy than D, faces the same fundamental challenges regarding widespread industry adoption. To me, as useful as it is, D is essentially the disorganized "kitchen sink" of programming languages. Of course, that is not what will bring about widespread adoption these days. The successful modern languages define themselves by what they exclude and the specific problem they solve best. New modern programming langauges need to differentiate themselves with a clear, specialized focus. So if D is going to self promote, then it makes sense to do that on platforms where you can potentially expand the D community. But forget about widespread industry adoption. It's just no going to happen.
Dec 08
On Tuesday, 9 December 2025 at 03:06:51 UTC, Walter Bright wrote:On 12/8/2025 6:54 AM, monkyyy wrote:Monkeyyyy, it's not a bad idea to try. Will also be fun to see the reactions of HN people. I'm currently trying to write a blog about memory management in D (GC, no GC, mixed), but will take some time haha.On Monday, 8 December 2025 at 05:40:34 UTC, Walter Bright wrote:I'm trying to help you (and D!). Absent an effort to promote the article, nobody is going to read it. It's a good article you wrote. All it needs is a "Using D" appended to the title. It doesn't need a structure. I cannot fix the article for you. Please help me help you!Nice article! Please append "Using D" to the title, and I'll post it to HN!Again I dont care for hn.
Dec 09
On 12/9/2025 2:17 AM, Kapendev wrote:I'm currently trying to write a blog about memory management in D (GC, no GC, mixed), but will take some time haha.I'm looking forward to seeing it!
Dec 09
On Saturday, 6 December 2025 at 23:47:40 UTC, monkyyy wrote:I put allot into this: https://crazymonkyyy.github.io/writings/gif.html I didnt see a return, your free to post it to hakernews to see what happens.Cool article, I went to try to play games but your link yield https://crazymonkyyy.github.io/monkyyy.itch.io/frut-gam3 ought to be https://monkyyy.itch.io/frut-gam3
Dec 08
On Saturday, 6 December 2025 at 01:02:05 UTC, Walter Bright wrote:https://news.ycombinator.com/item?id=46165249Rust is now fully interfacing with C++, especially Google. I think for D to develop, it's also crucial to fully interface with C++!
Dec 05
On Saturday, 6 December 2025 at 02:06:01 UTC, zjh wrote:Rust is now fully interfacing with C++, especially Google. I think for D to develop, it's also crucial to fully interface with C++!Which project of Rust can interface with C++? Afaik they are solving this issues with automatic bindgen approach So they are generating C API automatically and working with this API. D can just steal this C API if it was generated and use it in dstep/importC Btw do you still use D? Or did you switch to Rust?
Dec 06
D also supports the C++ name mangling, which means D can call C++ functions.
Dec 06
On Saturday, 6 December 2025 at 21:24:52 UTC, Walter Bright wrote:D also supports the C++ name mangling, which means D can call C++ functions.This functionality pretty hard to work with. I've tried to use it for one C++ library and finished with the approach of manually prepared C API for C++ API and ImportC. It worked much better approach. Examples are here https://github.com/cyrusmsk/gguf-converter/tree/main/libs_tests Simple C++ interop was working with D (separate folder where I've tried to compare this with popular ML/AI langs). But when I tried to use it with real C++ library (sentencepiece) that I wanted to use (sp folder) - it failed with C++. It was non-straightforward how to define namespaces and how to work with string_views. If anyone could fix this C++ library - would be interesting to see.
Dec 06
On 12/6/2025 2:08 PM, Sergey wrote:It was non-straightforward how to define namespaces and how to work with string_views.https://dlang.org/spec/attribute.html#namespace If there's something wrong with the documentation, please let us know.
Dec 07
On Saturday, 6 December 2025 at 12:47:54 UTC, Sergey wrote:On Saturday, 6 December 2025 at 02:06:01 UTC, zjh wrote:Which project of Rust can interface with C++?Btw do you still use D? Or did you switch to Rust?Google and other big companies are currently using Rust, but I don't like rust. What I want is to combine C++ and D.
Dec 06
On Saturday, 6 December 2025 at 02:06:01 UTC, zjh wrote:On Saturday, 6 December 2025 at 01:02:05 UTC, Walter Bright wrote:I had a quick look at Zig and I don't that is has some unique selling point. Rust hast memory safety, Go has much easier concurrency using Goroutines aka Communicating Sequential Processes (CSP). But Zig has neither nor - nor anything new aside from Rust and Go. For example Crystal has CSP as well. The work Dmitry Olshansky has done with Photon adding something like CSP to D is IMHO very valuable and a big step.https://news.ycombinator.com/item?id=46165249Rust is now fully interfacing with C++, especially Google. I think for D to develop, it's also crucial to fully interface with C++!
Dec 08
On Monday, 8 December 2025 at 13:46:33 UTC, Bienlein wrote:I had a quick look at Zig and I don't that is has some unique selling point. Rust hast memory safety, Go has much easier concurrency using Goroutines aka Communicating Sequential Processes (CSP). But Zig has neither nor - nor anything new aside from Rust and Go. For example Crystal has CSP as well.It's quite rarely mainstream languages are getting something completely new. Rust taken ideas from https://en.wikipedia.org/wiki/Cyclone_(programming_language) Go was a direct continuation of ideas from (though reworked) https://en.wikipedia.org/wiki/Alef_(programming_language) and https://en.wikipedia.org/wiki/Limbo_(programming_language) No implicit is the main feature of Zig I think. Everything is explicit as possible. https://ziglang.org/learn/why_zig_rust_d_cpp/The work Dmitry Olshansky has done with Photon adding something like CSP to D is IMHO very valuable and a big step.That work is awesome yes
Dec 08
On Saturday, 6 December 2025 at 01:02:05 UTC, Walter Bright wrote:https://news.ycombinator.com/item?id=46165249Zig's rise is not just marketing, they have great tooling, they have an LSP that's actually usable, and works with all its language features, including translate-c and comptime..
Dec 08
On Tuesday, 9 December 2025 at 07:31:28 UTC, xlogor wrote:On Saturday, 6 December 2025 at 01:02:05 UTC, Walter Bright wrote:I personally haven't had any issues with D language features. They are easy to misuse maybe like attributes (` nogc`, ...) or `-betterC`. LSP is the thing I see often here. I'm kinda interested on working on this, but will see. I need to make games too.https://news.ycombinator.com/item?id=46165249Zig's rise is not just marketing, they have great tooling, they have an LSP that's actually usable, and works with all its language features, including translate-c and comptime..
Dec 09
On Tuesday, 9 December 2025 at 10:10:30 UTC, Kapendev wrote:LSP is the thing I see often here. I'm kinda interested on working on this, but will see. I need to make games too.Don't be Clouudy
Dec 09
On Tuesday, 9 December 2025 at 12:17:44 UTC, Serg Gini wrote:On Tuesday, 9 December 2025 at 10:10:30 UTC, Kapendev wrote:I haven't even started!! And I use nano and grep btw.LSP is the thing I see often here. I'm kinda interested on working on this, but will see. I need to make games too.Don't be Clouudy
Dec 09
On Tuesday, 9 December 2025 at 07:31:28 UTC, xlogor wrote:On Saturday, 6 December 2025 at 01:02:05 UTC, Walter Bright wrote:For some reasons I monitor foreign PL issues. That's been a week or so that i've updated the link to https://codeberg.org/ziglang/zig/issues. Beside my onw little experience, it's very clear that Zig is going into something. They've reached the next level.For the time being I would take care... Remember Nim-lang. Big hipe, now they are into the process of rewitting the compiler.https://news.ycombinator.com/item?id=46165249Zig's rise is not just marketing, they have great tooling, they have an LSP that's actually usable, and works with all its language features, including translate-c and comptime..
Dec 09
On Tuesday, 9 December 2025 at 14:51:36 UTC, Basile B. wrote:On Tuesday, 9 December 2025 at 07:31:28 UTC, xlogor wrote:Well, it's actually also Nim 3 in disguise.On Saturday, 6 December 2025 at 01:02:05 UTC, Walter Bright wrote:For some reasons I monitor foreign PL issues. That's been a week or so that i've updated the link to https://codeberg.org/ziglang/zig/issues. Beside my onw little experience, it's very clear that Zig is going into something. They've reached the next level.For the time being I would take care... Remember Nim-lang. Big hipe, now they are into the process of rewitting the compiler.https://news.ycombinator.com/item?id=46165249Zig's rise is not just marketing, they have great tooling, they have an LSP that's actually usable, and works with all its language features, including translate-c and comptime..
Dec 09









Kapendev <alexandroskapretsos gmail.com> 