Comment by pjmlp

2 years ago

So why bother with this, when compared against AssemblyScript and Grain, both more mature and existing communities?

It depends on how you are measuring maturity.

Moonbit is indeed only developed for less than a year(very fast moving), but it already has a full working IDE, optimizing compiler, fast build system and experimental package manager. We have a dedicated team working on this with professional experience for over a decade, we expect we will reach the maturity on par with Rust in terms of Wasm experience in a couple of years.

I would say Grain is very close to Moonbit. They are both MLs for WASM. AssemblyScript is not. No pattern matching, not expression oriented, no ADTs AFAICT, etc.

Grain miserably fails rule 0 of programming language websites - show me the language! They expect you to go through installation, IDE setup, hello world before they tell you anything about it.

The front page doesn't even tell you anything about its unique features. This Moonbit page is a million times better. I might actually try it. I'm not going to try Grain. Why would I?

  • They assume anyone is clever enough to find the guide on their site.

    https://grain-lang.org/docs/guide/hello_world

    • That's a guide for how to learn the language once you've already decided that you want to learn it. There's nothing to convince me that I should bother.

      Hello world and variable declaration syntax isn't going to make me go "ooo interesting! Tell me more!".

      I skimmed the guide and found none of the promised "Grain is a new language that puts academic language features to work".

      It seems to be a reasonably nice ML/Rust-alike presumably with GC and depending on the unstable WASM GC proposals, though that's mostly a guess - obviously they don't say that anywhere in the main page.

Rust-like features and performance with Go-like usability are big selling points.

Also we don't known how it will be licensed, but if it's proprietary that could also be a selling point with companies that won't touch Grain's LGPL license.

  • That's absolutely nuts. Would you risk building upon a stack that might be sold tomorrow to a competitor and killed instantly? Without software freedom and a community this is just a toy.

    • Companies do it all the time with other software platforms, it really depends on the level of service contracted.

      Prudent companies also require the source code to be kept in a holding that transfers ownership to them if the supplier goes bankrupt.