3 ms·
> I am looking forward is a systems language with automatic memory management Doesn't Nim check those boxes? Didn't try it personally but I was instantly remi
by generichuman 7y ago
> I am looking forward is a systems language with automatic memory management
Doesn't Nim check those boxes? Didn't try it personally but I was instantly reminded of Nim when I read your comment.
- pjmlp 7y agoIndeed, however it seems having a community even smaller than D, and it is still on the phase of depending on C or C++ as compiler backends, just like C++ and Objective-C on their early days.
- dom96 7y agoDepending on C is actually a feature. Why do you consider it a negative?
- pjmlp 7y agoYou don't replace something that you depend on, for starters. Then C is not portable Assembly that keep being talked about, so unless you stick with care to ISO C, there will be UB and compiler specific behaviour creeping into backend. Even languages that use LLVM suffer from this, because its design is tainted by clang, and for certain bitcode sequences, it assumes C semantics. This broke a couple of Rust optimisations. Not sure if they already got around fixing this. Then C does not really expose the CPU features, so if you want to actually access everything. Either you need to support inline Assembly as well, or ship Assembly alongside C anyway. Having C as backend is only useful as means to bootstrap an eco-system to not spend too much time implementing a backend. However when a language matures, it is time to move on, just like C++ and Objective-C did.