On Saturday, 5 August 2017 at 21:31:49 UTC, Ecstatic Coder wrote:
It is more about marketing. Maybe Go is not a perfect language, maybe not even a good one, but it's sold so good because of a good marketing

So, calling D a "better C++" is a bad advertisement. But if you rename it to '<anything>Script', for example "DatScript" and sell it as "better, statically typed JavaScript dialect which compiles into fast native executables" it will became #1 language on GitHub in no time.


I've suggested exactly the same "easy-to-learn super-powered stronly-typed javascript" and "efficient web server development" advertising approachs to the D leadership, using a more "Python.org"-like website.

Maybe it's because this change would be much too radical, but I've been told that the "Better C++" slogan won't change, despite D could easily be "tweaked" to eat a significant part of Go/Dart's market shares.

And I'm not especially convinced that many C++ developers are currently rushing towards D because of the current website.

For instance, I've personally chosen D *only* it was much better than JavaScript/Node.js, not because it was better than C++, that I still have to use for game and mobile development.

Still waiting that somebody explains me how to _easily_ use D with Unreal Engine, Cocos2D-X, etc... ;)

I know I'm not the general case, but this still proves that "some" C++ developers won't switch to D for long because they are too tied to their ecosystem.

In open source, and indeed in entrepreneurial corporations, the way to persuade people is to create the shift you advocate, at least in a small way, so people can see what your early start could become. Code wins arguments, as they say at Facebook, and not just code but documentation, business plans etc too.

Its work to write it, but on the other hand my experience has been that work is rarely truly wasted. It might seem so at the time, but for example work I did to persuade somebody that didn't want to listen, and where it seemed like I was pointlessly banging my head against the wall, has ended up being very valuable, even in dollar terms a few years later. It's not always rational to be excessively calculating about risk reward in the face of genuine, radical uncertainty when the risk is not that bad.

I agree with you that the benefits of D are not perfectly well communicated to people who aren't C++ programmers looking for salvation. I had a discussion just last week about that, explaining that D isn't just something they mostly fits only large data sets where performance is key. And in particular it's a cultural challenge because people have become resigned to the idea of different languages for different purposes, and to a large extent D doesn't fit the mental schema people have.

Nothing much changes in life day to day, and changes that seem to be big often unfold slowly for a long time before being noticed. The financial crisis unfolding began in Feb 2007 at the latest, but it didn't feel like that to most people at the time.

Similarly, compare D documentation today to that of early 2014 (when I first look at D). Plenty of it was all perfectly clear if you had a more academic training in computing, but if not then it wasn't the friendliest. I tried to persuade one chap who was helping me between jobs to learn D, and he was absolutely terrified of it, to a good extent because of the docs!

And it's also because people are used to complexity being hidden from them and things being made very easy. Since D often involves paying a price upfront to make future things easier, perhaps it's worth bearing in mind that there's a coupling between the degree of development of the tooling and how polished the docs should be. If you make it so easy to learn D that you draw people who are utterly stuck when they hit dependency problems with dub, that may not be ideal either. Ie an implicit question of truth in advertising.

And the situation with docs changed over time. One recent change is thanks to Seb Wilzbach who introduced runnable examples generated automatically from unit tests. If you look at his pull request it wasn't welcomed entirely with open arms in the beginning because the benefits weren't clear (and some other reasons I forgot).

So if you think we should have friendlier docs appealing to non systems programmers, why not write a mock up so others can see. It needn't be either or, because you can have an easy or advanced channel from front page.

And it's worth not alienating those who want to go straight to the meat of things - there's nothing more frustrating than a system that talks down to you or breaks things down into little pieces when you're quite used to slaughtering and butchering dinner for yourself, thank you very much...

I really think there's a limit in how much sense it makes to think about D marketshare against other programming languages.

If you have 30% market share it's very difficult just to hold onto it, let alone grow. At this stage in the development of D it really doesn't need to defeat any other language, but it just needs to become a little more appealing to those who are already receptive to it, maybe already use it, and to the stakeholders that they need to convince to give it a try. Most programmers in enterprises are not in charge of technical choices of this nature - we need to have a very high appeal to the ones who do and who would want to use D if only they knew because then social factors become less important. If you look at who has adopted D and how, that seems to me how this has unfolded.

I think C++ programmers in finance are likely to be receptive to using D over time. There's a lot of FUD put forth on this topic, but in the end if something leads you to better results then people will adopt it over time, slowly in the beginning, and then faster. You haven't got much choice because if your competitors are more nimble than you think have a problem. Similarly it seems than Ethan at Remedy Games has a similar perspective on his industry.

The better Go and Rust do the better it is for us because it opens up thinking about choices and in general they are quite different languages serving different needs (of course there is overlap).

It's a much easier case to make to say we should use a modern language, review them all, and sometimes the best answer will be D than to say we should move from whatever it is we are used to to this "new" language nobody has heard of.

Remember that social media representation of reality isn't identical with the world itself. The web guys talk, but enterprise code is a big market and people there often don't talk in public, maybe are forbidden from doing so. Biggest D commercial users I have talked to at dconf don't say much in public because they have a business to run. On the other hand I have my doubts about whether some of the biggest and most academic in a certain sense naysayers of D on this forum use the language much at all. Personally I have some skin in the game - I might be wrong in my judgements about some things, but if I am, I'll bear the consequences (but also the upside if I am right).

Downloads of dmd have gone bananas, and I think that started before Netflix announcement. When will D take off? It's happening right now. Compound growth doesn't look like much in the beginning, but give it time. (years, but that's how long it takes).

Who is going to be the big sponsor of D? It's my belief probably there won't be a single big sponsor, and that this is probably a good thing. It's a very ambitious language covering an immense breadth of domains. How is it possible for one firm to be a sponsor of that nature without distorting the unfolding of the language?

What's better than one enormous sponsor? Lots of sponsors, of varying sizes, and covering various different domains. That's much less brittle and more balanced, and you'll get much better reach and adoption that way.

And I also think that the generalist nature and breadth of the community is one of the most appealing aspects in an age where everything became hyper fragmented, siloed and specialised.

Success on a grand scale brings its own challenges. Some day we may be reminiscing about the good old days before the invasion of the careerists. That's a way away, but it's worth recognising also the benefits of where we are today. It's no longer true that there are no jobs in D, but for the time being people learn D because they care about technical excellence, not yet because it's a clever route to get a great job..

Reply via email to