Just wanted to mention that there now is a full automatically generated Nim wrapper of Urho3D. See original announcement here on the Nim forum:
Much can be said about Nim. Many of us think it’s much easier to use than C++ while offering the same performance (it compiles via C++) and many powerful features like advanced AST based macros for example.
If you are curious about Nim and Urhonimo, don’t hesitate to talk with us on IRC, #nim on freenode.
I have never heard of Nim before… It seems like a promising language. I will definally look at it and its Urho3D wrapper.
I am just getting acquainted with Nim and so far, I’m thoroughly impressed.
Thanks for the info!
Wow this is impressive gokr!
I’ve looked up Nimrod (well, now it’s Nim) last year which looked like it had the power of C++ but the syntax akin to Python (which I’m all about). This could be an incredible productivity solution for developing games or tools on top of Urho3D without compromise from interpreter speed!
Also can it be run interpreter-style in Urho3D itself or would it make sense to combine this with the runtime-compiled patches and encapsulate the Nim code in a library?
Also, after the announcement we have ported the particle demo (25) and the huge object count demo (20). I also added the F1 (ehm, console doesn’t do much yet I think), F2 and 1-8 keys split out in a separate module sample.nim.
Huge.nim shows from my feeble testing that it seems to clock in almost 2x faster than Angelscript (update avg time) and that its basically the same speed as the original C++ demos (guesstimate a few % slower).
NOTE: For the moment you will not be able to compile huge.nim without a trivial hack in the Nim compiler, Araq will fix.
So… yes, Nim should offer basically the same speed as C++ but with a much nicer language (IMHO).
Can it run interpreted? No, but we intend to explore dynamic reloading of Nim modules. Also, it seems quite doable to make Nim put selected subsets of procs/methods in separate modules that then can be dynamically reloaded on their own. This means, as long as you only modfiy behavior - then all data should persist just fine.
But, again, I don’t know much about Nim…