June 26, 2020
On Friday, 26 June 2020 at 03:49:09 UTC, Walter Bright wrote:
> On 6/25/2020 3:14 PM, Avrina wrote:
>> The only thing the community can do is voice their disdain with what they are unhappy with.
> Anyone in the community can step up and appoint themself the leader of Dub. If they do a good job, the rest of the community will naturally follow.

I appoint myself leader of DMD. E-mail me and give me permissions to the DMD repository :).
June 26, 2020
On Friday, 26 June 2020 at 13:17:13 UTC, Avrina wrote:
> On Friday, 26 June 2020 at 03:49:09 UTC, Walter Bright wrote:
>> On 6/25/2020 3:14 PM, Avrina wrote:
>>> The only thing the community can do is voice their disdain with what they are unhappy with.
>> Anyone in the community can step up and appoint themself the leader of Dub. If they do a good job, the rest of the community will naturally follow.
>
> I appoint myself leader of DMD. E-mail me and give me permissions to the DMD repository :).

Genuine question: what did you hope to achieve by sending this reply? It is neither kind nor constructive, and I cannot imagine anything useful resulting from it.
June 26, 2020
On Friday, 26 June 2020 at 01:58:13 UTC, Andrei Alexandrescu wrote:

> The simple fact is I'm not an expert in package management or IDEs. I could probably learn how to do it, but it's unlikely he result would be anywhere close to world-class. In the meantime, I did think I could do a decent job at writing a standard library and helping with the language definition and there was an obvious necessity for those, too.

We all know the concept of comparative advantage. It definitely wouldn't make sense for you or Walter to work on a package manager or IDE. I concluded long ago that the lack of a productive community was holding D back from achieving what other languages have.

> Yes, that's a good point. It is self-evident to me that I have not been a good leader

I don't agree on this point. Imperfect but ultimately we ended up with a really good language and implementation that works well for many of us. I am very thankful for all the effort you put into the language.
June 26, 2020
On Friday, 26 June 2020 at 01:58:13 UTC, Andrei Alexandrescu wrote:
>
> Cool cool cool. (Kind of funny you frame lack of involvement in dub as something to be ashamed of, like having cheated. I'll level with you: I'm just a casual dub user.) So as far as I understand the argument goes "Whatever you've worked on, that was missing the point because you should have worked on dub instead, which was way more important." From a very simple teleological viewpoint, you're entirely right: if D isn't mainstream, clearly there is something we didn't do right. As such, all paths not taken are very attractive. What if we put all that effort in dub? Or an IDE? Or a killer application written in D? No shortage of paths not taken. You seem to believe that dub is the most important, but over the years there have been many ideas from many people about what is the most important.
>
> From where you stand dub would be the thing to focus on, but for years Walter and I have been fighting huge quality problems that now seem to be forgotten. Those would preclude any application work. dmd was be unable to compile anything beyond the most trivial examples of its own flagship features - for years! And when it got it right, phobos got something wrong.
>
> It does seem the presence of a package manager is a contributor to success. Some languages swear by it (Python/pip, Rust/cargo, Haskell/cabal). Yet some others are successful without an official one (Java, C, C++, PHP); and yet others aren't doing well in spite of having a good one (Perl/cpan). So it's not quite the foregone conclusion. Other people would say that an IDE is the thing, and I have been repeatedly asked to work on one. I'm sure those asking were as convinced about the importance of an IDE, as you are about the importance of dub.

