July 11, 2018
> This is one of the things about open source / volunteer projects that may or may not be a good thing (it can be argued both ways).  Since people aren't getting paid to do grunt work, if nobody steps up to the plate to fix an issue, it will either just sit there forever, or it will fall upon Walter and Andrei to get to it, which, given how much is already on their plate, will take a very, very long time.  And people will just work on whatever interests them.  Happy D users who don't find any problems (for THEIR use case) won't have much motivation to contribute to something that doesn't directly benefit them (or they don't even use it).  Unhappy D users who *do* find a problem will either step up and fix it and contribute it so that the rest of the community benefits, or they will choose not to participate, in which case nothing happens.
>
> I'm not trying to justify this situation, but having observed how things work around here for the past many years, that's just the way things work.  Either somebody gets ticked off enough to actually do something about an issue, resulting in all-round benefits, or they just do nothing, and nothing happens. (Complaining in the forums doesn't count, since it has been proven time and time again that this almost never leads to any actual change.)  This is unlike how most commercially driven projects work, for obvious reasons, and for better or for worse, that's what we have to deal with. (Personally I think this is actually a good thing, but I'm guessing many people will disagree.)
>
> So saying "wouldn't it be much more effective that the D experts of this forum simply fix the open source code" ultimately won't lead to much change, for better or for worse.  *Somebody* has to step up to do it. Expecting somebody else to spend their unpaid volunteer time to work on something that may not really interest them is, to say the least, unrealistic.  The solution, as Walter says, is to "be the change you want to see".

I agree. And I must admit that from that point of view I'm indeed part of the problem...
July 12, 2018
On Tuesday, 10 July 2018 at 10:48:30 UTC, bauss wrote:
> On Friday, 6 July 2018 at 23:27:57 UTC, RhyS wrote:
>>
>>> Total 1336 packages found.
>>> 3359 total shards
>>
>> D has had a major release.
>> Crystal has had a minor release.
>>
>>> Total 1339 packages
>>> 3382 total shards
>>
>
> This is a really weak point, because it doesn't show the quality of the packages.
>
> Just look at npm.

That is a straw man argument.

I challenge you to see the packages and compare:

https://crystalshards.xyz/?sort=updated&page=1
https://code.dlang.org/?sort=updated

And then tell about the quality.
July 12, 2018
On Wednesday, 11 July 2018 at 21:19:18 UTC, Ecstatic Coder wrote:
> I agree. And I must admit that from that point of view I'm indeed part of the problem...

Its a problem every open source project faces. No matter if its D or Crystal or ...

The main issue is that many people in those open source project forget, that the people who come to their project/language are only looking to use it for their work. They are not looking to spend x amount of time on open source development because they have their own projects or work.

Is it unfair that the mass benefits from the work of the few. Sure. But putting the blame on the people who use the tools and see them as problems is kind of ironic.

If the goal is to get a successful language, those type of blame attitudes are only counter productive. For most people its easy to switch languages when they have little invested and complain about issues.

Its the same with the donations. I stated before that D as a organisation with its financing feels very mysterious. You do not see where the money goes and people are not motivated to donate to a organisation when they feel their complains are not taken serious.

A lot of open source project simply forget that its all about marketing and community creation. If you fail at one of them, like being semi aggressive when new users complain, it simply cuts into your own pockets.


D has a massive increased in downloads but has a hard time actually keeping the people interested who download the D compiler. That normally needs to be a wake up call for any community.

I think a larger issue is that a lot of older community members have been with the D language for years upon years and they are tired of people complaining on issues. It also does not help that D simply keeps getting more features that few people care about outside a very small group of programmers. BetterC ... your not going to convert a lot of C developers. D as a C++ replacement, C++ 14/17 keeps improving, why change over to D with less resources.

In my personal opinion Crystal is gaining more momentum then D despite that D has a much more active blog/communication.

Part of that is simply that people come to D looking for a easy language and discover the over focus on C/C++ and run into the issues. Add a bit of semi-aggressive forum members when complains show up and there goes your new user looking at Go or another language.
July 12, 2018
On Tuesday, 10 July 2018 at 17:25:11 UTC, Yuxuan Shui wrote:
> (Although I don't quite agree with you. Some people DO resist change, that's why some decades old languages are still popular. But look at the popularity of new languages like Go, and Rust, and the ever-change landscape of front-end development. There're tons of people who adapt certain technology just because it is new, why can't that happen to D?)

Because they are humans.
Because the masses fly to hip stuff like moths to light.
Because people make decisions out of a mood or because of peer pressure and based on opinion rather than facts.
Because a lot of people use it so it can't be bad !?

You can see that phenomenon in Hardware and end user software and really every other aspect of life, too, by the way. It's almost always the hyped shh-stuff that gets wide spread use.

How many of these people are using it because they want to ? How many are happy with the language, rather than just being part of the flock ? To be able to call oneself hip ? To be part of the group ?

Whether or not rust, go, etc. are just as or more popular than C++ or Java in 30 years remains to be seen.
July 12, 2018
On Thursday, 12 July 2018 at 11:36:15 UTC, RhyS wrote:

> Its the same with the donations. I stated before that D as a organisation with its financing feels very mysterious. You do not see where the money goes

I've raised this issue elsewhere. I think there would be more incentive to donate if the money were used to do the boring things that are needed to make the language more usable. AFAICT, the money goes to internal compiler work to add new features to the language in order to appeal to C++ users. The work is done in secret (well, unless you want to go through Github threads) and there is not much communication even after it's done.

> I think a larger issue is that a lot of older community members have been with the D language for years upon years and they are tired of people complaining on issues.

Actually, they are the ones that do most of the complaining. They do get upset when others make false arguments though.

> Part of that is simply that people come to D looking for a easy language and discover the over focus on C/C++ and run into the issues.

True. Lately all official communications about D are about memory management, making the language as complicated and boring as Rust. That's not the fault of the D leadership though. It reflects the lack of effort on the part of others that want to use the language for something other than a C++ replacement. There is nothing stopping anyone from building up a community that is not connected to the core language developers. That is actually how it works with any successful language. If you think you could do a better job dealing with the rough edges, just go ahead and do it. You don't need permission. That's how open source works, and indeed, the fact that you don't need permission is the point of open source.

July 13, 2018
On Thursday, 12 July 2018 at 12:07:55 UTC, wjoe wrote:
> On Tuesday, 10 July 2018 at 17:25:11 UTC, Yuxuan Shui wrote:
> Whether or not rust, go, etc. are just as or more popular than C++ or Java in 30 years remains to be seen.

Rust and Go have their strengths, but also suffer from serious usability flaws, so I'm not sure they can become as predominant as C++ in the years to come.

At the moment, developing in Rust can be quite painful because of too much focus on its borrow checker, as the reference counting system is just a side feature, which is not deeply integrated into the language.

And Go suffers from its own problems, mainly related to the excessive limitation of the language features (no genericity, "fake" class inheritance, etc).

De facto they are already making room for another language to ultimately fill those gaps...

This may be Crystal, D or another yet to come language...
July 13, 2018
On Friday, 13 July 2018 at 13:15:07 UTC, Ecstatic Coder wrote:
> At the moment, developing in Rust can be quite painful because of too much focus on its borrow checker, as the reference counting system is just a side feature, which is not deeply integrated into the language.
>
> And Go suffers from its own problems, mainly related to the excessive limitation of the language features (no genericity, "fake" class inheritance, etc).

Those are are big items but its the small stuff that more frustrates. Just deal with some database result fetching. In dynamic languages that is maybe a 5 line of code, Go makes it 4 or 5 times as big. Its just a bit too unwieldy.

> De facto they are already making room for another language to ultimately fill those gaps...
>
> This may be Crystal, D or another yet to come language...

Crystal maybe ... but the link Ruby / RoR does create a bit of a artificial barrier. I do notice that Ruby ( not Rails ) is getting more recognition these days.

D ... i am being honest but i do not see it. D really has a lot going for it but frankly, the missing default HTTP server is just silly these days. And no, again, Vibe.D is not a  good alternative when it breaks on just about every D release or does not perform multi thread correctly ( look up the documentation. Out of date and full of unused information ).

What i personally miss is a compile language that simply gets the job done.

Take PHP for instance, horrible issues ( a lot less as they cleaned up a lot over the years ) but its most redeeming feature is it gets the job done. It does not force you into a specific pattern, its fast go get visual results, its backward compatability is impressive ( hint hint D ), it just works out of the box with ease.

Javascript ( the newer ES version + Node ) also match this more.

D looks usable at first for people coming from dynamic languages but they are quickly overwhelmed with the whole C/C++ focus.

Crystal is bridging that gap but its still more or less Ruby. So it needs to deal with some of the reputation issues.

Where is our Java / C like alternative. Swift? Unfortunately Apple has no interest outside of its own platform and Linux support is spotty.

Kotlin/Native? Its moving fast and most people do not realize this. But a long time from finished.

Zig? Kind of a C alternative.


If there is a language out there that gaps that C/Java/dynamic fast and easy feel, and offers the ability to compile down with ease. I have not seen it.
July 13, 2018
On Friday, 13 July 2018 at 19:30:07 UTC, RhyS wrote:
> On Friday, 13 July 2018 at 13:15:07 UTC, Ecstatic Coder wrote:
>> At the moment, developing in Rust can be quite painful because of too much focus on its borrow checker, as the reference counting system is just a side feature, which is not deeply integrated into the language.
>>
>> And Go suffers from its own problems, mainly related to the excessive limitation of the language features (no genericity, "fake" class inheritance, etc).
>
> Those are are big items but its the small stuff that more frustrates. Just deal with some database result fetching. In dynamic languages that is maybe a 5 line of code, Go makes it 4 or 5 times as big. Its just a bit too unwieldy.
>
>> De facto they are already making room for another language to ultimately fill those gaps...
>>
>> This may be Crystal, D or another yet to come language...
>
> Crystal maybe ... but the link Ruby / RoR does create a bit of a artificial barrier. I do notice that Ruby ( not Rails ) is getting more recognition these days.
>
> D ... i am being honest but i do not see it. D really has a lot going for it but frankly, the missing default HTTP server is just silly these days. And no, again, Vibe.D is not a  good alternative when it breaks on just about every D release or does not perform multi thread correctly ( look up the documentation. Out of date and full of unused information ).
>
> What i personally miss is a compile language that simply gets the job done.
>
> Take PHP for instance, horrible issues ( a lot less as they cleaned up a lot over the years ) but its most redeeming feature is it gets the job done. It does not force you into a specific pattern, its fast go get visual results, its backward compatability is impressive ( hint hint D ), it just works out of the box with ease.
>
> Javascript ( the newer ES version + Node ) also match this more.
>
> D looks usable at first for people coming from dynamic languages but they are quickly overwhelmed with the whole C/C++ focus.
>
> Crystal is bridging that gap but its still more or less Ruby. So it needs to deal with some of the reputation issues.
>
> Where is our Java / C like alternative. Swift? Unfortunately Apple has no interest outside of its own platform and Linux support is spotty.
>
> Kotlin/Native? Its moving fast and most people do not realize this. But a long time from finished.
>
> Zig? Kind of a C alternative.
>
>
> If there is a language out there that gaps that C/Java/dynamic fast and easy feel, and offers the ability to compile down with ease. I have not seen it.

Indeed Kotlin/Native is becoming VERY impressive these days, as it will be usable both for server-side and client-side development, including to develop mobile applications for iOS and Android.

https://github.com/jetbrains/kotlinconf-spinner

One other very promising language, which almost nobody knows, is Crack, as it's quite performant and could be used to implement practically anything (web servers, games, etc), as it uses automatic reference counting instead of garbage collection.

Sad it has absolutely no community (45 Github stars, including mine), and thus will probably stagnate in its current unfinished state (no weak references, fibers, channels, etc).

July 16, 2018
On Thursday, 12 July 2018 at 14:49:14 UTC, bachmeier wrote:
> AFAICT, the money goes to internal compiler work to add new features to the language in order to appeal to C++ users.

Well, there's also the redesign of the Phobos collections.

I don't know if attracting C++ users is currently a specific goal of the D Foundation, but if it is, I suggest listening to the complaints that C++ users make (about C++, not D), e.g. [1]. Ironically, some of the common complaints, like incomprehensible error messages (for templates, anyway), are also common complaints about D.

[1] https://www.reddit.com/r/cpp/comments/7lvteh/what_are_the_weakest_points_of_c_in_your_opinion/
July 16, 2018
On Friday, 13 July 2018 at 19:30:07 UTC, RhyS wrote:
> If there is a language out there that gaps that C/Java/dynamic fast and easy feel, and offers the ability to compile down with ease. I have not seen it.

There's no silver bullet, you can choose from what exists or create your own. Recently we got a CI service that tests some packages from dub, that should deal with regressions.