I would like to start a discussion about the virtues of [dogfooding](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) within the Nim community.
This comes in response to [a comment on reddit](https://www.reddit.com/r/nim/comments/7smw81/nim_future/dt7xmab/): > "For god's sake use something like discourse for forums. Current forum does > not leave a good impression to users, is not comfortable to use and is barely > working. I understand dogfooding philosophy, but Nim is system's programming > language. It is awesome nim can be used to build websites and some websites > built with Nim should definitely exist. Like say nim sandbox or paste site. > Making forum with bare-minimum functionality and dropping it on your > community is a mistake if you are not going to develop this forum into a > product that could compete with already established solutions. And frankly - > people want you to develop Nim, not a freakin forum. Please " **I couldn't DISagree more!** I've always mentioned [nimforum](https://github.com/nim-lang/nimforum) as a major accomplishment; that, **despite being relatively new, Nim already self-hosts a fully functional message forum!** It is a demonstration of how easily something like this can be built in Nim. [Dfeed](https://forum.dlang.org/help#about) also deserves a positive mention, but message forums in other compiled bare-metal ["system(s)" languages](https://en.wikipedia.org/wiki/System_programming_language) (ex. [muro](https://github.com/OUISRC/muro), [gobb](https://github.com/stevenleeg/gobb)?, ...?) are well behind. (Please correct me if I missed something.) What does it say about Rust, Swift, Julia, Haskell, Crystal, etc if, despite being more popular, they _still_ don't have an equivalent of nimforum? I don't like RST, but, that aside: **This forum is fully functional, comfortable, free, and usable from all browsers**. The [latter](https://meta.discourse.org/t/discourse-shows-blank-page-when-javascript-is-partially-blocked/29543) especially cannot be said about Discourse. I am going to post this message from w3m (a text-only console browser) just to prove this point! "Dogfooding" is an example of deferred gratification, avoiding the easy path in order to accomplish much more in the long run. It encourages you to spend more time "being the driver" rather than a passenger, investing into creating and improving rather than following others. And it's not like we're reinventing the wheel: the existing solutions are very far from perfect! I think the free Web software that is popular today (WordPress, MediaWiki, etc) is only popular because of momentum, starting at a time when languages like Nim were not yet around. Discourse is an especially clunky piece of software with dozens of dependencies (both inside and outside of Ruby gems), which means more of a security attack surface. Nim Web apps, in contrast, can run from a single jailed static binary. And of course: Ruby / Rails [doesn't scale](https://www.quora.com/Why-did-Twitter-move-away-from-Ruby-on-Rails). Lastly, as an advocate of _genuinely free_ software, I can't avoid mentioning that nimforum is fully [copyfree](http://copyfree.org), which cannot be said of [the more established forum packages](https://en.wikipedia.org/wiki/Comparison_of_Internet_forum_software), also noting that PHP and some other dependencies have more restrictions. (Discourse itself is GPL.) If I wanted to start my own Web-based forum for whatever reason, I would use nimforum as the base. When the count of developers who use Nim goes from hundreds / thousands to millions, I'm sure there would be lots of nimforum forks adding whatever bells and whistles that people want to add. I would highly encourage the Nim community to **take "dogfooding" further**, especially in creating independent Nim-centric alternatives to "the new Microsoft"s - proprietary giants like GitHub, Reddit, Twitter, Facebook, etc...