Agree with BPR mostly.
For me OOP is not really a big deal compared to V1.0 and in that regard Crystal
has the same drawback as Nim.
I think the obvious trade off with the more aggressive type inference is the
much slower Crystal compiler. Also you can do things like this in Crystal which
I don't like:
a = "hello"
a = 1
I've tried Crystal and I mostly enjoyed it.
Positives have been mentioned about Crystal in this thread I think the main
positives for Nim are, has much better FFI, much more powerful macro system,
better package manager, better control over the compiler, probably better stack
trace, and probably better tooling. I didn't mention javascript backend because
Typescript/Flowtype/Clojurescript/Scala.Js/Purescript/Bucklescript etc have far
better tooling than Nim so I personally don't see Nim as attractive for doing
javascript target stuff.
I did feel the Crystal documentation is better organised, more extensive, and
easier to consume.
V1.0 for Crystal is promised at the end of the year but I'm fairly doubtful but
its nice they have a roadmap with goals. But basically has the same major
drawback as Nim at the moment which is no V1.0.
Kotlin will probably be a big mover now with Google backing it in Android and
also that it will have LLVM backend soon. The IDE is great for Kotlin. The
compile times are poor like Crystals. Its something you cannot ignore because
compile time was a big part of Go's success. Nim tells a pretty good story in
this regard.