On Friday, 16 March 2018 at 19:15:16 UTC, bachmeier wrote:

The point is that there is no "fundamental" reason someone using a computer uses a qwerty keyboard. If you are to ask "what makes the qwerty keyboard the best choice for someone using a computer?" you are not going to have any luck finding the answer (or worse, you will find an answer after sufficient data mining). Similarly for programming language usage. There may have been perfectly good reasons for the early adopters of D, but it's not going to help to look for features of the D language that fit certain cultures better. It may be as simple as someone getting introduced to the D language because of a typo in a Google search.

Your "fundamental" reasons are more like "technical" reasons than "economic" reasons.

Should a large company buy qwerty keyboards or some other kind? Should a worker invest time in learning how to use a qwerty keyboard or some other kind? Those are questions of economic decision-making. The question that is relevant to decision-makers is rarely about "what keyboard layout is best." Rather it is, how much marginal benefit is there in investing time in learning to use a qwerty keyboard vs. another kind and what do I have to give up in order to obtain that benefit. If the marginal benefit of learning the standard keyboard layout is larger than some other kind and the cost is approximately the same, then everyone (except some iconoclasts) are going to learn qwerty.

This sort of analysis applies to programming languages in exactly the same way. If I'm a company, do I build products using language X or language Y. If I'm a person, do I spend N hours learning language X or language Y (or do the next best thing you can do...March Madness?). What if I already know language X? Then it's pure marginal cost to learn language Y. C programmers don't just switch to D or Rust or whatever the moment they see it has some "technical" features that are better. That's not what we observe. The marginal benefit has to exceed the marginal cost.

Reply via email to