Has D failed? ( unpopular opinion but I think yes )

Nierjerson Nierjerson at somewhere.com
Sat Apr 13 13:08:04 UTC 2019


On Saturday, 13 April 2019 at 11:20:07 UTC, Andrei Alexandrescu 
wrote:
> Thanks Mike for writing. I have one addendum to this:
>
>> And it may sound like a broken record, but we always need
>> contributors. The bigger we get, the more we need. And there 
>> are
>> never enough.
>
> Closely related to the dearth of great contributors is the 
> implication that we're blocking access of others to high-impact 
> and leadership roles. Let me state for the record that I am not 
> holding onto any seat, that I had to carry some roles simply by 
> default because nobody else would, and that there's many more 
> than two seats to start with, most of which are empty because 
> there's nobody able and willing to take them. The folks whom I 
> invited privately declined, thankfully save for Mike.
>
> Regarding some posters' discontent over poor performance of the 
> leadership/management. Speaking only of myself, let me state 
> for the record that I hold absolutely no illusion of my 
> performance as a leader in this community. Without being 
> dramatic I reckon I'm unfit for leadership. (Most certainly not 
> for lack of trying, but that doesn't matter.) An A leader 
> should get A+ people to follow. We don't have enough of those.


I do not think think anyone is criticizing you or Walter 
personally or your capabilities in what you do. EXCEPT: You guys 
have to figure out how to take D to the next stage of growth. You 
guys are the leaders and so only you can do it. No one else can 
step in and say "This is how we are going to make it happen".

I believe you guys are talented in certain ways but those ways 
are not in ways that are large complex project management. You 
guys are too nice and laid back for that. There has to be someone 
willing to put their neck on the line and make good and hard 
decisions to fix the cracks in D rather than ignore them.

You guys are programmers first and foremost. Have you guys 
actually ever ran any large projects, say, of 10k people or more? 
What about 1k? I doubt this simply because you are programmers 
and such jobs would not involve programming. For example, the CEO 
of Nvidia doesn't sit around programming all day long as his job.

It's not that I don't think you guys are intelligent enough, I 
believe(I do not know if it is true) that you guys don't really 
have any any experience in running a very large successful 
project where if you fail the project fails and it's your ass. 
The kinda where it is all about dealing with 
people(unpredictable) as opposed to code(predictable).

So, in no way am I criticizing you as a person or trying to make 
you feel incapable, I'm simply trying to get you to recognize 
your limitations and for you to think about them enough as to 
maybe figure out how to overcome them. I don't know enough about 
how you guys function to even begin to dish out fault. My main 
point is to try to bring awareness. I think you are already 
somewhat aware, so what I have said so far might not be useful.

But there has to be a floor plan, laid out exactly and "everyone" 
has to agree that it is a good floor plan. Then that floor plan 
has to be stuck to. Imagine building a house where 1. The floor 
plan sucks. 2. It's always changing. It's a doomed project in 
almost all cases. The more complex the design the more failure 
points.

You guys really need to find someone that knows enough about D, 
knows enough about manging large projects(you could start smaller 
but the more experience the better), someone that has their neck 
on the line, someone that will do the required work(since a whole 
team will not exist to delegate it), and someone that can 
dedicate full time.

That is, you need someone who will essentially take the steering 
wheel and win the race. You could try it yourself, but that would 
require you to change your whole mentality and become a "business 
man". You'll have to start taking courses in leadership, project 
management, learn all kinds of stuff you never had a clue about 
and not accept failure as an option(which might require long 
days, very tough decisions, etc...). Basically you would have to 
change careers in some sense.


I really believe you guys just don't know what to do but you 
don't realize it. It's not because you are dumb but you simply do 
not have the kinda of experience that provides one with such 
knowledge. You have ideas and beliefs but that is not the same as 
real world experience of the day in and day out that builds up 
6th senses and intuitive knowledge, tricks, networking, habits, 
etc.

