This talk has a pretty good part about how most popular languages got popular: [https://www.youtube.com/watch?v=QyJZzq0v7Z4](https://www.youtube.com/watch?v=QyJZzq0v7Z4)
To summarize, according to the talk, there are 5 major ways to popularly (top 10): 1. Killer App: C, Ruby, PHP 2. Platform Exclusivity: JS, Obj-C, Swift, C# 3. Quick Upgrade: C++, Kotlin, TypeScript 4. Epic Marketing: Java 5. Slow & Steady: Python I think Nim right now is doing a little bit in 3 out of 5 directions. 1\. Killer App: Nim has the ability compile to both JS and Native allowing same code. If only Nim could do this it would be really cool, but Node/JavaScript can do this as well. Nim needs to find some thing else. Nim can interface between c/c++ and other languages. The FFI is really good. Is this enough for a killer app? 2\. Platform Exclusivity: Nim is not doing anything here. There is no only Nim platforms and probably never will be. 3\. Quick Upgrade: Nim is kind of a quick upgrade from Python and maybe C++. But it does not feel quick "enough", but it's there. Languages like Kotlin and TypeScript are much quicker. 4\. Epic Marketing: Nim is doing nothing here. No one is spending a million dollars on Nim ads or Nim conferences. 5\. Slow & Steady. The slow community path. This is probably where Nim is growing the most right now. But not sure its fast enough. I also think that most languages have this path as well. This path is way too crowded.