Hello everyone. I felt compelled to open this thread because I’m genuinely upset. I’ve been using Nim for about a year now, and every time I use it, I like it more; I’m constantly impressed by the engineering behind it and the carefully thought-out design choices. However, before I started using this language, the programming community—deeply influenced by today’s YouTubers and echo chambers—had such strong prejudices that during this process I tried to explain Nim’s failure to achieve the popularity it deserves through the biases that were passed on to me. In other words, Nim started in my mind at a 5–0 disadvantage. Yet despite that, I couldn’t find any rational reasons for it; on the contrary, I became even more impressed. Yes, it has its problems, but most of them are entirely parallel to the small size of its ecosystem.
A few days ago, however, I watched a video prepared by a software “magazine” channel with over one million subscribers following the release of Nim 2.0. When I saw the person’s analysis, I was shocked, and suddenly everything clicked. He starts the video by saying that his viewers have constantly been telling him to use Nim and give it a try, but that he never found the opportunity to do so. On the other hand, throughout the video he simply reads through the improvements introduced in Nim 2.0, clearly doesn’t understand them, and still hands out analyses and judgments. (At the same time, since I started using Nim last year, I also realized just how many things in Nim 2.0 I actively use today that make my life easier; it’s an excellent release that moved Nim to a very good place, and I felt genuine gratitude toward the developers.)
For example, when he saw the part about being able to write C++ snippets inside Nim code, his comment was something like: “Why would someone who wants to write C++ use Nim? Who is Nim targeting here?”—a bizarre take. In reality, this feature introduced in Nim 2.0 allows access to C++ macro calls that are commonly used in C++ and are hard or even impossible to wrap properly in Nim, which is a lifesaver. (For instance, I most recently used it for Emscripten’s EM_JS.) But this guy is so far removed from the topic that he interpreted the whole thing as arbitrarily writing C++ code inside Nim.
And at the end of the program, he repeated that famous, meaningless criticism of Nim that you’ve probably heard countless times by now: “What is this language’s niche? What is its purpose? I just can’t understand it.” I’ve heard this absurd justification and excuse over and over again from different YouTubers, as if they had memorized it.
Yet a general-purpose systems programming language is not designed for a niche in the first place; a niche emerges later through the projects that appear as the ecosystem grows. Releasing a language specifically for a niche is already quite absurd. For example, the slogans claiming that Odin was made for game programming, if you ask me, actually ruined the language. A language that was essentially designed as a general-purpose C alternative was confined to a single domain before it even had the chance to form its own niche. And I say this as someone who earns a living from game development—it has nothing to do with that. Odin was simply a general-purpose C alternative, very much like Zig.
What I’m really trying to say here is this: we’ve reached a point where the trends and popularity of programming languages are being determined by the magazine-style takes of YouTubers who have never built a single project with those languages. That’s genuinely sad. In the past, we used to have cliché conversations with friends about how a programming language needed companies and financial backing behind it to succeed. What I’ve just described is even worse than that. In that equation, companies and financial power gave their languages a marketing advantage, but they weren’t sources of anti-propaganda against your language; they simply shone brighter, even if they weren’t technically superior. Today, however, modern programming languages are being judged by the gavels slammed down by YouTubers who haven’t even written a single script in them, and entire communities are being steered by those judgments.
Finally, I want to thank the Nim developers for their patience and for continuing the project. Considering the effort they put in, the treatment they receive because of the unqualified judges of this modern world is honestly beyond tolerable.
Note: This thread is not about ignoring Nim’s problems, avoiding criticism, or pretending the language has no shortcomings. From what I’ve seen, these issues are already discussed quite openly within the community. The key difference is who is doing the criticizing: people who actually use Nim and build real projects with it — not YouTubers with a million subscribers who haven’t even bothered to write a “Hello, World” program in Nim in their lives.
It's a strange problem, "the (social) right to say no".
Let's go to the pub. No thanks. Why not? Come on...
Has anyone ever asked "why", when you said yes?
Why justify a panting, a book, a movie (Rock79, John Wick 23...). Why justify a programming language?
Why listen to these people at all?
It's possible that part of it is that Nim never had a narrative that it presented. For example, the rust-lang.org homepage has a "Build it in Rust" section detailing use-cases, and go.dev homepage has a "What’s possible with Go" section. Both of these are general-purpose languages that are of similar age. Giving people direct examples of what the language is suitable for makes it easier for low-info reviewers to get an idea of what the language is for.
Still, Zig's website doesn't do that, and it actually looks remarkably similar to Nim's. The difference there, in my opinion, is that it was often painted as a C-replacement and something to complement C. Contrasted with Nim's C compilation, which while achieving many of the same aims, is potentially confusing to people who don't understand what it actually means (hence the "why don't I just write C/C++, why do I need a transpiler?" comments). Lack of corporate sponsorship is also a thing.
Nim never marketed itself with use-cases, and was never marketed by others as a C killer or anything, so it seems like a lot of uninformed people just see it as a confusing general-purpose language.
I don’t really believe the issue is that simple. The common trait of the languages you mention is that they were developed in response to concrete needs of specific companies. Because Go, Rust, and even TypeScript emerged as a company’s need → a resulting product, it’s natural for them to say things like “look how simple we can make this now” or “look how fast we are while doing this,” and to back that up with demos and marketing. Languages that did not emerge this way (like Zig, which you cited) can’t really do that—and honestly, I don’t think they should.
Even failing to grasp this basic distinction, the YouTuber-programmers who steer these communities have developed an obsession where, for every new language they review, they keep asking: “Okay, but which niche is this language good at? Which narrow track is it trying to run in?”
A programming language tries to explain its technical features clearly on its website. But as a developer or a development team, you look at those features and descriptions and say either, “Hey, I work in this area and this looks like a good option,” or “Hey, this could be great for our team and our project.” Then you actually write something with it and gain experience.
For example, Python was used for many years mainly in academic prototyping and scientific research. Over time, however, Python ended up being used in many very different niches, and the areas it’s used in today massively outweigh its original use cases. Looking back now, would it have made sense to lock Python into a single niche when explaining it to people? I really don’t think so.
the unfair YouTuber-driven toxicity that Nim is exposed to; many new languages suffer from this as well. What keeps Odin somewhat more insulated from the same potential unfairness I mentioned in the article—compared to Nim—is that its developer occasionally goes on camera and responds to these points one by one. For examle : https://www.youtube.com/watch?v=gdQHLgg4qzI
I didn’t open this topic just because of a single streamer and their video. I’ve been following software/tech channels in general for years, and I know very well how things work. The reason I didn’t share the link to the specific video and its creator mentioned in the title—used merely as a recent example—is that this issue shouldn’t have a single focal person. If I had done that, it would have turned into something like throwing that streamer into the spotlight as a prop and reducing the discussion to a cheap lynch campaign centered on them.
Also, so this isn’t interpreted as mere touchiness from the perspective of a Nim user, I wanted to point out with examples that Nim is not the only victim of this situation in the content I follow. As I said before, the problem isn’t really the streamers themselves, but the software communities today that take their direction from them and end up defining trends.
So why did I open this thread? Maybe we can talk a bit about what could be done to change this, but my more important motivation was empathizing with the developers of the Nim language and saying, “We see this nonsense too—don’t think your efforts are wasted.”
As @abdulhak pointed out, a video with 75,000 views, where a YouTuber who claims to be doing a “software analysis” makes quite bold comments about a language they haven’t written a single line of code in (and still haven’t, by the way—this video is their first and last ‘review’ of Nim), cannot be considered promotional in nature.
And finally, this issue doesn’t revolve solely around that one streamer either. As I mentioned earlier, before giving Nim a chance myself, I had already formed negative preconceptions in my head due to the comments of countless content creators. If you ask me now, most people who come to Nim today also bring these same biases with them—though you may not agree with that.
Nim is not a young language. It's has already been established that it's well rounded general purpose language. It's lack of growth is not due to someone not being enthusiastic about it.
Just as important to language's wide success are apps that that make money, learning materials, helpful community, large and easy to navigate ecosystem, corporate investment. Plus, being able to use AI for vibe coding.