The good thing with Nim, is that it lets you the choice to do what you want. It depends on what you do, if you are really into drivers or system programming or assembly, knowing a little C doesn't hurt (and do the heavy stuff in Nim).
It is quite easy in Nim to : * wrap or interact with c or c++ in nim (without having to know much about C or C++, std/winlean and std/posix are great examples) * handle yourself the memory without the GC (and shoot yourself in the foot like other program that let you handles raw memory) * do system programming or low level programming Personally, I've learned much more by using Nim concerning my operating system (because I am more productive, so I don't waste my time reinventing the wheel (C) or learning a complex language (C++)). In fact, IMHO, I consider that C++ abstract a lot more than Nim do. However, it won't force you to learn memory management if you don't want to. No prior knowledge of other programming language are required to learn and use Nim. Only to carefully read the manual ;-)