117 karma · joined September 6, 2023
---
I also believe predictable memory management is crucial. An arena-based supplementary memory allocator could be the next key feature.
But the situation will improve soon, in order to make nature more useful, I've decided to translate nature into readable golang code and parse the golang code to utilize the golang code.
Here's an example of how I use the nature and raylib bindings.
All programming languages that claim to be alternatives to C eventually become themselves, zig is good enough and different enough to not care about being an alternative to C!
Additionally, this is my first time hearing about the Mastodon platform, it looks really cool.
Additionally, my design philosophy is also included in the GitHub README.
- Type system, null safety, generics, and union types
- An in-house compiler/assembler/linker that is not reliant on LLVM and supports compilation for amd64, riscv64, and wasm architectures
- Non-intrusive interaction with C for efficient and high-performance development
- Progressive Garbage Collection, supporting both automatic and manual GC
- Built-in vec, map, set, and tup data structures
- Package and module management
- Function tags, closures, error prompts, runtime stack traces, and coroutines
- Integrated SSA, linear scan register allocation, reflection, and an assembler & linker
We anticipate that these key features will be completed around version 0.7.0, at which point a community-ready version will be released. By "community-ready," we mean that there will be stable and backward-compatible syntactic API support.
https://nature-lang.org/docs/prologue/release-notes Record the core features that have not yet been completed in the version release notes.
I have experience with many programming languages like PHP, Python, Golang, JS, C, Scheme, etc. Each of these languages has its shortcomings that bother me. Taking C as an example, it lacks package management and doesn't support generics. In contrast, Nature is designed to improve upon C by featuring generics, package management, and null safety, among other things.
Moreover, what drives me is simply the joy of the process.
I'm not one to give up halfway, and even though breaking into the programming language market is exceedingly difficult, I'm still committed to investing my enthusiasm and time into making this work.
The first goal for Nature right now is to reach a minimum viable product stage. The second goal is to "stand on the shoulders of giants"(go/rust). The third goal is to incorporate more innovative ideas and possibilities.
Even if Nature doesn't gain a user base, I will still use it to build interesting things.
The programming language project will be the next golang or rust. It has not yet released an official version.
Moreover, this tool is implemented in a new system-level programming language called Nature that is about to be released. I hope I can create meaningful and valuable tools with Nature. Thank you for your encouragement.