Civility

Ola Fosheim Grøstad ola.fosheim.grostad at gmail.com
Fri Jun 24 09:03:48 UTC 2022


On Thursday, 23 June 2022 at 18:02:13 UTC, Don Allen wrote:
> I'd also like to take a moment to address the "why isn't D more 
> popular" question. Popularity is not necessarily an indication 
> of merit.

If you try to understand why languages got popular then you also 
understand the «merits».

Perl got popular because it provided the unix tool set in a 
language that made it, at the time, superior for quick and dirty 
text manipulation as you did not have to reach for many different 
utilities. It was a 99% solution for that purpose.

Python got popular among system developers because it was a big 
step up from other scripting languages, meaning, you got to use a 
«real» language for scripting. It got popular among educators 
because you only need to know a few concepts to get started and 
can expand to more advanced concepts gradually and it had a big 
eco system of libraries/quality editors (and it is increasingly 
replacing Matlab). And CPUs are fast enough now so many (most) 
tasks can be done well in Python. For many domains it is a 99.9% 
solution that cuts development costs.

Php got popular because it was easy to mock up html with small 
amounts of scripting, it got more popular because it was shipped 
with web servers, and from there on it had installed base. Php 
basically got popular because other solutions were more difficult 
to get into at the time.  It is a 99% solution for simple HTML 
sites.

We can go on and on, with C++ and many other languages. It all 
come downs to being a 99% solution for something specific. Perl 
and Php are not good languages, but they had clear merits in 
their use context. C++ was loathed by many academics as a poorly 
designed mess of a language. Most academics would also say that a 
statically typed language is preferable to a dynamic one, yet 
universities still adopt Python (and that is a sensible choice 
given Python's other merits).

It is not quite clear for what field D is a 99% solution and what 
the ideal use context is, and by and large it comes down to the 
last 10% missing or being «wrong» or being something you have to 
add yourself. Some things come down to small eco system, some 
things come down to very personal opinions on language design, 
some things come down to implementation choices or consistency 
issues.

If you take every single application area and ask yourself what 
language provides the best percentage of suitability (including 
lowest development cost) then you end up with different 
languages. For many smaller languages the dominant issue is that 
another (perhaps less enjoyable language) provides a higher 
percentage (lower cost and better coverage of needs).

Since it isn't clear what D is meant to be suitable for, people 
will have different ideas about what those missing 10% actually 
are as they come from different backgrounds and have different 
use contexts in mind. Yet, most agree that some percentage should 
be added/modified.

The only way to resolve this is for the core team to narrow down 
and announce clearly which application area the language is 
supposed to cover really well.











More information about the Digitalmars-d mailing list