5 ms·
This website is nice, but here's something it could do with: a page describing what makes Grain different and amazing. It's got a tutorial that goes through ba
by lucraft 5y ago
This website is nice, but here's something it could do with: a page describing what makes Grain different and amazing.
It's got a tutorial that goes through basics like types and functions. It's got a blog with release notes. But it could do with a sales pitch like Zig's overview doc.
- pharmakom 5y agoThe home page gives clear benefits front and center https://grain-lang.org/ https://grain-lang.org/ I have to wonder if you are really here shilling for Zig?
- qsort 5y agoI'm sorry, but as someone who literally learned about Grain's existence by opening that link, I agree with parent comment. The bullet points the homepage features are as follows: - "A modern web staple." Which means nothing. - "Grain is a new language that puts academic language features to work." Also claimed by most new languages and runtimes, and also an empty sentence. - "Powered by WebAssembly. Enter the future. Grain compiles directly to WebAssembly, taking full advantage of its speed and efficiency." This is the first meaningful and informative point. It's nice to know it compiles to WASM, but this is neither unique, nor (by itself) a compelling point. - "Sensible Types. No runtime type errors, ever. Every bit of Grain you write is thoroughly sifted for type errors, with no need for type annotations." Type-safe languages with type inference aren't exactly new, many popular languages could make an identical claim. - "Functional Yet Flexible. Grain has its roots in functional programming, but is flexible enough to accommodate different programming styles for various applications." Not really sure what this is supposed to mean. Wouldn't the same sentence apply word for word to, say, Rust, Elixir or Javascript? Again, please understand that this is not an indictment of Grain itself. I know literally nothing about it, it could be the world's best programming language for all I know. But from the perspective of a developer that doesn't know anything about Grain, the homepage doesn't do a good job at convincing me to try it out.
- dkersten 5y agoAgreed. On top of that, I still have no idea what the language even looks like. I clicked around for a while and couldn’t find a clear bit of example code. I looked through the first few pages of the tutorial but all it showed me was individual lines of code for individual features. I just wanted to see what a little program would look like. I gave up.
- dang 5y agoWhoa, that last bit is seriously against the site guidelines- please review https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html and stick to the rules when posting here!
- throwaway894345 5y agoPersonally I clicked into the "getting started" page and the examples answered more of my questions, however indirectly. "Oh, this is an ML dialect with a readable syntax (and presumably none of the OCaml baggage)! It's a bit like Rust with a GC!"
- glenda 5y agoOther than immutability by default and pattern matching I don’t see the Rust connection. Out of curiosity, what is OCaml’s baggage that you’re thinking of?
- throwaway894345 5y ago> Other than immutability by default and pattern matching I don’t see the Rust connection. They're both MLs with familiar syntaxes. > Out of curiosity, what is OCaml’s baggage that you’re thinking of? Dependencies on OCaml toolchain, standard libraries, and ecosystem (which seems like it should be a feature but in practice it just means you need to understand two languages, two toolchains, and the nuances of integrating them).