Personally, to me changes to the language seem far less important than (1) 
fixing as many bugs as possible and (2) finishing work on all the initiatives 
already partially implemented: view types, user-defined defaults and init 
hooks, polishing new threading primitives and building upon them.

The only big change which comes to mind but that's not likely to happen any 
time soon is overhauling the standard library to work with view types and 
options/results for error handling as much as possible. The latter is a thing 
of preference, of course.

One other thing, people mainly compare Nim with Python and Rust, and less 
frequently present it as a QOL improvement over C/C++ with almost no 
compromises to possibilities. But I often think that Nim could be a Go-killer. 
Far more capable but probably even better in terms of readability and 
onboarding. What Nim lacks over Go is the stable, easy to use and battle-tested 
set of tools for concurrency and multithreading. That would be a superb goal 
for Nim v2 (or v3...). For a while it seemed CPS could be a great building 
block for it and it probably still is, but from the POV of the not particularly 
involved observer the cooperation between humans is what proves the hardest 
obstacle to overcome.

Reply via email to