Why Phobos is cool

aberba karabutaworld at gmail.com
Fri Jun 26 09:10:47 UTC 2020


On Friday, 26 June 2020 at 01:58:13 UTC, Andrei Alexandrescu 
wrote:
> On 6/25/20 5:51 PM, Petar Kirov [ZombineDev] wrote:
>> I don't recall you or Walter getting involved with the 
>> development of dub or the dub-registry in any significant 
>> manner. I remember that you criticized the addition of SDLang 
>> as an alternative to JSON package description format, but 
>> that's it.
>> 
>> I feel there is a very big disconnect between you and the 
>> community. One on hand, I think that Dub and code.dlang.org 
>> are one of the biggest assets of the community. On the other 
>> hand, it seems to me that you're not interested in Dub at all. 
>> It's just another community project that "they"'re free to do 
>> whatever they want it.
>> For example, my impression (though I'd be happy to be wrong), 
>> is that you have never actually tried using Dub for any 
>> project of significant size, or such depending on a 
>> significant proportion of code that you don't maintain. On the 
>> other side, take as an example any company that needs to bring 
>> a D web project quickly to market. The first thing they'll 
>> likely reach for is dub + vibe-d + mysql-native + some js 
>> frontend framework - basically 100% third-party code for that 
>> team. Since (as far as I'm aware) you haven't invested much 
>> time in projects like this, I'd guess that it would be hard 
>> for you to fully appreciate the necessity, challenges, and 
>> benefits of using a package manager like Dub. Which is why, to 
>> me it seems that Dub is not very high on your radar of 
>> important things to improve for to D succeed.
>> 
>> Different people having different priorities is absolutely 
>> normal but on the other hand, if hypothetically most people 
>> using D type `dub` in their terminal say 99% of their time 
>> compared to 1% for `dmd`, perhaps it's not unreasonable for 
>> the community to expect the leadership to take a Dub's issues 
>> in a proportional manner. Or at least the community would find 
>> it strange that the keywords code.dlang.org or Dub were not 
>> mentioned even once in the vision documents, e.g. 
>> https://wiki.dlang.org/Vision/2018H1. Yeah, "tooling" is 
>> mentioned, but honestly, that too unspecific to be actionable. 
>> On a related topic, "mobile" and "wasm" also not mentioned, 
>> which areas where D in theory could do very well, and its 
>> direct competitors are rapidly gaining market share.
>
> 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."
I would say its not about the MOST, it doesn't always have to be 
the most but one could say without any direct mention of Dub or 
mobile, dub especially, it calls into question how that document 
is compiled. For example is there a community wide survey or 
anything to see which issues are most desired to be tackled. It 
doesn't have to be all but at least help get a couple these 
addressed. Especially dub.

>From a very simple
> teleological viewpoint, you're entirely right: if D isn't 
> mainstream,
Right now its about getting D to improve for users. Not potential 
users per se. Phobos is great for what it doesn't but what it 
doesn't, dub needs to be a stronghold.

>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.
All those languages succeeded, because they found themselves in a 
advantageous point in time. So people could put up with it 
despite its shortfalls. This
could mean it was also immediately interesting to many people 
(contributors) and companies at that time.

Do you really think any new language now can succeed without a 
package repository?

> 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.
>
> The simple fact is I'm not an expert in package management or 
> IDEs.
There's already efforts. It just need support. Again, not always 
financially.

  > 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.
>
> 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.
>
>> 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.
>
> 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.
You've been a great inspiration. I would often skip other Dconf 
videos just to see what you'll present.

>But clearly there's something wrong about it. We seem
> to be dealing in some counterfeit expertise currency.

Ok now I also feel bad myself. And I can speak for myself now.

I'm probably sure I'm biased and greedy, probably. For example if 
we had some of these issues solved, I'd probably be complaining 
about something else I need.

>
> 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.

"There's languages people don't use and those others complain."

However agree we need to control how we air out our complaints so 
it doesn't become a personal attack.

And part of it is being a leader on a project is again more than 
compilers and technically hard core fixes. It also includes 
managing people and marshalling together talents and empowering 
efforts. We've also seen people give up DIPs completely because 
they hit this wall. Communication, communication, people 
management. We're humans first.

If you don't air out opinions on matters, the void will 
definitely be filled.

It's not always about Walter do it, or Andrei fo it, or Atila do 
it. It's about marshalling people together to take responsibility 
of other things you just can't do. Its existing efforts 
everywhere. Again how will you as a CEO promote products of your 
company you don't use yourself or haven't got a gist of.

>
> 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.

Ha ha.

Yeah you're right we've ruined the thread. Sorry.

Why Phobos is cool." it is. Phobos



More information about the Digitalmars-d mailing list