Has D failed? ( unpopular opinion but I think yes )
Nierjerson
Nierjerson at somewhere.com
Fri Apr 12 17:59:49 UTC 2019
On Friday, 12 April 2019 at 16:45:04 UTC, H. S. Teoh wrote:
> On Fri, Apr 12, 2019 at 03:25:05PM +0000, Nierjerson via
> Digitalmars-d wrote:
>> On Friday, 12 April 2019 at 14:30:53 UTC, H. S. Teoh wrote:
> [...]
>> > Personally, I couldn't care less about popularity. After
>> > what I've seen in the industry over the past 2-3 decades,
>> > I've become very cynical about popularity. What I *do* care
>> > for is a language with strong technical merit. D has that,
>> > to some extent -- I'm not going to pretend D is perfect
>> > either, as I do find a lot to be desired in it. But it's
>> > much better than the alternatives I've tried, so for the
>> > time being, it's my language of choice.
>> >
>> > But obviously, YMMV.
>> >
>>
>> And this is the problem. Those hard core users like yourself
>> that pretend that popularity doesn't matter. What are you
>> going to do in 10-15 years(depending on how old you are) when
>> Walter is dead(isn't he like 70 now?) or simply cares even
>> less about D and moves on to dying?
>
> There are enough of us around to keep it going without Walter,
> and that number is growing. It may not be growing as fast as
> you might want, but it's growing.
Even one man can "keep it going" in theory. In practice that is
now how it works. When the "team leader" goes everything almost
always falls apart. In war, if the commander gets killed there
are specific processes to deal with the inevitable outcome of the
company being obliterated. This is why their are chains of
command and shut. You won't be able to keep anything together in
any significant way without some organized structure. It is pipe
dream because EVEN if it were true, it is only true in theory or
in some astronomical chance. In reality, that is, when we want to
actually not take huge risks, things work a certain way.
It has nothing to do with D specifically, it is true in general
for all things. It is not that the outcome is always known but
that why go down that path? It doesn't have to go that way and it
will only be a tough road. There is no point except to be lazy
and ignorant. Proper planning is what has proven itself time and
again in all complex things. No need to throw it out the window
just because you guys want to gamble.
>
>> Popularity is what grows something. You might not care about
>> it, but without it D is definitely dead and it is just a
>> matter of time.
>
> Bold statement for a language that has a good number of
> companies using it in production, with a small group of
> dedicated contributors. Yeah, it may be no C++ megalith, but
> honestly? I can live with that. In fact, I like it. Popularity
> usually also equates to lowering your standards to the lowest
> common denominator. I've seen enough of that in my career to
> be extremely cynical about it.
Seriously? You do realize that the companies that use D are a
drop in the bucket compared to most other popular languages?
Also, most of these companies would drop D in a heart beat if
something better came along to make them more money.
Look, this is what you are saying: "Too much `popularity` is bad
because of X, I've seen it in the past so we won't have any
popularity".
That makes no sense. How bout you find a better way to do it? I
agree that popularity in and of itself is not necessarily good,
but the right popularity is the best. What if D had a community
of 1M programmers that were identical to you? Would you not
accept it because it's too popular? Or would you all start making
D the most amazing language and compiler that you can conceive of?
You are throwing out the baby with the bath water. There has to
be a balance in everything. To choose an extreme is idiotic all
virtually all cases no matter hat the extreme is. Choosing one
extreme over some other is just as bad as choosing another
extreme over some other extreme. [i.e., saying "My extreme is
better than yours" is a destructive statement unless it can be
proved mathematically to be true or beyond all meaningful doubt]
>
> [...]
>> Once the popularity of D = 0 D is dead. That is a fact. Do you
>> want D dead? or do you like playing risky games? If you think
>> D is so great then why would you not want it to be more
>> popular? If D is better then C++ in every regard then why
>> would you not want everyone using D instead of C++?
> [...]
>
> Ah, the good old strawman argument. I never said I don't *want*
> D to be popular. I said that popularity is irrelevant *to me*.
> I want D to grow *by technical merit*, not than by pandering
> to whatever fashion trend the masses are clamoring for today
> that will inevitably change again tomorrow. Popularity is not a
> reliable measure of technical merit.
It is not a straw man. It is fact. I didn't say you wanted it,
you might not verbalize that or even believe that is what you
want, but actions are what counts. If your actions causally lead
to a specific outcome(and all things are cause and effect) then
you wanted it whether you realize it or not.
For example, if a girl has sex with a boy not realizing that she
will get pregnant and it will potentially ruin her life, she has
set up a domino effect and the outcome, while not 100% is
statistically determinable... and if she ignores that she will
become a statistic.
Do you agree with me that if no one uses D in any way shape or
form, by I which I mean popularity(t) = 0 for all t > T, then D
is what we could say is "dead"?
If so then D's popularity is related to it's heath. You can't
argue that and if your logic does not in some way conform to the
constraint above, you will almost surely be hurting D than
helping it.
My point IS NOT that D should just base everything on popularity.
That is not what I'm arguing at all. What I am arguing is that
without some focus on it D is doing far more damage than good and
eventually it will catch up with it. I'm also not saying that D
has 0 focus on "popularity", I'm simply saying that there is a
very significant likelihood that D's lack of focus on building
community is significantly hurting it's growth(growth in it's
capabilities that all D users can benefit from, including you).
>
>> See, it is not that D itself is a bad language, it is that the
>> whole atmosphere surrounding it, how it is managed, is the
>> problem. Some things are done well but others poorly,
>> eventually those things that are neglected will catch up
>> because the community seems to care not one bit about them.
>> The cracks are getting bigger and bigger, I'm sorry you can't
>> see them.
> [...]
>
> To be honest, I've seriously thought about forking D on several
> occasions. I haven't gone through with it yet, for many
> reasons. But if push comes to shove, I'm ready to take it on,
> and I'm pretty certain that I'm not alone.
>
And that alone proves there is something fundamentally wrong with
D's community. Why would you ever even think about that if the
community was properly functioning?
I have not only thought about forking D but writing my own
compiler. The problem is I know I'm not willing to put in the
effort to make it successful because it is just too much work for
me(and I'm real with myself about it). I've had many long years
been wanting a compiler that I works the way I believe compilers
should, take all the short comings of all the languages I have
learned and with all the things I have learned and try to make
something better. But it is a long process because I would go in
to uncharted territory. I don't believe in having to follow the
status quo and I'd solely write the compiler for myself. It would
be a 10-20 year project, an investment I am not willing to make.
Imagine this: Take any aspect of D, be it an audio library, an
IDE, debugging, whatever... imagine it was as far ahead of what
else is out there in the same way it is ahead with it's meta
programming. This is how D should be as a goal. Rather than "Our
meta programming is light years head of everything else but
everything else we do is light years beyond anything else". I
realize it is a pipe dream, but without dreaming reality never
changes.
It's as If D one a trophy for it's meta programming and said "We
won! Time to go home!" and stopped competing in everything else.
I really believe the leadership believes there are only a few
aspects of D that matters like it's meta programming or it's
stability and that everything else is irrelevant. I think they
believe this precisely in the same way that you and others
believe in D: "It works for me"... so, audio people are ignored
because the leadership doesn't do audio, so it's irrelevant do
them. Graphics are ignored because the leaders only use and write
programs and code in text. These things then only get any support
from individuals that say "Man, I love D but I need X" and so
create X themselves. This approach then creates a huge mess for
many reasons(maintenance, integrability, cohesiveness, etc).
I'm not trying to pain the picture that D sucks all around, just
that D could do a lot better in it's weakest areas instead of
essentially ignoring them. Remember, something is only as strong
as it's weakest link. It is tautological. It can't be argued. It
means that if D wants to be strong it should work on it's weak
points and not sweep them under the rug.
More information about the Digitalmars-d
mailing list