Nim programming language finally hit 1.0
Ola Fosheim Grøstad
ola.fosheim.grostad at gmail.com
Mon Sep 30 10:13:13 UTC 2019
On Monday, 30 September 2019 at 09:21:30 UTC, Chris wrote:
> D is theoretically in a good position to do a spring cleaning.
> It has loads of features. Take what really works (battle-tested
> features), drop all the half-baked features that only a
> minority really uses. Improve the stability of the language and
> set up a proper ecosystem (e.g. out of the box compilation for
> various platforms / architectures).
In theory, yes, but in order to make it easy for open source
contributions to be made the compiler would have to be made
modular and basically rewritten from scratch.
A spring cleaning should not only focus on the language itself,
but focus on attracting new contributors.
Quite frankly, a higher regard for basic computer science would
go a long way... I think the Rust community has benefitted
greatly for taking the field of computer science very seriously
(perhaps even a bit too far in that direction, but it builds a
very solid group identity).
> 1. Take D's great features that are battle-tested
> 2. See what is not strictly necessary and drop it (dead
> weight), i.e. figure out what programmers need 90-95% of the
> time and don't pollute the language with features you only need
> in the remaining 5-10% of the cases.
> 3. Set up a sound and stable ecosystem
>
> But then again, I fear this will never happen.
It won't happen, and it would only succeed if you focus on a
carefully selected set of use cases. Which basically has been D's
main problem since D2. D1 had the advantage of being a simple
upcoming alternative to C++, which at that point was a niche with
no contenders.
Today, you have to provide some use cases where the eco-system
has next to no competition and where it excels. There are
contenders in most niches... at that point the eco-system is no
longer optional...
It could be Linux. It could be embedded. It could be games
development. It could be scientific computing. It could be web
development (although in that case the language has to be made
more forgiving).
It cannot be iphone, android, database-integration or any other
area where the eco-system is incredibly expensive to both build
and maintain. (That includes Python's scripting niche, despite D
developers saying that they prefer D over Python for scripting
tasks.)
You really need a niche to grow from to get that ecosystem going.
Go is a very good example of this. They kept the language small.
And the "owner" Google decided that it was primarily good for
writing web services and put a lot of resources into the runtime,
not the language. The Go language is not a lot better for
writing web services than other languages. The runtime and
ecosystem in combination with the basic language is what makes it
a strong contender in that space.
TypeScript, same story.
It is very difficult to make a sales pitch for a language if it
does not have an ecosystem that makes it a strong contender in at
least one niche. After 20 years... that becomes a problem. Even
if the language had been perfect, that lack of a niche where you
are a strong contender is problematic.
You see this with Kotlin too, it is now a strong contender in the
Android niche. That clearly makes a big difference in how the
language eco system evolves...
More information about the Digitalmars-d
mailing list