Recs.
Updated
SpecsUpdate
Pros
Pro Garbage-collected
You don't need to deal with all those manual memory allocations, Nim can take care of it! But also you can use another GC, or tweak it for your real-time application or a game.
Pro Easy to integrate with another languages
You can use Nim with any language that can be interfaced with C. There's a tool which helps you to create new C and C++ bindings for Nim - c2nim. Also you can use Nim with Objective C or even JavaScript (if you're compiling for these backends).
Cons
Con Lack of cohesion, poor readability
Enabling users to write code however they want has the downside of making it possible to make a large codebase contributed to by multiple programmers extremely inconsistent. There's nothing to distinguish a macro from a function, or a method from a variable read. It adds to the cognitive strain of reading code significantly.
Con Extremely opaque control flow, makes debugging a nightmare
It takes all the problems with debugging C++ and turns them up to 11. Nearly anything could modify the control flow and end up throwing an error. This becomes extremely annoying when working with libraries that may use different conventions to yours.
Con Con artist pushed useless language
False hype Python-like language used to generate cash by tricking Python users. Nobody need this language, not even on TIOBE index, but it came out 2008. Bad for even hobby, others much easier to learn and use.
Recommendations
Comments
Flagged Pros + Cons
Pro Really cross-platform
The same code can be used for web, server, desktop and mobile.