4 ms·
What's the developer experience like in D? I keep looking at it from time to time but haven't taken the time to learn it (even though I've spent time learning a
by pharke 6y ago
What's the developer experience like in D? I keep looking at it from time to time but haven't taken the time to learn it (even though I've spent time learning a lot of new languages) I was never sure if there was a big enough community around D to make it worthwhile but it seems to have a lot of the features I want.
- bachmeier 6y agoJust for clarity, to keep on the topic of the article: If you compile a D program with the -betterC flag, you give up many features so that your program runs with only the C runtime. It's great for a C programmer not wanting to learn a new language or for being able to make incremental changes to a C codebase while adding things like metaprogramming. If you're satisfied with the experience writing C, you'll probably also be satisfied writing D and compiling with the -betterC flag. As an example, here's a -betterC hello world: https://run.dlang.io/is/TKOBgA https://run.dlang.io/is/TKOBgA Once you move on to other goals (using the whole language, as is usually the case) there are numerous complaints. Some don't think the VS Code plugin is good enough and that sort of thing. Some argue that Dub, the package manager, is not good enough for their needs. I suppose like every language has people that try it and don't like it. It doesn't take much to try it. You can use the online D editor and read the official tutorial. If you like it, you can dig in further to see if it has the ecosystem you need. https://run.dlang.io/ https://run.dlang.io/ http://ddili.org/ders/d.en/index.html http://ddili.org/ders/d.en/index.html
- mhh__ 6y agoPretty Good - everything you actually need is there and working: There are some things we don't have, (say) the automated refactoring story is poor, but that's because the language is designed in such a way that such tools aren't required. D has evolved (until the last few months basically) without any direct corporate backing and yet absolutely stomps quite a few very very well-funded languages from a design perspective (e.g. A template constraint in D is so simple it's one keyword, and you can even do your own error messages as a library and compose things, whereas C++ took almost my entire lifetime to standardise concepts). D exists as a (large) group of very simple language design decisions - for example, we have unitest { /* code here */ } blocks that make writing unit tests much lower friction. We just had our monthly "Beerconf" online conference, and all I can say is that the knowledge per head in the D community is very high.
- IgorPartola 6y agoHow would you compare it to Zig? I recently read through Zig’s docs and thought it was neat, though was somewhat dismayed at the fact that it isn’t actually memory safe.
- mhh__ 6y agoI don't know much if anything about Zig I'm afraid.