Maybe I have a too strict definition of systems programming languages, but I would never call a GC language a systems programming language. Who would use an operating system that suddenly stops the entire world because some random language's runtime wants to collect its memory garbage?<p>That said, well done for making this.
I am the author of the nature programming language. You can find code examples and a playground to try it out on the official website at <a href="https://nature-lang.org" rel="nofollow">https://nature-lang.org</a> I would appreciate your feedback.
I like a lot of things about this, and it addresses some of my complaints about go.<p>But I'm confused on why strings use ascii encoding instead of utf-8. What if you need non-ascii characters?
Love this, definitely rooting for this to get big!<p>I think the goal is great. My dream language is something "in between Go and Rust", Go but with more expressive types, Rust-light, something along those lines. This seems like it is hitting that sweet spot.<p>Imo Go gets a lot right when it comes to productivity, but the type system always annoys me a bit. I understand the choice for simplicity, but my preference is different.<p>Rust is quite enjoyable, especially when it comes to the type system. But, kinda the opposite of go, it's a lot, maybe too much for me, and I frequently don't know what I'm doing haha. I also don't really need Rust level performance, most things I do will run totally fine with GC.<p>So Go with some extra types, same easy concurrency, compilation and portability sounds like a winner to me.
Impressive work, but how is it better/different from Go or other programming languages? What would be one’s motivation to switch to this language?
Nice, the kind of project everyone should support, a language with a fully working backend for both X86/ARM<p>Clean source code too, impressive project
I'm surprised ".n" was not already a used file extension:<p><a href="https://en.wikipedia.org/wiki/List_of_filename_extensions_(M%E2%80%93R)" rel="nofollow">https://en.wikipedia.org/wiki/List_of_filename_extensions_(M...</a>
Great job! An impressive set of functionality for an initial release. The syntax is also quite intuitive in general but these were a bit odd to me:<p>(int,bool,bool) t = (1, true, false) // v: Define a tuple. Access elements using t[0], t[1], t[2]<p>string? s = null
Considering that it’s supposed to be a “better Go”, there are some things it does worse than Go, such as type-before-name or using less-than and greater-than signs for type parameters.
> No dependency on llvm and VM, compiles directly to target platform machine code and supports cross-compilation<p>Hey, can you comment on how this was achieved?