How do you use D?

Joakim dlang at joakim.fea.st
Wed Jan 3 11:13:04 UTC 2018


On Wednesday, 3 January 2018 at 10:29:05 UTC, Ola Fosheim Grøstad 
wrote:
> On Wednesday, 3 January 2018 at 09:56:48 UTC, Pjotr Prins wrote:
>> average ones. And D must be there. Similar to the Haskell and 
>> Lisp communities we have the luxury of dealing with the best 
>> programmers out there.
>
> This attitude is toxic

Not necessarily, it all depends if thinking you're the best leads 
to taking your eye off the ball of improving and acknowledging 
your problems, which I see little indication of here.

> Haskell might attract programmers who are more interested in 
> math, but in practical programming formal math is only 1% of 
> what you need (99% of your time is not spent on things that 
> require deep understanding of math).   I don't see any evidence 
> of Lisp programmers being better than other programmers either.

Agreed with much of this: they may be better at various things, 
but those things don't matter much of the time.

> Good programmers aren't stuck on any single language and will 
> pick the tool best suited for the job at hand.  Good 
> programmers are also good at picking up new languages.

And who do you know who does this?  While I myself have espoused 
the idea of the best tool for the job in this forum, 
realistically, other than a small handful of coders, when does 
that ever happen?

I recently read some article linked off proggit that stated the 
reality much better: programmers learn a language that suits 
them, then use it everywhere they can.  Ruby programmers can't 
write an OS kernel, so they don't bother with that.  They may 
dabble with a few other languages, but unless forced to by a new 
job or project, they stick with what they know.

Given how much effort it takes to know a language platform well, 
not only the language itself but all the libraries and their 
bottlenecks, and most programmers' limited motivation to pick up 
new tech, that is the only approach that makes sense for the vast 
majority.

>> Hyped languages are for suckers.
>
> Hype leads to critical mass, which leads to higher productivity 
> because you get better tooling, better documentation (including 
> stack overflow), better libraries and better portability.

Yes, but if you're only hyped because you were stowed away on a 
popular platform, ie javascript in the browser, or are easy to 
learn, Go from what I hear, then the technical limitations of the 
language put a ceiling on how high you can go.  You'll get to 
that ceiling faster, but then you're stuck there.

> But you don't need lots of users to get hype.  You can focus on 
> a narrow domain and be the "hyped language" within a single 
> realm.

Another way to get stuck, you're highly specialized to a niche 
and can't break out.  I'm not knocking this approach- it has 
worked well for many languages nowadays- it's just not what D is 
going after.

> The only time where it is an advantage to be small is when your 
> language design is changing. Once the language design is stable 
> there is only disadvantages in not having critical mass.

And since when has the D language design been stable? ;) I don't 
think any language can call themselves done changing these days, 
look at how often C# has had to update itself and put out major 
versions.

And who's to say D doesn't have critical mass?  I'd say 100-200k 
users (my math based on the chart below: 2k downloads/day of dmd 
X 60 days between major versions + ldc/gdc and external 
downloads) is a significant market:

http://erdani.com/d/downloads.daily.png

It's not hyped or popular, but you can leverage that base to get 
bigger, particularly since you didn't sell out and specialize to 
get that base in the first place.


More information about the Digitalmars-d mailing list