Another (more experienced) answers from others will follow:
Does standard library is stable for usage in the enterprise?
Unless you do something magic with code for the project, IMO, it's safe
As I understand, Nim allows to use it's GC to manage memory automatically, or to control it manually, when it needed (for Native, C/C++ targets)?
Yes, Nim have traced and untraced reference. Traced reference work with GC while untraced would have to be managed manually.
Is it realistic (and how to difficult in practice) with Nim to maintain a single code base in the project, who particulary requires access to both levels (low-level: allow to manage memory by developers, usage a static datatyes, bit operations and etc.; hight-level for faster development of resource-inpedendets parts)?
This is relative on how much the complexity, one of viable way to do it by dividing it per module.
Also critically availability cross-language support via usage of dynamic modules (dll, dynlib, so): use it in Nim's application and export some functions (generate own dynamic module) to dll/so/dynlib.
Nim has easiest CFFI to work with. But of course you must be careful about GC when using functions from dynamic libs.
Is there successfull stories of individual developers/companys of usage Nim for real/huge projects (enterprise, gamedev, web or something else)?
Reel Valley (facebook game)
Many thanks for your answer!
Is it a port for android of Real Valley that you noted?
Can I ask, wich engine was used for this project? I'm looking for a good cross-platform multimedia engines, too. I'm found gotod bindings for Nim (but I haven't HTML5 export, yet) and Frag (but it's last activity on github about 1y.ago).
Also, does sombody knowns a good visual debugger for Nim?
Hey r3d9u11,
Reel Valley was written from scrath in Nim and targeted all Facebook, Andorid and iOS from scratch. You can read the making of here.
What do you mean by multimedia? GUI or something else, Godot is more like a game engine, for games you can check:
- Nimx (the core of Reel Valley: https://github.com/yglukhov/nimx)
- Godot: https://github.com/pragmagic/godot-nim
- Unreal Engine: https://github.com/pragmagic/nimue4
- SDL2: several links: https://github.com/nim-lang/sdl2 and https://github.com/Vladar4/sdl2_nim
- Frag and Zengine (pure Nim: https://github.com/zacharycarter
For GUI: Nimx, Nuklear, QML bindings or the ongoing GTK work by Stefan.
Regarding companies using Nim, you have a list there: https://github.com/nim-lang/Nim/wiki/Companies-using-Nim
Also you can check a feedback from Windgo in the forum: https://forum.nim-lang.org/t/3456#21617. It is a company selling smart home devices powered by Nim.
Does standard library is stable for usage in the enterprise?
No.
The "enterprise" had reluctantly transitioned from their legacy systems only because COBOL programmers were dying of old age. IBM / SAP / Oracle / etc were pushing Java, and Microsoft was pushing BASIC and C# (especially in colleges / tech schools), so that's what they invested in for the new generation of developers. After that generation dies off, maybe they'll try "new" hipster language like Python. :P
Nim isn't for the "enterprise", which makes programming language choices based on how easy it would be to hire replacement programmers. At least not yet.
Nim isn't for the "enterprise", which makes programming language choices based on how easy it would be to hire replacement programmers. At least not yet.
That's very interesting. It makes sense because of less bootstrap time, but if the company has people who are so thick headed that they can only code in the languages they already know, the company has another problem. That reminds me of Paul Graham's Hackers & painters: big corporations suck. the ones who survive only suck a little bit less.
I wouldn't say that "corporations suck" - they are a means to an end. They need to make things work in a cost-effective and dependable way, without making themselves dependent on genius. Average-IQ programmers are the base, the bread and butter of the industry, and so they are the standard.
Nim is a really beautiful language. It can be very scary...