By no means I'm not an expert in Nim and have not yet reached 10k LOC I came 
from C# background and very happy with switching to Nim. So I will compare my 
feelings with C#

  * Diversity ++



I think Nim is great in any domain. It's cool that you don't need to switch 
between different languages to do stuff. Templates and macros helps a lot in 
domain specific areas. It's normal in gamedev to have engine side on C++ and 
scripting side on C#/Lua/whatever.

  * Mental load --



Although it's joy to write in Nim and it gives so much freedom ( I'm fine with 
that ) that it's harder then in C# to follow strict guidlines.

  * Code visibility, info hiding, import/export --



After C# it's looks kinda naive. The biggest issue is that while technically 
you can hide some parts of the library from user it's inconvenient. There is no 
internal namespace scope where I can easily separate lib functionality from the 
users code. Again, Nim is not C#, I understand that, but particulary 
organization of code in C# feels easier. I spend a lot of time thinking how to 
organize stuff in Nim ( heck, more time then actually writing the code XD ) 
This is the biggest issue for me at the moment.

In overall Nim is outstanding for me. All problems are solvable and I look at 
them as challenges. But I know at least one C# programmer that dropped learning 
Nim because of last issue I described ( No internal/protected scope )

Reply via email to