Very new to Nim, but not new to marketing. Haven't read the whole thread, but one issue stands out for me.
For small market entrants, concentration of forces is everything. You have to focus on a specific niche you can dominate - a niche too small for the big gorillas to compete in. For languages, three of the most salient new entrants are Julia, Go and Elixir. * Julia has a clear identity: fast, interactive numeric computing. * Go has a clear identity: scalable microservice servers. * Elixir has a clear identity: massively scalable failsafe websites. Each language was designed to solve a specific pain-point. What this means is that each community has built a compelling ecosystem of mature and useful libraries around their core domains. If you are active in these areas and you want the fastest and easiest path to your goal, these languages are becoming the obvious choices. They grew because for many it was worth taking the risk and going with an emerging language rather than trying to re-create all that functionality in a more general language. Nim has a much more nebulous identity (pun intended). It rather boils down to " _we are more fun to use and a bit better at everything_ ". There is no area where the ecosystem provides a compelling advantage over the alternatives. In each domain there is a competing language that may be less fun to code in, but which has a far more mature ecosystem of libraries and experienced developers. For most organisations, the undoubted qualities of the language are simply not compelling enough to justify a risky change. Library coverage is patchy, and most are personal projects with little to no community support. There is a miniscule pool of developer talent to draw from, training materials are thin and when you get stuck you can't simply google for solutions on StackExchange. As a result, it seems that most users are people like me - with a personal project that allows freedom of choice. Nim sits nicely between the unproductive and unsafe system languages like C & C++, and the verbose and boring GC corporate languages like C# and Java. This is a sweet-spot that's perfect for my current project so I'm prepared to take a gamble. If I was an organisation, I would almost certainly have chosen Go - there is a clear path to a decent result. But Go is ugly as sin, and I know I'll have more fun and produce a more elegant and performant solution with Nim. TL/DR - I think the community should have realistic expectations. Nim offers unique advantages for anyone who needs to write safe and performant code, but the foundation is simply not there for explosive growth. It seems to me that all you can really do is focus on improving the language and filling obvious gaps in the libraries - ideally bringing key projects into the official distro. And with luck, eventually a community will coalesce around a specific domain that propels Nim to prominence. Who would have thought in 1991 that Python would eventually dominate the Data Science domain? It hardly even existed as a discipline when Python was conceived. But it's a reasonably well-designed language that eventually found its niche. As a general language with no corporate backing, it took a couple of decades to find its feet. Nim is a better language than Python, so it has a pretty good shot at finding its niche in the longer term. But if not, it is much appreciated by many thousands of individual developers and small businesses, and hopefully that is reward enough for all the hard work the core team have invested?
