For the very first time, Nim has made it to top 50. Congratulations!
Position: 46 Ratings: 0.22%
Wow. Thanks for posting about this. This is amazing.
I actually thought they use just Google for their rankings, but it seems they use far more now. Their methodology is explained here: https://www.tiobe.com/tiobe-index/programming-languages-definition/.
If anyone has the will and time, would be interesting to see how Nim stacks up on each of these search engines.
And Typescript is #49? But why?
Seems like TIOBE is wrong. I don't know exact numbers. But it feels that today every second JavaScript job mention TypeScript.
Tangenitally. I can speak to yes. We are using it inour red teaming (which is emulating adversary's to secure networks). So I'm sure malware writers are too. Since InfoSec is big on python and nobody wants to learn C ( I'd not blame em. I'm trying to get a handle on it myself with Win32 programming).
So Nim may be getting popular for compiled matters. Probably after the use of Golang. I know for what feels like ~2 years or so one prolific guy in offensive security @ShitSecure (twitter) had written a few magnificent articles on using nimlang.
I actually heard about him from nitter prob 3 years ago and marked as something to learn eventually cuz I hate JavaScript. Never did but now here I am today cuz of it's recent uptick in offensive security....
So yea I think so
That repo is labeled "My experiments in weaponizing Nim". And that user gives credit to @ShiteSecure for figuring out the key compilation flags to make Nim useful for certain kinds of attack:
By default, Nim doesn't generate PE's with a relocation table which is needed by most tools that reflectively load EXE's.
To generate a Nim executable with a relocation section you need to pass a few additional flags to the linker.
Specifically: --passL:-Wl,--dynamicbase
So by default, Nim is actually not so good. You have to know the secret sauce. That makes me feel slightly better.
Anyway, I think it's a huge compliment that malware authors see the great utility in Nim. That README also credits yglukhov's nimpy and jnim libraries. People are starting to see the light.
Where I work, there are lots of PhDs who are very smart at specific things, but they are surprisingly timid at adopting new ideas. They are reluctant to move away from C++ unless they see their peers move first. (For example, Nvidia does not support Nim for Cuda, even though I did a successful hackathon project in Nim with a GPU coder from Nvidia. And Google does not support Nim for tensorflow etc.) And management is afraid of any language not supported by a large company. But malware coders use whatever tools actually work best. This might be just what we need to open some doors.
Of course, we also need many, many more great libraries, including some mentioned at
and also more specific libraries like Arraymancer and SciNim.
In the corporate and governmental world there is an enormous amount of old software. Stuff running flawless for 45 years or more. Why change? Why rewrite? Just maintain and extend a bit.
You're probably right. However, Tiobe seems to be based much on search engine queries. If you have a SW that has runs fine for decades, do you do a lot searches for that language?
Looking for a "niche" for Nim to make it "big"
the niche for me was simply competitively create anything, for everything
an appdev's dream language in IMO it has held up to that high bar relatively well in the short time i've been using nim
This is probably linked to exercism.io proposing a challenge: learn a subset of these mechanical languages challenge with Nim being in there.
People are doing a lot of Google queries to learn the language, thus making our position in the TIOBE index climb.
When we know Nim, it is unuseful to look things up (unless through our Nim Manual's bookmarked page). We have also a scarce presence on Stack Overflow.
This ranking supports better old languages that people will look up through search engines queries. It is completely irrelevant today. Just forget about it.
Fortran is not that much old. I know plenty of researchers that uses Fortran due to its parallelism features and HPC libraries.
They consider Nim if a Cobol2Nim tool exists.
I wonder if that's hard to do.