Why D is not popular enough?

Charles Hixson via Digitalmars-d digitalmars-d at puremagic.com
Mon Aug 1 11:21:05 PDT 2016


On 08/01/2016 09:37 AM, eugene via Digitalmars-d wrote:
> On Monday, 1 August 2016 at 15:31:35 UTC, Emre Temelkuran wrote:
>> For years, i was travelling along Golang, Rust, Perl, Ruby, Python, 
>> PHP, JScript, JVM Languages.
>> Lastly Crystal Lang and Nimrod, Julia, Haskell, Swift and many more 
>> that i can't remember.
>>
>> I'm 24 years old, my first lang was PHP and VBasic then C,C++ and i 
>> first heard about D after 2005 when i was 14-15 years old.
>>
>> I always ignored D, i prejudiced that D failed, because nobody were 
>> talking about it. I decided to check it yesterday, it has excellent 
>> documentation, i almost covered all aspects. I think D is much better 
>> than the most of the other popular langs. It's clear as JScript, 
>> Swift, Julia and PHP, also it's capable enough as C,C++. I think D 
>> deserves a bigger community.
>>
>> Why people need NodeJS, Typescript etc, when there is already better 
>> looking lang?
>> Everyone talking about how ugly is Golang. So why people are going on 
>> it? Performance concerns? Why languages that are not backed up by 
>> huge companies are looking like they failed?
>
> maybe another reason is that people who tried to use D still think it 
> is unstable
I have never experienced D as being unstable.  I have, however, 
experienced problems using various libraries with D.  Whenever you need 
to use a foreign library you invite problems, but D wrappers around 
libraries have a habit of showing up and then not being maintained.  
THAT has caused me problems...enough problems that if I don't need the 
performance I'll pick Python.

As for D1 being a failure...that depends on what you wanted to do with 
it.  Until it started being influenced by Tango I was quite pleased, and 
even Tango wasn't all bad.  It had a few good unicode tools that haven't 
yet been incorporated into D2.  D2 I'm less satisfied with, though that 
may just be a rosy-glasses memory of D1.  Most of my needs aren't fancy 
compile time techniques but rather run-time techniques.  (I did mention 
Python as the alternate rather than C++.)  But what the best language is 
depends a lot on what you are doing.  To talk in terms of other 
languages, Objective C is a better language for my needs than C++.  It 
isn't really because of the commitment to 16-bit unicode, but outside of 
that... So in either version of D I have mixed uses of 8-bit unicode and 
32-bit unicode.  D seems to handle this better than any other language.  
And it's got lots of other nice features.  I love garbage collection, as 
I hate memory management.  I'm less attracted to ranges as implemented 
by D, though I like them in Ruby and Python. A lot of this has to do 
with what gets done at compile time and what gets done at run time, 
though, so for me that just means that I'd rather avoid needing to use 
ranges when I need speed.  For my purposes the template language is 
overblown, and I'd be satisfied with a much simpler form with some 
run-time supplementation...but different people would like different 
simplifications even among those who want it to be simpler.  Traits, 
e.g., I find indispensable (especially isPOD) and I need to be able to 
test THAT at compile time, but most people who talk about templates 
don't even mention traits.

Many languages become significant when there is an popular application 
or library that depends on them.  Others grow slowly. There *is*, 
however, a network effect, so that popular languages tend to become more 
popular, and this is often driven by a "niche" application (a place 
where there is no competition, so everyone who wants to work in that 
niche must use that language).  An example of this, if you go back to 
before it was popular, is JavaScript.


More information about the Digitalmars-d mailing list