Civility

Paul Backus snarwin at gmail.com
Tue Jun 28 15:20:34 UTC 2022


On Tuesday, 28 June 2022 at 09:10:09 UTC, Chris wrote:
> You sure can't blame the lack of marketing for D's relative 
> obscurity. What about all the initially enthusiastic users who 
> abandoned D for technical reasons not because of the lack of 
> marketing? Other small open source languages attract users and 
> contributors without much hype too.

I reject the premise of this argument. D is only "relatively 
obscure" if you compare it to the small handful of "superstar" 
languages like C, Python, Javascript, and so on. The vast 
majority of programming languages never achieve even D's level of 
popularity, and would be overjoyed to have as many users and 
open-source contributors as D does.

> In D's case it's not just the marketing. It's the many 
> unresolved issues the language has (I won't reiterate them 
> here). Harsh criticism of D usually comes from users who are / 
> were really interested in D, not from the random developer who 
> has to churn out silly apps for smart phones. The usual steps 
> after discovering D are roughly like this: enthusiasm > start a 
> project in D > experience / proficiency > slowly discover all 
> the flaws > despair >  no remedy in sight > good-bye.

Sure, D has problems. So does everything else. If your reaction 
to discovering that a technology has serious flaws is to give up 
in despair, you may as well quit computers.

For example: you know what else has serious flaws with no remedy 
in sight? Files.

> We're going to look at the file "stack" starting at the top 
> with the file API, which we'll see is nearly impossible to use 
> correctly and that supporting multiple filesystems without 
> corrupting data is much harder than supporting a single 
> filesystem; move down to the filesystem, which we'll see has 
> serious bugs that cause data loss and data corruption; and then 
> we'll look at disks and see that disks can easily corrupt data 
> at a rate five million times greater than claimed in vendor 
> datasheets.

Source: https://danluu.com/deconstruct-files/

If you dig deep enough, you will eventually discover that 
everything is like this. Programming languages are like this, 
operating systems are like this, even hardware is like this. If 
you think you've found something that isn't like this, it's 
almost certainly because you aren't looking closely enough.

Dan McKinley articulates the same point in his talk, "Choose 
Boring Technology":

> I have noticed that every piece of software obeys this law. 
> When you first start using it, it’s awful. It’s awful because 
> you find all of the problems.
>
> If you are naive, you put a new thing into production, and 
> experience this law in practice. And then you conclude from 
> this that you should use a different thing for the next feature.
>
> [...]
>
> The new thing won’t be better, you just aren’t aware of all of 
> the ways it will be terrible yet.

Source: https://boringtechnology.club/

The only way to find peace is to accept that (a) serious flaws in 
the technology we depend on are an unavoidable fact of life, and 
(b) in spite of that, we can still use technology to do useful 
things and solve real problems.


More information about the Digitalmars-d mailing list