digitalmars.D - Talk on D at DORS/CLUC
- RazvanN (12/12) May 10 Hello everyone,
- Dukc (5/6) May 10 The fact that a language needn't have a built-in GC x-or be designed for...
- RazvanN (8/15) May 10 I want to structure my talk in 2 parts:
- Atila Neves (6/23) May 10 I'm not sure I know what will wow people either. I thought my
- Martyn (11/17) May 16 I really enjoyed this blog when it was released. It really
- Atila Neves (3/15) May 16 I think we updated to nng but I don't know for sure. I haven't
- JN (17/34) May 13 I think this might have the opposite effects. What would wow
- Monkyyy (2/6) May 14 Then good compile times with templates is an amazing feature?
- aberba (13/25) May 10 A product sells more when you talk about it's impact or benefits
- rkompass (12/24) May 10 You could start by demonstrating a C interpreter, (which under
- Hipreme (58/70) May 10 I have some cool features which is quite hard to see in other
- monkyyy (17/29) May 10 explaining this code
- Walter Bright (10/10) May 11 Here's one I like:
- RazvanN (6/18) May 13 Thanks everyone for your suggestions. I will how I can put
- Martyn (3/9) May 16 Please do.
- RazvanN (49/60) May 20 Hello all,
- Martyn (6/20) May 20 I appreciate the feedback. Sounds like a good talk with some
- Mike Shah (7/30) May 20 Well done Razvan! I hope the talk will be posted.
- RazvanN (14/47) May 21 They posted the video for the entire day:
- Lance Bachmeier (11/29) May 20 The complexity of templates is probably more important (though I
- RazvanN (6/15) May 21 Actually, what D can do with templates impresses people
- aberba (6/11) May 21 The chase after C++ devs for the past 20yrs hasn't yielded that
- Lance Bachmeier (5/10) May 21 The thing is, SafeRefCounted is already in Phobos, so it's not
- Jonathan M Davis (20/32) May 21 A lot of the major contributors to D over the years have come from a C++
- aberba (28/66) May 22 I can see why C, C++,... folks might be the ones interested in
Hello everyone, Next week I'm going to have a talk on D at an open source conference in Zagrab [1]. This is a great opportunity to advertise D so I'm going to talk about D's strength's. However, the talk is only 30 minutes in length and there's a lot of things I could potentially touch on - templates, dynamic arrays, safety, C interoperability etc. What do you think that I should focus my talk on? Any suggestions or cool D snippets are welcome. Regards, RazvanN [1] https://www.dorscluc.org/
May 10
RazvanN kirjoitti 10.5.2024 klo 11.43:What do you think that I should focus my talk on?The fact that a language needn't have a built-in GC x-or be designed for system-level control. No mainstream language does both but D does. I'm bad at understanding marketing though so don't listen to me if you feel you know better.
May 10
On Friday, 10 May 2024 at 10:26:31 UTC, Dukc wrote:RazvanN kirjoitti 10.5.2024 klo 11.43:I want to structure my talk in 2 parts: - one "theoretical" part where I enumerate all the cool stuff D does (this is where I will mention the GC and no-GC part) - one practical part where I show snippets of D code which should prompt a "wow" reaction. I have the first part covered, I'm more interested in the second part if folks have any suggestions.What do you think that I should focus my talk on?The fact that a language needn't have a built-in GC x-or be designed for system-level control. No mainstream language does both but D does. I'm bad at understanding marketing though so don't listen to me if you feel you know better.
May 10
On Friday, 10 May 2024 at 10:59:37 UTC, RazvanN wrote:On Friday, 10 May 2024 at 10:26:31 UTC, Dukc wrote:I'm not sure I know what will wow people either. I thought my blog post showing how easy (2 lines) it is to call nanomsg from Python via D got all sorts of pushback, which wasn't what I was expecting. For me at least the wow factor in D is how much gets done with so little.RazvanN kirjoitti 10.5.2024 klo 11.43:I want to structure my talk in 2 parts: - one "theoretical" part where I enumerate all the cool stuff D does (this is where I will mention the GC and no-GC part) - one practical part where I show snippets of D code which should prompt a "wow" reaction. I have the first part covered, I'm more interested in the second part if folks have any suggestions.What do you think that I should focus my talk on?The fact that a language needn't have a built-in GC x-or be designed for system-level control. No mainstream language does both but D does. I'm bad at understanding marketing though so don't listen to me if you feel you know better.
May 10
On Friday, 10 May 2024 at 13:05:28 UTC, Atila Neves wrote:... I'm not sure I know what will wow people either. I thought my blog post showing how easy (2 lines) it is to call nanomsg from Python via D got all sorts of pushback, which wasn't what I was expecting. For me at least the wow factor in D is how much gets done with so little.I really enjoyed this blog when it was released. It really demonstrates the power of D. I do think this is a great example of `wowing` but I guess it all depends on who is in the room. Anyway.. apologies for diverting the topic. I have used ZeroMQ for past projects. Loved it! However, I have not got round to using nanomsg. Have you used the later NNG? https://nng.nanomsg.org/ Be interesting to hear your thoughts (if you have any) - as you might be sticking with nanomsg for a reason. Cheers.
May 16
On Thursday, 16 May 2024 at 12:52:45 UTC, Martyn wrote:On Friday, 10 May 2024 at 13:05:28 UTC, Atila Neves wrote:I think we updated to nng but I don't know for sure. I haven't used it in a while though.[...]I really enjoyed this blog when it was released. It really demonstrates the power of D. I do think this is a great example of `wowing` but I guess it all depends on who is in the room. Anyway.. apologies for diverting the topic. I have used ZeroMQ for past projects. Loved it! However, I have not got round to using nanomsg. Have you used the later NNG? https://nng.nanomsg.org/ Be interesting to hear your thoughts (if you have any) - as you might be sticking with nanomsg for a reason. Cheers.
May 16
On Friday, 10 May 2024 at 10:59:37 UTC, RazvanN wrote:On Friday, 10 May 2024 at 10:26:31 UTC, Dukc wrote:I think this might have the opposite effects. What would wow people in the D community might have the opposite effect on the outsiders. For example, where you see GC and no-GC parts as cool stuff, for people outside of D it will look like a confused language with multiple identities, next question will be "does it still have two standard libraries?". Similarly templates. Outside of C++/D circles templates are not viewed as positively, because of potential slow compilation times, breaking autocomplete and infamous template errors spanning multiple screens (cough STL cough). Also, these days I think ecosystem matters more than the language itself. Just the fact that D actually has a standard package manager/build tool in form of dub is enough to wow some C/C++ programmers. Showing that bindings to many popular libraries are readily available is also a good thing to show.RazvanN kirjoitti 10.5.2024 klo 11.43:I want to structure my talk in 2 parts: - one "theoretical" part where I enumerate all the cool stuff D does (this is where I will mention the GC and no-GC part) - one practical part where I show snippets of D code which should prompt a "wow" reaction. I have the first part covered, I'm more interested in the second part if folks have any suggestions.What do you think that I should focus my talk on?The fact that a language needn't have a built-in GC x-or be designed for system-level control. No mainstream language does both but D does. I'm bad at understanding marketing though so don't listen to me if you feel you know better.
May 13
On Monday, 13 May 2024 at 20:08:29 UTC, JN wrote:Similarly templates. Outside of C++/D circles templates are not viewed as positively, because of potential slow compilation times, breaking autocomplete and infamous template errors spanning multiple screens (cough STL cough).Then good compile times with templates is an amazing feature?
May 14
On Friday, 10 May 2024 at 08:43:14 UTC, RazvanN wrote:Hello everyone, Next week I'm going to have a talk on D at an open source conference in Zagrab [1]. This is a great opportunity to advertise D so I'm going to talk about D's strength's. However, the talk is only 30 minutes in length and there's a lot of things I could potentially touch on - templates, dynamic arrays, safety, C interoperability etc. What do you think that I should focus my talk on? Any suggestions or cool D snippets are welcome. Regards, RazvanN [1] https://www.dorscluc.org/A product sells more when you talk about it's impact or benefits to potential customer. We've been talking about the list of features, which we have more than any of the other languages making headlines, but that alone isn't a strong enough call to action. I personally would be more convinced by projects in D rather than JUST a list of features. Gtkd, vibe.d, severino, dub, dlib, dplug, bindbc-*, mir libraries, and the like. These are direct results of what D can and is capable of doing. Also projects that are as a result of D's interoperability with other languages. Selling D by the list of features and not by it's impact IMO isn't a good enough strategy.
May 10
On Friday, 10 May 2024 at 13:23:01 UTC, aberba wrote:On Friday, 10 May 2024 at 08:43:14 UTC, RazvanN wrote:You could start by demonstrating a C interpreter, (which under the hood is a `alias cint="dmd -run"`, which you don't reveal yet). Then surprise the audience with associative arrays, working out of the box, and perhaps CTFE working on a file. Explain then that you are still in the same "interpreter" but in a slightly better language (D). Give more demonstrations of Ds features then reveal that the interpreter is in fact a very fast compiler. Perhaps then present the EBay table processing code for a commercial application using CTFE.Hello everyone, Next week I'm going to have a talk on D at an open source conference in Zagrab [1]. This is a great opportunity to advertise D so I'm going to talk about D's strength's. However, the talk is only 30 minutes in length and there's a lot of things I could potentially touch on - templates, dynamic arrays, safety, C interoperability etc. What do you think that I should focus my talk on? Any suggestions or cool D snippets are welcome.
May 10
On Friday, 10 May 2024 at 08:43:14 UTC, RazvanN wrote:Hello everyone, Next week I'm going to have a talk on D at an open source conference in Zagrab [1]. This is a great opportunity to advertise D so I'm going to talk about D's strength's. However, the talk is only 30 minutes in length and there's a lot of things I could potentially touch on - templates, dynamic arrays, safety, C interoperability etc. What do you think that I should focus my talk on? Any suggestions or cool D snippets are welcome. Regards, RazvanN [1] https://www.dorscluc.org/I have some cool features which is quite hard to see in other languages: ```d module hip.systems.input; import hip.jni.jni; import hip.jni.helper.jnicall; ///Setups an Android Package for HipremeEngine alias HipAndroidInput = javaGetPackage!("com.hipremeengine.app.HipInput"); alias HipAndroidRenderer = javaGetPackage!("com.hipremeengine.app.Hip_GLES30_Renderer"); JavaFunc!(HipAndroidInput) void onMotionEventActionMove(int pointerId, float x, float y) { HipEventQueue.post(0, HipEventQueue.EventType.touchMove, HipEventQueue.Touch(cast(ushort)pointerId, x,y)); } JavaFunc!(HipAndroidInput) void onMotionEventActionPointerDown(int pointerId, float x, float y) { HipEventQueue.post(0, HipEventQueue.EventType.touchDown, HipEventQueue.Touch(cast(ushort)pointerId, x,y)); } mixin javaGenerateModuleMethodsForPackage!(HipAndroidInput, hip.systems.input); ``` This code exposes functions on Java/Android, they iterate the current module, looking for ` JavaFunc` (I could have written ExternJava). They will generate based on the java package: ```d // file com/hipremeengine/app/HipInput.java public static class HipInput { public static native void onMotionEventActionMove(int pointerId, float x, float y); public static native void onMotionEventActionPointerDown(int pointerId, float x, float y); } ``` Not only that, but you can also pretty easily call Java functions from D: ```d alias HipAndroid = javaGetPackage!("com.hipremeengine.app.HipremeEngine"); int[2] wsize = HipAndroid.javaCall!(int[2], "getWindowSize"); AAssetManager* aaMgr = cast(AAssetManager*)HipAndroid.javaCall!(Object, "getAssetManager"); ``` Beyond that, I have also written code that auto translates to Lua and Objective-C. So D is quite flexible into that. The main 2 packages I know from dub that does that are: 1. arsd.jni 2. objc_meta
May 10
On Friday, 10 May 2024 at 08:43:14 UTC, RazvanN wrote:Hello everyone, Next week I'm going to have a talk on D at an open source conference in Zagrab [1]. This is a great opportunity to advertise D so I'm going to talk about D's strength's. However, the talk is only 30 minutes in length and there's a lot of things I could potentially touch on - templates, dynamic arrays, safety, C interoperability etc. What do you think that I should focus my talk on? Any suggestions or cool D snippets are welcome. Regards, RazvanN [1] https://www.dorscluc.org/explaining this code ```d template toggle(bool defualt=false,alias discriminator=void, int i=__LINE__){ static bool __toggle=defualt; bool toggle(bool input){ if(input){ __toggle= ! __toggle; } return __toggle; } bool toggle(){ return __toggle; } } ```
May 10
Here's one I like: https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/var.d#L188 This table used to be generated by a separate C program. The C program would build the table, and write a .c file with the initializer for the table. The code now demonstrates a lambda that is executed at compile time to generate the table. There are several examples in the file. 1. there is no need for constexpr 2. the lambda code is not emitted to the executable The cool thing is you've got the full power of D available to generate static tables.
May 11
On Sunday, 12 May 2024 at 01:47:51 UTC, Walter Bright wrote:Here's one I like: https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/var.d#L188 This table used to be generated by a separate C program. The C program would build the table, and write a .c file with the initializer for the table. The code now demonstrates a lambda that is executed at compile time to generate the table. There are several examples in the file. 1. there is no need for constexpr 2. the lambda code is not emitted to the executable The cool thing is you've got the full power of D available to generate static tables.Thanks everyone for your suggestions. I will how I can put everything together in a 30 min talk. I'll keep you updated on how it went! Regards, RazvanN
May 13
On Monday, 13 May 2024 at 09:10:58 UTC, RazvanN wrote:... Thanks everyone for your suggestions. I will how I can put everything together in a 30 min talk. I'll keep you updated on how it went! Regards, RazvanNPlease do. I think templates is definitely an area to cover (and wow!)
May 16
On Thursday, 16 May 2024 at 12:51:06 UTC, Martyn wrote:On Monday, 13 May 2024 at 09:10:58 UTC, RazvanN wrote:Hello all, I had the talk on Friday and I think it went pretty well. Looking back, I think that if you have the chance to have such talks it's definitely a good idea to do them because it really sparks some interest. I'm going to describe a bit how things went in the idea that this may help other people promoting D. Since the time was short I included only 3 code examples: - one small program that showcased nice things like dynamic arrays, UFCS, CTFE, local imports etc. - one small program that presented some template features like template constraints, is expressions, __traits(compiles), static if. The example used some DbI to reflect on some arrays and classes. - one small example of importC. All in all, it seemed that folks were pretty impressed with the language. UFCS and and __traits(compiles) are definitely brow raisers among the audience, however, the coolest moment that had the biggest impact factor was when I compiled and ran a C program using the D compiler - I asked the audience if someone noticed something weird and people were definitely impressed by this. Templates are quite cool and they do appeal the inner nerd, but the reality is that not so many people use templates. If you're not a library writer, chances are you'll stick to using normal functions. After my talk, some people that were using C++ came to talk to me. They're biggest problem was they were having buffer overflows which corrupted memory that were not caught by their linters. They liked the idea of automatic bounds checks and the fact that you can incrementally transition to D, however, they were wondering how safe is D when you are not using the GC. They also mentioned that they considered using Rust, however, it's pretty much an overkill for their use case. I told them that for their use case they can simply manually allocate memory and then create an array which contains the size information. The compiler will then check every access to the array for out of bounds indexes, however, they will still need to manage the memory manually. All in all, they seemed willing to try D, however, we cannot since if they will actually do it. In conclusion: - templates are impressive, however, it might be that audiences are not that fond of them - UFCS and CTFE are good concepts to start a presentation with - easy to understand and impressive - importC was the star of my show - GC is something that C++ people worry about when thinking about D. Hope this helps, RazvanN... Thanks everyone for your suggestions. I will how I can put everything together in a 30 min talk. I'll keep you updated on how it went! Regards, RazvanNPlease do. I think templates is definitely an area to cover (and wow!)
May 20
On Monday, 20 May 2024 at 08:03:12 UTC, RazvanN wrote:... ... ... In conclusion: - templates are impressive, however, it might be that audiences are not that fond of them - UFCS and CTFE are good concepts to start a presentation with - easy to understand and impressive - importC was the star of my show - GC is something that C++ people worry about when thinking about D. Hope this helps, RazvanNI appreciate the feedback. Sounds like a good talk with some positive feedback in the room! I think it is worth noting what people have to say and concerns + their background (ie C++) Also -- glad to see ImportC getting some love. It really is good!
May 20
On Monday, 20 May 2024 at 12:36:29 UTC, Martyn wrote:On Monday, 20 May 2024 at 08:03:12 UTC, RazvanN wrote:Well done Razvan! I hope the talk will be posted. I agree giving talks is an excellent way to get the word out about D. I find a good number of folks have heard of D, but then when I poll few have tried it. ImportC and several other features most do not know about -- they are big selling features to try the language!... ... ... In conclusion: - templates are impressive, however, it might be that audiences are not that fond of them - UFCS and CTFE are good concepts to start a presentation with - easy to understand and impressive - importC was the star of my show - GC is something that C++ people worry about when thinking about D. Hope this helps, RazvanNI appreciate the feedback. Sounds like a good talk with some positive feedback in the room! I think it is worth noting what people have to say and concerns + their background (ie C++) Also -- glad to see ImportC getting some love. It really is good!
May 20
On Monday, 20 May 2024 at 12:44:55 UTC, Mike Shah wrote:On Monday, 20 May 2024 at 12:36:29 UTC, Martyn wrote:They posted the video for the entire day: https://www.youtube.com/watch?v=d95fFC0tqpQ&t=7277s&ab_channe =DORSCLUCconference (1:05:20 is when my talk starts) . Unfortunately, they only had hand-mics and at some point I start doing demos so I just close the microphone and don't use it anymore (I can be pretty loud) so that I can use both of my hands. For that reason you can't hear anything from that point - I just had not thought about the livestream and no one told me about it.On Monday, 20 May 2024 at 08:03:12 UTC, RazvanN wrote:Well done Razvan! I hope the talk will be posted.... ... ... In conclusion: - templates are impressive, however, it might be that audiences are not that fond of them - UFCS and CTFE are good concepts to start a presentation with - easy to understand and impressive - importC was the star of my show - GC is something that C++ people worry about when thinking about D. Hope this helps, RazvanNI appreciate the feedback. Sounds like a good talk with some positive feedback in the room! I think it is worth noting what people have to say and concerns + their background (ie C++) Also -- glad to see ImportC getting some love. It really is good!I agree giving talks is an excellent way to get the word out about D. I find a good number of folks have heard of D, but then when I poll few have tried it. ImportC and several other features most do not know about -- they are big selling features to try the language!I had the same experience. I want to take this chance to note that I watched your FOSDEM talk (very nice talk!) and picked this polling idea from it (thanks!). It's funny how even before watching your talk I had kind of the same layout in mind : a few things about myself, a few details about D and then just put a program out there and try to surprise people with some of D's features. I saw that you also used a lot of real life examples where D makes your life easier, however, I thought that those might be a bit confusing for newcomers, so I simply sticked with some small examples that are easily understandable. RazvanN
May 21
On Monday, 20 May 2024 at 08:03:12 UTC, RazvanN wrote:Templates are quite cool and they do appeal the inner nerd, but the reality is that not so many people use templates. If you're not a library writer, chances are you'll stick to using normal functions.The complexity of templates is probably more important (though I agree with your point). Maybe after years of using the language they will have uses here and there, but templates are not a positive when showing off the language. Same for ranges.After my talk, some people that were using C++ came to talk to me. They're biggest problem was they were having buffer overflows which corrupted memory that were not caught by their linters. They liked the idea of automatic bounds checks and the fact that you can incrementally transition to D, however, they were wondering how safe is D when you are not using the GC. They also mentioned that they considered using Rust, however, it's pretty much an overkill for their use case. I told them that for their use case they can simply manually allocate memory and then create an array which contains the size information. The compiler will then check every access to the array for out of bounds indexes, however, they will still need to manage the memory manually. All in all, they seemed willing to try D, however, we cannot since if they will actually do it.D has a GC that is the source of many complaints, but it also has SafeRefCounted. Maybe I don't keep up with the C++ community, but I thought they were fans of RC, based on the repeated claims that you should seldom need to do manual memory management in C++. SafeRefCounted is part of Phobos so it's not like you're relying on a third-party package author to maintain it.
May 20
On Monday, 20 May 2024 at 15:43:46 UTC, Lance Bachmeier wrote:On Monday, 20 May 2024 at 08:03:12 UTC, RazvanN wrote:Actually, what D can do with templates impresses people (especially the __traits and template constraints), however, it's not something that actually solves the problems they have in other languages. As for ranges, I did not include any examples in my talk as I don't see them as a very big selling point.Templates are quite cool and they do appeal the inner nerd, but the reality is that not so many people use templates. If you're not a library writer, chances are you'll stick to using normal functions.The complexity of templates is probably more important (though I agree with your point). Maybe after years of using the language they will have uses here and there, but templates are not a positive when showing off the language. Same for ranges.
May 21
On Monday, 20 May 2024 at 15:43:46 UTC, Lance Bachmeier wrote:On Monday, 20 May 2024 at 08:03:12 UTC, RazvanN wrote:D has a GC that is the source of many complaints, ... community, but I thought they were fans of RC, based on the repeated claims that you should seldom need to do manual memory management in C++.The chase after C++ devs for the past 20yrs hasn't yielded that much adoption by them so I'm not sure it's worth pressing primarily in that direction. Those who like D like myself do that Python devs than there are of hardline C++ devs
May 21
On Tuesday, 21 May 2024 at 09:14:57 UTC, aberba wrote:The chase after C++ devs for the past 20yrs hasn't yielded that much adoption by them so I'm not sure it's worth pressing primarily in that direction. Those who like D like myself do and Python devs than there are of hardline C++ devsThe thing is, SafeRefCounted is already in Phobos, so it's not like additional effort would be expended going after that group. It provides reference counting and memory safety, and importantly IMO, works with memory managed by the GC.
May 21
On Tuesday, May 21, 2024 3:14:57 AM MDT aberba via Digitalmars-d wrote:On Monday, 20 May 2024 at 15:43:46 UTC, Lance Bachmeier wrote:A lot of the major contributors to D over the years have come from a C++ background, but we've historically attracted folks from all over the place. I don't know how valuable it is to try to attract a specific set of folks, though I'm terrible at evangalizing or marketing the language anyway. Plenty of folks I've dealt with over the years (including plenty of cowokers) know full-well that I like D, but I'm not sure that _any_ of them have decided to actually try it. I get the impression that a lot of the folks who end up using D long term are folks who were sufficiently unhappy with some aspect of what they were using before that they were willing to put up with D's shortcomings (be they perceived or actual), and they ultimately liked the benefits enough to stick around. But anyone looking for a pure win or who was already pretty happy with what they have generally doesn't stick around, if they give it a chance at all. And I don't know if there's much that we can do to fix that. For better or worse, in general, I just try to make D the best that I can and don't worry all that much about trying to convince anyone to use it, though we obviously need better marketing in general, since that's never been something that we've been good at. - Jonathan M DavisOn Monday, 20 May 2024 at 08:03:12 UTC, RazvanN wrote: D has a GC that is the source of many complaints, ... community, but I thought they were fans of RC, based on the repeated claims that you should seldom need to do manual memory management in C++.The chase after C++ devs for the past 20yrs hasn't yielded that much adoption by them so I'm not sure it's worth pressing primarily in that direction. Those who like D like myself do that Python devs than there are of hardline C++ devs
May 21
On Tuesday, 21 May 2024 at 16:33:32 UTC, Jonathan M Davis wrote:On Tuesday, May 21, 2024 3:14:57 AM MDT aberba via Digitalmars-d wrote:I can see why C, C++,... folks might be the ones interested in compiler and language stuff.On Monday, 20 May 2024 at 15:43:46 UTC, Lance Bachmeier wrote:A lot of the major contributors to D over the years have come from a C++ background, but we've historically attracted folks from all over the place.On Monday, 20 May 2024 at 08:03:12 UTC, RazvanN wrote: D has a GC that is the source of many complaints, ... community, but I thought they were fans of RC, based on the repeated claims that you should seldom need to do manual memory management in C++.The chase after C++ devs for the past 20yrs hasn't yielded that much adoption by them so I'm not sure it's worth pressing primarily in that direction. Those who like D like myself do and Python devs than there are of hardline C++ devsI don't know how valuable it is to try to attract a specific set of folks, though I'm terrible at evangalizing or marketing the language anyway. Plenty of folks I've dealt with over the years (including plenty of cowokers) know full-well that I like D, but I'm not sure that _any_ of them have decided to actually try it.As I mentioned somewhere, IMO a cool language alone isn't convincing enough. Results are what sell. D has got everything needed to deliver every results and it already has to an intent judging by the testimonies of devs using it in the companies as seen from the D blog posts. I wished we'd sell more of those.I get the impression that a lot of the folks who end up using D long term are folks who were sufficiently unhappy with some aspect of what they were using before that they were willing to put up with D's shortcomings (be they perceived or actual), and they ultimately liked the benefits enough to stick around. But anyone looking for a pure win or who was already pretty happy with what they have generally doesn't stick around, if they give it a chance at all. And I don't know if there's much that we can do to fix that. For better or worse, in general, I just try to make D the best that I can and don't worry all that much about trying to convince anyone to use it, though we obviously need better marketing in general, since that's never been something that we've been good at. - Jonathan M DavisI think for those of us who don't necessarily care much about low-level language specifics (coming from GC languages), the hindrance will be the ecosystem of tools and libraries as we are "spoilt" by other language ecosystem. Although recently D has gotten far better. VSCode seems to be the most dominant code editor and it's fairly good. For areas such as game dev, data science, and web dev, I've seen the numbers of well maintained libraries increase. Most people who try D (including those I've recommended it to) agree the language looks good but that alone isn't enough, the question then become "what can I build with it?". So unless you're willing to build a lot from scratch, the options are limited outside the above mentioned (I could be wrong). At least that's my observation... I've only got experience in web dev and a little bit of Linux desktop GUI. Things are progressing nicely with D, I'm very confident the adoption is only going up from here. I'm so happy about the recent leadership momentum. Will be interesting to find out what folks in the community build with D. I miss those D annual surveys.
May 22