April 12, 2019
On Friday, 12 April 2019 at 09:56:48 UTC, Nierjerson wrote:
> Yes D has failed if the goal is wide adoption. It will never gain wide recognition and use because the D community fails to realize that it's more than just the compiler and libraries.
>
> What makes a compiler successful is not just the compiler itself but the easy to create real world business solutions by the mass of programmers in the world. Such people are not interested in wasting their time trying to get things to work, they want a product that will allow them to get as much work done in the shorted amount of time. D fails miserably at that in the real world.

I think you will find that D _is_ used successfully in businesses, if not the businesses you'd like to see it be used in.

> D has no decent gui, gui designer, no decent audio library, no decent graphics library, no decent anything.

Dlangui is fine, Guillaume Piolat does Audio in D, I presume his libraries are good, vibe. is pretty awesome, but I take your point.

> The D community thinks that if it has a binding then it must be the same. Bindings are not solutions. One is just working in C, so what is the point of D then?

Au contraire, a good binding means interoperability and you don't have to design, engineer, develop, and document (as much) the thing you want to do.

> Essentially D costs too much and has too little in return.

That is a business decision that you need to evaluate.

> After all, you can pretty much do everything you want in C++ that you can do with D.

Most certainly not, anything that requires reflection you can't.

> The sole reason that D has failed is the management of D has failed...

It hasn't failed completely, yet... the dconf AGM will hopefully change things.

> Most programmers don't give a shit about meta programming and all the cool shit D can do.

Even if they don't care directly, the cascade effects are significant, i.e. they don't care that they can do it directly, they care that they can use what someone else has written.

> So what is the point of them using it when most other things suck? All the effort that D wasted in library after library could have been focused on creating the things that users want/need but the libraries are now defunct and are bit rotting.

c.f. bindings

> Eventually people will give up on maintaining D(in 10-20 years when new processors are out that require massive updating of D or a new OS comes about). D will die a slow and painful death. It didn't have to be that way but that is the outcome when you don't plan properly.  It has happened many times with many things... It's nature at work.

Maybe, maybe not.

> At most D could hope to do is get a large company with the resources to take it over like Microsoft... but they have no incentive to do that. Since D can integrate with C/C++ there is potential. But why would they do such a thing when they can just modify C++?
>
> D has never been used for a major commercial app. It touts all it's uses, which is minuscule compared to the major players and most of these use cases are more it computing applications/utilities than anything major. I believe D is a failure for very complex real world apps. It just can't handle the load. A large business isn't going to waste it's time with something that has so many drawbacks and few benefits... it makes no sense to them to use D for anything serious. Even though D can be used to write specific code, since it does not perfectly integrate what is the point of just not writing it in the main language, even if it requires a little more work?

Just because you don't see then doesn't mean they don't exist.

April 12, 2019
On Friday, 12 April 2019 at 14:24:05 UTC, Chris wrote:
> Mind you, the first thing a lot of people ask is "Can I use it on mobile and is it painless to do so?". This is the reality of things. Kotlin devs realized that. Language adoption is not _only_ about language features, it's about usefulness too. This is why they simplified Scala.
>

This is an unfair comparison. Kotlin is piggybacking on JVM and Java. First few versions of Kotlin were basically Java with Project Lombok annotations added as language features rather than awkward compilation stage hack. Only later did it start to emerge as a new language with its own paradigms.
April 12, 2019
On Friday, 12 April 2019 at 13:50:42 UTC, SrMordred wrote:
> On Friday, 12 April 2019 at 08:02:30 UTC, JN wrote:
>> more behind the scenes, around the same level of popularity as Nim, Crystal.
>
> Since i think this is a talk about popularity...
>
> I feel that Nim and Crystal have WAY more adoption/popularity than D, but im not sure if both are backed by any great group (like Rust).
>
> So I think a good point to focus this discussion is, why Nim and Crystal got the lead in popularity but not D?

I disagree. Crystal doesn't even have Windows support. Nim is very obscure, it rarely pops up even on Reddit. It might seem like they have a lot going on for it, because both are developed in a very open source way. Everything is done on Github, there's a ton of packages and most users are open source enthusiasts. A lot of D activity is done here in forums and in bugzilla, a lot of code is used in proprietary projects so you don't hear about every single application that got created with D.
April 12, 2019
On Friday, 12 April 2019 at 16:42:46 UTC, Timon Gehr wrote:
> On 12.04.19 17:25, Nierjerson wrote:
>> 
>> Yeah, you can ignore popularity if it it's meaningless.
>
> That seems obvious.
>
>> It just shows your ignorance or your selfishness or both.
>> ...
>
> Right, because supporting an open source language and toolchain is so selfish and ignorant. I won't try to force you to use it for your own good. If that's selfish, so be it.

Um, I didn't say that. I said that if you only support the language features that you use then it is selfishness. There is a difference, you are trying to warp what I said to suit your beliefs.

