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