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