What I'm saying is that there are a lot of D users that use D for X... and people that use it for Y and have Y-issues are irrelevant for these people. For them, because D does X well they are happy, and they careless about the other users. That is selfishness.


>> Once the popularity of D = 0 D is dead. That is a fact.
>
> As long as I am using it, the popularity of D ≠ 0. Fact.
> (In fact, D has plenty of users.)

And you fail to realize it doesn't have to be 0 to be practically dead. It's a theoretical statement and all theoretical statements constrain reality. I mean, are you going to make me spell out every little detail just to prove you wrong? Do we have to figure out exactly how many users D requires to not end up dead?

>> If you think D is so great
>
> It's fine, not great, but better than would-be competitors for my current use cases.

My point above. For YOU. You care less about other users and their use cases. D is fine for you, so why do you want to keep it bad for others rather than help it work for them too? That is very selfish.


>
>> then why would you not want it to be more popular?
>
> When everything else is the same, having more users is a liability.

True, but one can make such blanket statements about everything. It's nonsensical in practice because nothing can ever be the same. The amount of manhours that are invested in D is proportional to the "popularity". By forcing everything else the same you remove that condition and so it then becomes pointless.

This isn't a business selling things where the more customers are more liability because one can just raise the prices of their product to decrease the customers but maintain the same revenue. There isn't a trade off here with D's community. The larger the community the more investment those people put in to D and that helps D as a language and compiler grow and that helps everyone that uses it and draws in more people who invest more time.

These people invest their time willingly, they don't have to pay anything else for it. There is a huge difference.


> In any case, if you want to invest time and effort into a marketing campaign, be my guest. I'm not actively opposed to popularity, even though it would probably further diminish the average quality of discourse on the forums.

Popularity automatically does not cause problems. It is the state of the human race that causes the problems. If the logic is "We don't want D popular because it will cause problems in the forums" then D is shooting itself in the head. There are ways to alleviate such problems so one doesn't have to sacrifice one for the other.

The logic then should be "Ok, we need to build a larger community for D, we know it that this will generally create a problem A. How can we minimize the effects of A"?

This is basic calculus. Even computer scientists deal with min/max type of problems. You don't throw the baby out with the bath water, you find a balanced solution that gives the results one wants. Meaning one finds appropriate solutions for the appropriate problems.


