Hi, Nim is a great tool.
but: 1) When you work on very platform dependent code, you have to manually add a bunch of constants and so on. Maybe the situation could be improved by using commands of the like "gcc -v -x c -E /dev/null" (or similar with other major compilers) to parse the default paths (in dectect.nim) and don't bother the user with so much chore. Wasted time because any official update or deployment cut yourself from the mainstream a bit further. 2) Too picky with variables types. I ended up casting so much in my code (or pending my values with ".intx" it is not even funny anymore. You type a lot. 3) Working with raw memory: easy 99% of the time. The edge case: when you have to play with raw memory. I encoutered a situation where I could not modify the raw memory of my pointer. I rewrote my whole app in C and it worked just fine (easy part, almost copy and paste). I think I've been trapped by automatic dereferences. 4) Compiled program. For the exact same program (line by line translation), nim is asking for 110k bytes (-d:release). Directly written in C: 14k (-O3). For me, here it is. I am not ready for Nim, the "price" to pay is too high right now; but it will become a superb language once you sort those issues out. Cheers!