But you do realize that Java does have package managers (even if there's no official one)? And IDEs are important. It'd be enough to have a plugin for IntelliJ or Eclipse.

> The simple fact is I'm not an expert in package management or IDEs. I could probably learn how to do it, but it's unlikely he result would be anywhere close to world-class. In the meantime, I did think I could do a decent job at writing a standard library and helping with the language definition and there was an obvious necessity for those, too.

Nobody expects YOU to write a package manager, and you know that. You should keep on working on the library and stuff like that because you are very good at it, so you are. And here lies the problem, I think. You only see this particular aspect while your average John Doe needs a package manager. Think about the average development process. You write code in order to ship a product. You need 3rd party libraries. This should not be an issue or a hack. The average dev just wants to write good, stable code and ship the program, and do it fast if there are bug fixes.

> The main problem with the argument "why didn't you work more on X, when clearly X would have made the D language more successful than working on your core expertise Y" is... there's something wrong with it. Whatever the problem is, the solution can't be let's have fewer people do more work. It doesn't scale.

The job of the DLF would be to identify the priorities (as boring as they may seem) and coordinate how you go about it and hire, yes hire, programmers who work on one of the priorities.

>> Instead, we should compare D to language communities developed in the past 10-15 years. I suggest you look around and see how each one is doing and what were the different steps they took. I can assure you that probably all of their leaders at some points have been accused of not paying enough attention to this or that thing important to some part of the community. That's normal. Leading a small community or organization is very different than leading a big one.
>
> Yes, that's a good point. It is self-evident to me that I have not been a good leader, which is part of why I bowed out.

Once you are a leader you have to stop developing and start coordinating things. If you try to do both you'll fail. I said this years ago. You love PLs and programming too much to be a leader, you want to write good code (so does Walter). You should never have become a leader in the first place. You'd need someone like Steve Jobs who has a vision and the energy to push his cause.

> All the paths not taken; surely one of them must have been better. I totally agree we didn't find the right sauce (how could I disagree? D doesn't have a million users). I think something endemic to our community is a certain thorniness, in most likelihood caused by its leadership (it always starts from the leadership) and slow mainstream adoption. Never in my life have I thrown so much work at such an unending pit of hostility. Years and years of my life, and some of my best work ever. Hundreds of thousands of lines written. Many more reviewed, to be fought tooth and nail by people whom I was just trying to help improve. The contrast is fascinating, because many companies are ready to pay handily for the very same thing, and the C++ community has always been happy with much less significant work. I was never able to explain this all to myself. But clearly there's something wrong about it. We seem to be dealing in some counterfeit expertise currency.

There were clear suggestions nobody in the leadership picked up on. Simple things like stability, tooling. The leadership just bulldozers on even if people shout "Noooooo!". The problem of the D leadership is that they like programming and hacking too much and you're experimenting with code at the expense of your users. Do you know how it feels when you're code doesn't compile anymore from one version to the next and you have to spend hours to fix and test it while your users want this and that new feature?

A PL is more than just code and CS theory. It's a complicated, delicate social network, jobs and end users depend on it, it's embedded in a competitive fast moving economy. And you have neglected this aspect over the years. Instead you concentrated on code and CS theory. You were blind to socioeconomic aspects of D.

You are a very good engineer, top of the league. (I still sometimes think of your approach when I write code.) But you are not a leader. A man has to know his limitations.

> To this day, many moons after I stepped aside, there's no week going by without somebody in this forum putting the poop on something I've done, or teaching me how I should have done it.

Because D attracts the non-mainstream crowd that is more critical and demanding, and they feel they are closer to the leadership (familiarity), rightly or wrongly so. And if you stick your head out you have to live with fair and unfair criticism alike. You cannot say "Look at my allocators! Am I not a cool programmer!" and then ignore issues you consider "minor issues" (ARM, dub, autodecode) that are very important to the actual users. And then you break code for users because of some fancy CS thing you always wanted to implement. Of course people get angry sometimes.

> We could use more kindness around here. Look at the title of this thread. "Why Phobos is cool." Someone found something he liked in Phobos. I knew as soon as I saw the title a poopfest was going to inevitably follow. Let the man have his day.

Well, the post was a bit, how should I say, well, FFT is in the standard lib, great.
June 26, 2020
On Friday, 26 June 2020 at 09:23:46 UTC, Bastiaan Veelo wrote:
> On Friday, 26 June 2020 at 01:58:13 UTC, Andrei Alexandrescu wrote:
>> [...]
>
> Let me try and compensate by saying Thank You, which I think has not been said enough. The day you announced that you quit your job at Facebook to work on D 100% was like Elon Musk announcing they would build a network of super chargers: it gave a huge confidence boost. Just WOW. So thank you, and I’m glad to see an increased involvement from you again recently.
>
> — Bastiaan.