It's kinda hard to explain, it is just a feeling I had. It is 
similar to how I have done certain things in my life where I 
thought I was capable and was making progress then I'd see a YT 
video of some "3yo" doing what I do. Digging deeper I realize 
that my conceptions about how I thought things worked were 
wrong(or faulty/weak). I didn't realize that other people did it 
so differently and then I realized that is why they were 
better... not because they were necessarily more intelligent or 
had more money or whatever but because of their experiences that 
helped them progress and not hit every speed bump. But always 
what I realized is that it was more complex and more work than I 
initially thought.

You have went through these things too, but you don't pay 
attention to them much. How many years of your life have you 
spent in programming? That is why you are good at it! How many 
years have you spent managing companies or large groups of 
people? Changes are you manage people like you program. That is, 
you view the world in a particular way that may or may not be 
conducive to solving certain problems. It is not a fault of you, 
it is a fault of all humans(it's a fault due to how the universe 
works and it's probably no fault at all but just how it works).



My suggestions is this:

1. Spend 5+ hours seriously thinking about the long term goal of 
D. What you guys want it to become. Dream a little, raise your 
expectations, don't worry about the likelihood of achieving them 
too much. [It's always better to lose to a higher ranked player 
than win to a lower ranked player] Also one must be a little 
predictive/adaptive since the time the dream becomes realized 
things will change.

This though should involve some concrete and useful things like: 
(EX)

    a. D is the a major competitor
    b. D is an efficient programming language that satisfies many 
users requirements.
    c. D has a large user base
    d. D has a well thought out and consistent structure, easy to 
maintain.
    e. D is just pure fun to program in. There really are no 
downsides for most people.
    etc...

2. Then figure out for each of those a little more details and 
realities behind them.
    for a, it might involve figure out some approximate numbers 
and requirements that a major competitor has. E.g., how many 
users, type of users, feature set, etc...

3. Then decide if you are willing to do all the work to get this 
going. You guys have to lay down the first few layers of the 
pyramid(well, D already exists so you have some layers to use). 
If not then you have to figure out how to get others to help you 
in a constructive way. You might need to seek out people who have 
been successful in large projects and learn from them(not just 
people who carry the torch but the ones who built it).

4. A tentative floor plan then must be created. This is the 
general outline that gives structure to the dream. It is a huge 
graph/chart/map that shows one the forest.

5. Then project management comes in to play to find the "optimal" 
solution to minimize the time required to complete the project. 
To deal with revisoning, versioning, issues, work distribution, 
hiccups, road blocks, etc...

6. Then just run the program. Yes, it is a program. To accomplish 
anything is a program. But without the source to the program and 
the compiler one can't get anywhere. The source to the program 
here is the planning. The compiler is the management team. All 
the details are filled in at "runtime" such as who builds that 
part of the wall, who corrects that mistake, etc.

After all, even with large computer programmers, there is almost 
always some type of divide and conquer approach, it is no 
different, it's just the machine is different.

And I'm not good at project management so even what I have said 
probably wouldn't be effective. This is why you guys need an 
expert, and someone that will invest the work so these things can 
get off. You might pay them based on performance/progress but you 
will still have to participate and understand things enough to 
keep them legit and to drive them.

Without some type of conscious effort in this area, D will 
stagnate almost surely. There is really no way to get around 
that. These things are not impossible to do. The energy is 
there(there are billions of people on this planet who regularly 
give up their time for other peoples causes on a daily basis), it 
just has too be focused.

Imagine this, if all the time and energy that has been put in D 
from the get go by everyone who has ever done anything for D was 
focused 100% in contributing in the perfect way for D. D would be 
the top programming language. One can say this about most 
languages too. So much energy is wasted, like a typical light 
bulb, which actually uses more energy than most lasers.

D just needs focus. You and Walter may be comfortable with it 
being your golf game, but most people are not because they don't 
want to play golf. Their time is real and it is an investment for 
them, they want a return. This is why I have stopped using D for 
anything serious, because I have concluded that it is not a good 
investment for me. I'm not alone in this of course and it is not 
an indicator of your abilities(it might be entirely Walters ;) Or 
something else). I do like D enough though to continue messing 
around with it here and there, I guess it has become my golf game 
in some sense ;/






















More information about the Digitalmars-d mailing list