To answer your question: it is a struggle because it is hard. The only three "recent" languages that enjoyed a real widespread success are rust, go and typescript. Three of them were backed by a big and renown company, two of them by 2 of the 5 biggest tech companies in the world. And they succeeded in a big part because they arrived at the good moment: when people experienced with c/c++, python, javascript, java wanted to find something more safe, more distributable, more clean, more new.
However that do not mean that nim can't have a shot at it, it has a lot of to give as a language. And the fact that so much code is able to be done by so few people is in itself a sign that's a very good language I don't think that the forum is a real issue. We could discuss of the resources used to develop it or the issues and limitations, but it is good enough for the current size of the community. I would complain more about the harsh comments I read sometime: it has never been directed to me, I seldom come here, and usually not logged, but I've seen many time comments that are quite harsh, and honestly people, even lurkers, don't want to deal with that. For a community to form it has to be very welcoming to newcomers, even if it can be boring or annoying to repeat itself against for the 100th time, or if they propose changes that are counter productive, or even if they are not nice themselves. About of the communication, another issue is the lack of news. It's not that there should be a news for every bug corrected, but looking at the nim blog or hacker news, there are not so many news posted. And it is known that the more you talk about a topic, the more it is present in the mind of people and in this case the biggest chance to get newcomers (but please don't be an annoying evangelist) >From a more technical issue, the biggest block to increase the community seems >to be the on boarding experience, what I call the "time to first running >code". There is a lack of documentation, tutorial and even more tooling that >add friction when discovering nim. It's not only a pain point for beginners >dev but also seasoned programmers that just want to give a try to nim. One of >the reason of the success of rust is that despite the borrow checker, the >lifetime, the weird syntax, it had a good documentation and a very good >tooling (including error messages) since early As a side note, the potential killer feature of nim in my eye is it's ability to be a glue code between different libraries and languages. Being easier and more readable than rust or C/C++, faster and more distributable than python or javascript/typescript, less heavy than java, nim is really in a place were the real competitor is Go, and it's advantage over go are to be more advanced on some points but mainly to able to be more easily interoperable with other ecosystem (C, C++, javascript, python with external library). And I think putting a focus on this point, improving the interoperability and its easyness of use will prove to be something very attractive for developers, a on top of providing a huge ecosystem form cheaper that redeveloping everything.
