On Friday, 13 March 2015 at 13:18:03 UTC, Dicebot wrote:
On Friday, 13 March 2015 at 00:20:40 UTC, Andrei Alexandrescu wrote:
A friend of mine needed to complete a small project and thought of using a language he didn't know for it. He already knew I work on D so he considered it alongside Go. He ended up choosing the latter, and documented his decision making process in a few notes that he subsequently shared with me. I'll paste below a sort of transcript of his handwritten notes.

In my opinion it is better to focus on tempting users with D strong bits than oversell it by trying it compete in topics it has inherent disadvantage.

In theory I agree, but I've learned that this is not the way things work. I've learned that the way to "sell" a language is to give (potential) users an immediate reward and the feeling that they can do useful things with the language. D can do all that, but we repeatedly fail to bring this point across.

There is not point in try to compete with Go on topic of simplicity - they have crippled the language tremendeously to get that simplicity. Simple D has no value - I would simply prefer Go instead of it as it has head start advantage in toolchain.

Instead it is better to focus on explaining users that they don't want what they think they want, akin to that Bjarne quote. And don't be afraid to admit to certain users that D is not a best choice for them. It doesn't mean that such valuable feedback should be ignore - there is indeed a lot that can be improved in the learning curve. But trying to fight for user who makes choice with "trendy" and "simplicity" in mind is a battle lost from the very beginning.

This is true. This battle is lost. But a lot of users, even people who are interested in D, shy away from D, because they don't have the feeling that "this is something really useful". We fail to communicate both its general usefulness and its strong points as opposed to other languages. What the big marketing machines behind Go etc. do is to make people feel good about a product (even if it's shit). We should do the same. Only because Google does it, doesn't mean it's a big taboo for us. The fact of the matter is that we have failed to win over:

1. the C/C++ expert nerdy-linuxy crowd
2. the average user

Crowd 1. we cannot win over easily, after all C/C++ are well-established and "high priests" and gurus are usually reluctant to learn something new. Crowd 2. we can win over, yet we have failed to communicate with them, to reach out to them. Most people I know have a look at D's homepage and say "Uh! Hm. Ah, I'll use Python." No, they are not hardcore programmers, they are engineers and scientists. But they are _users_, people who need to write software to analyze data, to create something. We should not ignore them, even if they are not (initially) interested in templates and metaprogramming. Neither was I, when I first learned D.

Reply via email to