What do you think about using Nim in place of Java, C#, and legacy Delphi for enterprise software development?
It looks for me as a technology very interesting for the small business market, where there are no resources to rent or invest in hardware and expensive software for huge processing with Java hell etc.
Delphi has now the ability to run its code and GUI's on multiple platforms. In a study Delphi had 70% of the speed of Microsoft visual c++ compiler. But Delphi's compiler is lightning fast, it is almost like python in that sense. Delphi also has an amazing RAD development package and is easy to learn and use. The downisde is that it is not open source and very expensive. So Nim gives more speed, is free and open source and has the metprogramming abilities that is hard to beat. Nim's biggest weakness IMHO is that it does not have easy to use RAD GUI builders for Windows, Mac OS, and iOS/Android. There is also very little marketing for Nim.
BTW I found this excellent talk where the speaker argues why certain programming languages are mainstream and others not https://www.youtube.com/watch?v=QyJZzq0v7Z4
That is true. Even though most programmers can easily migrate to Nim, the path of least resistance is to use something that is already popular.
What about embedded systems and micro controllers? I could really see this as a place where Nim might be able to compete with the big boys.
I would advise against it unless you can pull your own weight yourself.
Just the sheer amount of libraries that @yglukhov had to write himself puts me off from adopting Nim for anything that needs to run in production.
Delphi has now the ability to run its code and GUI's on multiple platforms. In a study Delphi had 70% of the speed of Microsoft visual c++ compiler. But Delphi's compiler is lightning fast, it is almost like python in that sense. Delphi also has an amazing RAD development package and is easy to learn and use.
Nim is far ahead of Delphi in portability, syntax efficiency, and license freedom. I don't see Delphi in any popular benchmarks. I'd like to see specific numbers on compile time, static executable size, CPU performance, server scalability, etc.
Qt Studio with closer Nim integration would be a lot better RAD than Delphi...
Bonjour,
je suis à la retraite , j'ai bien compris le problème , j'arrive de la grosse informatique de gestion , et j'ai aussi travailler sur des pc en c/c++ mon problème est de trouvé un exemple concret qui montre comment fonctionne au trvers d'une application simple mais dont les principe ce retrouve à peu près partout , par exemple saisie d'une adresse avec affichage des lignes , mise à jour , avec les traitements raditionnel enfin ce dont on a besoin pour faire de la gestion .... cela permet de d'apréhender beaucoup de concept , donc je me suis mis la dessus , afin d'avoir un exemple , pour le moment j'utilise Gintro (gtk) très bien fait , et je me suis servi d'une base (exemple) , mais après j'aimerai aussi tester le natif une autre option " Nim / iup ".... et le mettre a disposition , j'espère avoir quelqu'un qui me relira (le code pour que cela soit propre mais le langage a une forte tendance a rendre le code propre) @bientôt
I'm retired, I understand the problem, I come from the big computer management, and I also work on pc in C / C ++ my problem is to find a concrete example that shows how works over a simple application but whose principle is found almost everywhere, for example typing an address with display lines, update, with the radial processing finally what we need to do management .... it allows to apprehend a lot of concept, so I put myself on top, to have an example, for now I use Gintro (gtk) very well done, and I used a base (example), but then I would like to test the native another option "Nim / iup" .... and put it at disposal, I hope to have someone one that will read me (the code so that it is clean but the language has a strong tendency to make the code clean) @soon
[siloamx]
je vais fournir un exemple de saisie de formulaire il y aura assez de condition pour faire un developpement
I will provide an example of form input there will be enough condition to make a development
Has anyone thought of using Nim with Lazarus LCL or Delphi's VCL?
there are several problems here:
The first two are feasible with the new destructors. I am writing a library which re implements Delphi strings and dynamic arrays in Nim.
The last one is the main problem here. Delphi and freepascal have their own calling convention register in Win32 mode which is only fully supported by C++ Builder and is incompatible to fastcall in other C compilers (there is a mode in gcc which works for up to 3 parameters) . Compiling Nim to C++ Builder is a constant point of frustration. And still you would need to translate the C++ headers to nim (and c2nim does not work here, because C++ Builder has many extensions to make it compatible with Delphi)
So to get it running you have to write a layer in pascal which uses cdecl or stdcall and exposes the whole VCL - for everything you want to access from Nim.
Another possibility would be to wrap the Delphi controls etc in OLE Automation interfaces - but again a lot of work.
So currently you can use Nim from Delphi, but it is hard to use Delphi from Nim.
So to get it running you have to write a layer in pascal which uses cdecl or stdcall and exposes the whole VCL - for everything you want to access from Nim.
How easy is this? Can it be automated?
you can use https://github.com/ying32/nim-vcl which uses https://github.com/ying32/govcl, while https://github.com/ying32/govcl is based on Lazarus LCL as https://github.com/ying32/liblcl says.
BTW, is there some bug in forum.nim-lang.org? The forum often puts old thread on the top, even there is actually no new reply. For example, this is the first 3 posts I am reading
NimConf 2022 - Saturday, October 22nd
Tips on how to avoid Nim pointer instability bugs?
Nim for enterprise software development
BTW, is there some bug in forum.nim-lang.org?
Yes and no, spammers reactivate old threads and when removed the thread remains up in the listing.