I am not bashing Nim; I am speculating about what (IMHO) it could be doing better. Key word: **_focus_**.
This thread is about summing up the last 9 months, and my humble summation is that, as far as I can tell, things haven't moved much. Is Nim marching steadily towards reasonable version 1.0 goals? If so, this isn't very visible to lay observers. Is Nim more popular relative to its competitors compared to 9 months ago - if not, why? It's not because they have more sophisticated mataprogramming, but because they're giving large and specific classes of programmers what they wanted in a new programming language. It seems that a new programming language that's "a jack of all trades, master of none" is not what a lot of people are actually willing to use. It is better to be a "jack of all trades, master of (at least) one", and that master "killer app" is how you pay the bills while learning more trades. The [first](http://www.businessinsider.com/the-first-mcdonalds-burger-stand-2014-9) McDonald's only served a handful of choices that most people wanted. One needs to get the business off the ground first, and expand it later as you get enough working capital (compiler code contributors, bug reports, modules, tooling, tutorials, cash donations, corporate sponsorship, etc). And then eventually you can build [Xihulou](https://en.wikipedia.org/wiki/West_Lake_Restaurant). > Nim has a clear vision -- it's just that I fail to communicate it: > > Nim is a simplistic systems programming language with an AST based macro > system on top of that. I'm sorry, I'm not very bright. To me that seems much less clear than the vision of Nim's top competitors (see above). To whom does this vision appeal? What makes Nim more "simplistic" than "[systems programming languages](https://en.wikipedia.org/wiki/Systems_programming_language)" like D and Rust (and, if using a much looser definition: Go, Swift, Crystal)? And is its AST-based macro system competing with Template Haskell for theoretical papers, or is it a means to an end? In [a Quora answer](https://www.quora.com/What-do-you-say-about-Nim-programmning-language/answer/Alex-Libman-2) I summed up what I see as Nim's top strengths: performance to productivity ratio, safety to syntax cleanliness ratio, license simplicity (very important to gaming companies, not just ethics nerds like me), and portability. I think that's already too many. I don't know if Nim can claim the "performance to productivity ratio" crown in light of the recent takeoff in Crystal's popularity. For people coming from other scripting languages, Crystal-like languages that go out of their way to be as close to JS / PHP / Python as possible (which, [as we've previously established](https://forum.nim-lang.org/t/2811), isn't the direction in which you want to take Nim) would probably do very well also. A lot of people really liked your [quote](https://forum.nim-lang.org/t/1961) that "Nim is essentially Ada + a GC with a friendlier syntax". I think that would make a great initial focus and selling point for Nim. > Almost all of its features can be found in other languages too. Some "other languages" have had lots of devs and lots of paid hours (in industry or academia) to polish those features and manage complexity. Successful new grass-roots programming languages tend to start with a particular focus. D started out as a much simpler language, and added features after it mastered the basics. Even Google isn't replacing everything with Go, but keeping it focused mainly in network services. Nim is very ambitious, and that's great, but not when it comes at the expense of the fundamentals. > New features arrive slowly (heck, isn't that what you just complained about?) > and more effort is spent on bugfixing and QA than on anything else. I complained about just the opposite: features over focus. I am encouraging focus on quality, stability, and documentation of Nim's core features; the 20% of the language that gets 80% of use. It's very sad to see Nim not growing in popularity while its more focused and targeted upstart competitors are gaining. > In order to turn it into a fruitful discussion: What feature should we remove > from Nim? There's no reason to remove anything, just say these things are "experimental" and on the back-burner until more crucial goals are met. I didn't mean that Nim has a "zillion unfocused ideas" (it's not a real number and a general point about business plans), but the top example going through my mind as I wrote that was [karax](https://github.com/pragmagic/karax/commits/master). You can obviously work on whatever you want, and I am very grateful for everything you do, but IMHO that isn't a top focus for getting Nim off the ground. Nim's attempt to compile to both C/C++ and JavaScript, while extremely interesting, is an example of "[Chasing Two Rabbits](http://users.rider.edu/~suler/zenstory/chasrabit.html)"... Stability, bugfixes, and documentation are top priority. Maybe focus on one specific flagship developer stack (editor / C compiler / debugger / etc) to provide the perfect developer experience. Anything that a typical Python programmer doesn't understand probably isn't a priority for v1.0. (IMHO)