Nim programming language finally hit 1.0

IGotD- nise at nise.com
Mon Sep 30 11:05:58 UTC 2019


On Monday, 30 September 2019 at 09:57:59 UTC, nkm1 wrote:
> On Monday, 30 September 2019 at 09:21:30 UTC, Chris wrote:
>> D is theoretically in a good position to do a spring cleaning. 
>> But then again, I fear this will never happen.
>
> But the big one is @nogc and all its associated machinery. This 
> is the killer, the biggest source of all the mess. And getting 
> rid of that is not going to happen. Instead you'll see more and 
> more stuff designed to support @nogc. Complaining about it is 
> useless. So I personally don't complain, even though I 
> disapprove of this course and consider it the only real 
> strategic mistake in D.
> This is, of course, assuming that maximising the number of 
> users is the strategic goal. OTOH, all these "f... off, don't 
> whine, do it yourself" on the forum suggest that it's not 
> actually such an important goal. As Adam Ruppe mentioned, more 
> users, more problems. Which is fair enough, so indeed why 
> whine? It just annoys people and provokes trolling.

I though this thread was about Nim. Nim hit 1.0 which I think is 
great because we need alternative systems languages. Instead this 
thread becomes some kind of panic for the D community because Nim 
advances and many think D doesn't.

The whining is good because it shows that people use the 
language. What I think is obvious is that many posts seems to 
complain about the something undefined or that D hasn't become 
more popular in general. It would be easier if you were more 
specific about the the deficiencies of D.

A lot of negativism while C++ is committing harakiri. One obvious 
future of D is services inside Linux embedded systems. Recently I 
was working on a project with web client SW inside a Linux 
system. The project used C++17 and the code was horrible (also 
from an aesthetic point of view which cannot be solved), 
unmaintainable with concurrency bugs waiting to happen. Also 
C++17 doesn't come with any obvious libraries for this so you 
have to hunt these down too with licenses that fits and these 
libraries are often horrible.

I did a small test and wrote a portion of the the service in D 
and the difference was astonishing. First D offers more and 
better libraries out of the box and addition to that D has Vibe. 
The code became much more readable and consistent. Memory 
leakages are gone because of GC (don't hate GC, it is great for 
most use cases).

Some language is going to take that place from C++ and it could 
several and D is placed in a pretty good spot here. Nim terms of 
libraries Nim is also a C++ replacement for these kind of use 
cases, however what I've seen is that the libraries/interfaces 
are more immature. Rust is the most competitive contender but as 
complicated Rust can be D can really be an option here. Most 
companies want a solution quickly and with good quality and D 
could provide this fast path. For my next project, I will suggest 
using D instead for those kinds of services.

I don't mind GC that much but removing GC from Phobos isn't bad 
either so the priority is not that high for me. Could someone 
please explain why @nogc is a priority. What I think is one high 
priority is to get reference counted GC in D because that opens 
up D for the performance crowd who do not want stop the world GC.

Look at the possibilities instead.



More information about the Digitalmars-d mailing list