This! +1000
Thanks you very much!
June 26, 2020
On Friday, 26 June 2020 at 15:06:03 UTC, Chris wrote:
>
> Once you are a leader you have to stop developing and start coordinating things. If you try to do both you'll fail. I said this years ago. You love PLs and programming too much to be a leader, you want to write good code (so does Walter). You should never have become a leader in the first place. You'd need someone like Steve Jobs who has a vision and the energy to push his cause.

This raises the question: where can D community to find such a person?

There is an opportunity for someone with strong communication and organizational skills to do a great service for the D community by stepping up and filling this leadership vacuum. So far, no one has done so. Perhaps this is because we do not have a "Steve Jobs" in our midst--or perhaps we do, and they simply lack confidence that their contribution would be valued and rewarded.

It is worth thinking about what might be done to encourage such a person to volunteer, and what obstacles might currently be standing in their way.
June 26, 2020
On Friday, 26 June 2020 at 13:41:28 UTC, Paul Backus wrote:
> On Friday, 26 June 2020 at 13:17:13 UTC, Avrina wrote:
>> On Friday, 26 June 2020 at 03:49:09 UTC, Walter Bright wrote:
>>> On 6/25/2020 3:14 PM, Avrina wrote:
>>>> The only thing the community can do is voice their disdain with what they are unhappy with.
>>> Anyone in the community can step up and appoint themself the leader of Dub. If they do a good job, the rest of the community will naturally follow.
>>
>> I appoint myself leader of DMD. E-mail me and give me permissions to the DMD repository :).
>
> Genuine question: what did you hope to achieve by sending this reply? It is neither kind nor constructive, and I cannot imagine anything useful resulting from it.

I could ask the same thing of the post I replied to.
June 26, 2020
On Friday, 26 June 2020 at 16:21:17 UTC, Paul Backus wrote:
>
> This raises the question: where can D community to find such a person?
>
> There is an opportunity for someone with strong communication and organizational skills to do a great service for the D community by stepping up and filling this leadership vacuum. So far, no one has done so. Perhaps this is because we do not have a "Steve Jobs" in our midst--or perhaps we do, and they simply lack confidence that their contribution would be valued and rewarded.
>
> It is worth thinking about what might be done to encourage such a person to volunteer, and what obstacles might currently be standing in their way.

I don't know, but the D community consists mainly of programming enthusiasts. That's why they put up a lot if sub-optimal hack-y stuff. D needs some sort of Steve Jobs who says "I want it to be a great experience for users".
June 26, 2020
On Friday, 26 June 2020 at 16:27:52 UTC, Chris wrote:
> On Friday, 26 June 2020 at 16:21:17 UTC, Paul Backus wrote:
>>
>> This raises the question: where can D community to find such a person?
>>
>> There is an opportunity for someone with strong communication and organizational skills to do a great service for the D community by stepping up and filling this leadership vacuum. So far, no one has done so. Perhaps this is because we do not have a "Steve Jobs" in our midst--or perhaps we do, and they simply lack confidence that their contribution would be valued and rewarded.
>>
>> It is worth thinking about what might be done to encourage such a person to volunteer, and what obstacles might currently be standing in their way.
>
> I don't know, but the D community consists mainly of programming enthusiasts. That's why they put up a lot if sub-optimal hack-y stuff. D needs some sort of Steve Jobs who says "I want it to be a great experience for users".

I think there are plenty of people willing to contribute to improving D's UX, but without any kind of coordination or agreement on an overall plan, it is difficult for individuals to motivate themselves to take the first step.

This is why I stress "communication and organizational skills." IMHO both the desire and the capability are already there, but everyone is pointed in different directions.
June 26, 2020
On Friday, 26 June 2020 at 16:21:17 UTC, Paul Backus wrote:

> Perhaps this is because we do not have a "Steve Jobs" in our midst--or perhaps we do, and they simply lack confidence that their contribution would be valued and rewarded.

I'm not sure what it means to talk about a Steve Jobs in the context of an open source project. He hired many of the top people, paid very high salaries, and shouted at them until he had a product he wanted to use. It's easy to be a visionary leader if you have billions of dollars to implement your vision.