>> If D is better then C++ in every regard
>
> (That's not even close to what anyone in this thread claimed.)
>

That is why I said "IF" it was a hypothetical.

>> then why would you not want everyone using D instead of C++?
>> ...
>
> Competitive advantage.
>
>> See, your perceptions are illogical and detrimental to the very thing you claim to like.
>
> D is a tool. You are arguing as if it was a person whom I wish to marry.

lol, I do not think I was posting to you specifically.

In some ways it is someone you wish to marry, or you already have.

How many years have you invested with D? Seriously, when you are on your death bed those years might mean something. Your time should be important too you and so wasting it on things you don't take seriously will only harm you. It is your choice to live your life that way but, for example, you shouldn't marry the first broad that you see because that is years of your life that are "wasted"(in the sense that if you could spend them better). Most people though just accept whatever and they end up paying for you. You can't get the time back so why not make sure it is invested well?



April 12, 2019
On Friday, 12 April 2019 at 14:44:06 UTC, Chris wrote:
> The question is: What made him leave?

A combination of him seeing the foundation as wasting money on the idea of conferences, a traditional D forum debate™ that followed, deletion of some posts by moderators, and their refusing to go back on that.

> Nobody seems to care about that, which I find both surprising and sad.

I care, and was very annoyed about the response.

> He wasn't just a random user, you know?

I know, it is a great loss.

>> There are open PRs that sit on Github rotting, you have a list of bugs that you added but you got no response or some unsatisfactory response, you donated a bunch of money for a goal that was not realized. Something?
>
> Where should I start?

I do the Pull Request management these days. Assuming your own PRs: rebase it, then ping me (I'm a bit busy at the moment with conferences and my regular mail client is geolocked (stupid MS security setting that I can't figure out how to change so I apologise for any late replies).

>> I can see that constructive criticism can be applied anytime, this is desired and healthy. There are really annoying things with Dlang management, I really hate the whole Interpolated Strings debacle for example, but I see that there is wish to improve and steps are made to fix them.
>
> D would have to be rewritten. It's become unmaintainable.

I don't think its quite there yet, but it is getting dangerously close to the brink, hence the AGM for sorting this stuff out. If you have any topics that you feel need discussing and are not on the list[1] already, please make a PR.

[1]: https://github.com/thewilsonator/Dlang-AGM

April 12, 2019
On Friday, 12 April 2019 at 16:56:25 UTC, H. S. Teoh wrote:
> On Fri, Apr 12, 2019 at 04:31:51PM +0000, Paolo Invernizzi via Digitalmars-d wrote:
>> On Friday, 12 April 2019 at 15:58:54 UTC, bachmeier wrote:
>> > On Friday, 12 April 2019 at 15:49:48 UTC, Paolo Invernizzi wrote:
>> > > It's time for D3.
>> > > 
>> > > - Paolo
>> > 
>> > The first step will be to stop saying D2 almost killed the language. I was not a user of the language at that time, but my reading is that the transition was a massive screwup. If the language doesn't evolve it will die.
>
> +1.
>
> This is why I heartily support Andrei's recent stance about std.v2.  I don't agree with his claim that it can't be done because of our present (lack of) manpower.  There are other issues involved with that, that I don't want to get into here, but D really needs to embrace change rather than fear it.  Trying to get something as complex as a programming language right from the get-go is impossible.  What you lay down at first can only be an approximation at best, and is bound to need revision later as your direction becomes clearer.  Whatever D started out as was only a faint shadow of what it became today, and similarly what we have today is only a faint shadow of what it might become in the future.  The moment we let the past stop the future is the moment D is dead.

I agree with this. Also, one must build it for them to come, meaning that the manpower comes with progress. It is a illogical thing to believe that we can't do something because X is not in place when the very fact that X is an effect from doing that thing.

See, if people saw that D was headed in the right direction they would be more likely too invest their time, and as some of these people do it, D has more man power, and more progress is made, and then more people come, and more man power exists and more people come.

It's sort of like the avalanche effect with transistors. It really works this way with humans(as if humans were electrons).

The argument should be "How much time do we want to allocate this week to task X: 5 days?  4 hours? 1 minute?" and so the time is allocated and progress is made. That is all that matters. It's basic scheduling and project management.

The thing is, allocating 0s to something stops all progress. Even 1s is better than 0. At least with 1s, in theory, the goal will be reached. [Good project management comes from trying to optimize the completion time of all tasks. There is even software that helps optimize this using advanced mathematics and takes in to account many of the standard issues. It would be a good thing for D, if it cares about progress, to invest in such a tool.]


>
>> The transition between D1 and D2 was problematic, that's true, (but the problem was the duality between Phobos/Tango), but happened, successfully at the end.
>> 
>> The transition between Python 2 and Python 3 was problematic, but happened, and Python is flourishing...  does it worth? Being someone who worked with Python strings / bytes in both 2 and 3, yes, it worths!
> [...]
>
> Yes, and I hope std.v2 will happen. And not just happen, I hope there will be a std.v3 in the future, and a std.v4 in the distant future.
>

It can only happen by planning. Without proper planning there is an inevitable end.[Of course, there is an end to all things I suppose but that is completely out of our control]



April 12, 2019
On Friday, 12 April 2019 at 15:58:54 UTC, bachmeier wrote:
> On Friday, 12 April 2019 at 15:49:48 UTC, Paolo Invernizzi wrote:
>
>
>> It's time for D3.
>>
>> - Paolo
>
> The first step will be to stop saying D2 almost killed the language. I was not a user of the language at that time, but my reading is that the transition was a massive screwup. If the language doesn't evolve it will die.

You mean D1? I hope we're not there already with D2!
April 12, 2019
On Friday, 12 April 2019 at 18:00:32 UTC, silentwatcher wrote:
> but aren't all you guys stunned how Andrei and Walter come to rescue of there creation and failed management?
> what a yelling silence.

I'm having a hard time spring that sentence, but I hoping that the dconf AGM will set a new direction / management policy.

> well this is the usual way - stand by and/or don't care. the idiots will calm down after they are made trolls or are told to move on.
> should we?

If and only if you are a troll, I'm jet lagged and can't tell.

April 12, 2019
On Friday, 12 April 2019 at 18:22:04 UTC, Nicholas Wilson wrote:
> On Friday, 12 April 2019 at 15:58:54 UTC, bachmeier wrote:
>> On Friday, 12 April 2019 at 15:49:48 UTC, Paolo Invernizzi wrote:
>>
>>
>>> It's time for D3.
>>>
>>> - Paolo
>>
>> The first step will be to stop saying D2 almost killed the language. I was not a user of the language at that time, but my reading is that the transition was a massive screwup. If the language doesn't evolve it will die.
>
> You mean D1? I hope we're not there already with D2!

I was referring to the D1 -> D2 transition. It has been claimed by Walter that it nearly killed the language so he doesn't want D2 -> D3.
April 12, 2019
On Friday, 12 April 2019 at 18:26:26 UTC, Nicholas Wilson wrote:
> On Friday, 12 April 2019 at 18:00:32 UTC, silentwatcher wrote:
>> but aren't all you guys stunned how Andrei and Walter come to rescue of there creation and failed management?
>> what a yelling silence.
>
> I'm having a hard time spring that sentence, but I hoping that the dconf AGM will set a new direction / management policy.
>
>> well this is the usual way - stand by and/or don't care. the idiots will calm down after they are made trolls or are told to move on.
>> should we?
>
> If and only if you are a troll, I'm jet lagged and can't tell.

no, not a troll. there was a time i used d regularly and even tried our company to use it (2011), but thanks haven that failed.
what is the opinion of Andrei and Walter?
it's kind of funny that they don't have one.