4 ms·
I'm the creator of the Nature programming language, and I'm incredibly thrilled to see my project featured on the front page of Hacker News. I've been developin
by weiwenhao 3y ago
I'm the creator of the Nature programming language, and I'm incredibly thrilled to see my project featured on the front page of Hacker News. I've been developing this project in my spare time; initially, I focused on building the compiler back-end, which is something I'm deeply passionate about. That alone took me roughly 3 years of part-time effort. Only in the past year have I started to design and implement the front-end of the programming language.
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.
- UncleOxidant 3y agoWhat was the main problem you were trying to solve with Nature? What did you find missing in other languages that motivated you to create Nature?
- weiwenhao 3y agoAfter the MVP (Minimum Viable Product) version of Nature is released, I plan to use it for game engine and game development. But that's probably not the answer you were looking for. 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.
- frizlab 3y agoI’m curious, did you try Swift? It’s has most (but not all) of your goals AFAICT.
- Jeff_Brown 3y agoIt might be interesting to write up comparisons of Nature to each of the dominant languages. My impression is you want to make something as welcoming as Python but more expressive and safer. Which, if true, is indeed a worthy effort.
- starkrights 3y agoHey, that’s a neat story! Genuinely, I’m not trying to be sarcastic with that- but you didn’t answer his question at all. What’s the point? Your goal is an “MVP stage”- what is your MVP? What are the minimum requisite features that are the core features of the language, and why are they important / better than any other languages, and in what specific ways? If the answer is just “because I like these syntax/feature choices and i just want to make a language, that’s okay- you’re allowed to do whatever you want on the internet lol- but answer the original question directly and specify it as such. The goals “get an MVP”, “stand on the shoulders of giants” and “innovate”, mean and say literally nothing- it’s just a smash of buzzwords that says nothing about your intents. They translate literally to “I want to make my thing work”, “i vaguely want recognition for being like xyz things”, and “I want to make it have more things” What does “make it work” mean? Why does “be popular like rust and go” matter to anyone/what does it mean for your product? Why are you talking about innovating more things when you haven’t even told us what the first thing is? These questions aren’t meant to be mean / dismissive- you made a programming language, and that’s cool (to me at least!) I wanna know!! If you want to stand on the shoulders of giants, you have to know what you’re doing- or if you do, be able to explain it lol.
- weiwenhao 3y agoThis is the first-phase goal for the Nature programming language, as outlined in the first section of the README on https://github.com/nature-lang/nature https://github.com/nature-lang/nature. To summarize: - 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 https://nature-lang.org/docs/prologue/release-notes Record the core features that have not yet been completed in the version release notes.
- Mountain_Skies 3y agoSomething to consider to get some attention: start a Nature leaderboard for Advent of Code in December. Lots of people who participate in AoC are looking for a new language to learn while solving each day's problems.