This has been posted here a couple of times in the distant past but for whatever reason I can only find one old post: https://news.ycombinator.com/item?id=9829133 Anyway, it seemed like an interesting project the last time I looked at it but Rust wound up getting all my attention.
Here's the discussion from 2018 [0], which has some responses from people involved with the C-for-all project. [0] https://news.ycombinator.com/item?id=16657385
C-for-all: Extending C with modern safety and productivity features
61–70 of 143 posts
Re: C-for-all: Extending C with modern safety and productivity features
#62I really don’t need an extended-C with productivity features... as that’s one of the defining points of C(the language is small). Fixing the warts (like different behavior between the overflow of unsigned ints & signed inta) would have been fine. I personally want a better stdlib for C; fix the defiancies of , removing the global locales (changing function behaviors according to LC_* was a really, really bad idea[0])…
Re: C-for-all: Extending C with modern safety and productivity features
#63Can we talk about the proposed new features: How are tuples different from structs? You can pass around and return whole structs (not pointers) just fine in plain C. Underscores in int literals should probably be proposed to the ISO committee for C itself. A similar concept works successfully in OCaml. (Binary literals would also be useful). I've never felt that C lacked sufficient control structures, and the new one…
Already announced in 2007: http://lambda-the-ultimate.org/node/2181
Re: C-for-all: Extending C with modern safety and productivity features
#64I really don’t need an extended-C with productivity features... as that’s one of the defining points of C(the language is small). Fixing the warts (like different behavior between the overflow of unsigned ints & signed inta) would have been fine. I personally want a better stdlib for C; fix the defiancies of , removing the global locales (changing function behaviors according to LC_* was a really, really bad idea[0])…
https://www.musl-libc.org/
Re: C-for-all: Extending C with modern safety and productivity features
#65Earlier quoted context omitted.
Yes, some of the many features : Tuples, left to right declaration syntax, references with auto dereferencing, constructors destructors, nested routines, extended case with ranges, choose (switch with no fallthrough), overloading and polymorphism.
Quite lot of that sounds like Turbo Pascal/Delphi.
Re: C-for-all: Extending C with modern safety and productivity features
#66Wow, this is quite a trainwreck. I think it's possible to improve C while keeping compatibility with C programs, but that's not how you should do it. I think an improved C would be quite useful, but you really should be careful with what you include it, and keep the language simple. A lot of functionality feels like added because it could be added (WTF are nested routines). This way lies worse C++. In particular, I w…
Re: C-for-all: Extending C with modern safety and productivity features
#67Re: C-for-all: Extending C with modern safety and productivity features
#68Wow, this is quite a trainwreck. I think it's possible to improve C while keeping compatibility with C programs, but that's not how you should do it. I think an improved C would be quite useful, but you really should be careful with what you include it, and keep the language simple. A lot of functionality feels like added because it could be added (WTF are nested routines). This way lies worse C++. In particular, I w…
Who owns the return value of new_point?
struct Point a = new_point();
struct Point a2 = a;
Assuming `struct Point` has a destructor, this would move `a` into `a2`, and prevent accesses to `a` after `a2` assignment, as `a` is no longer considered to be alive at this point. C++ has a wrong default of cloning instead of moving, but a new language could fix that.Re: C-for-all: Extending C with modern safety and productivity features
#69I'm sure a lot of very smart people are working on this, and I don't want to detract from their dedication, but man this language looks like a mess. And in no small part because it wants to be backwards compatible with C (the reasoning is unconvincing -- why not just use C++?). In the age of Go and Rust, which already have a hard time finding niches, I don't really think there's any room for a language like this. And…
To make the time even harder, in that niche space, you already have decent enough languages like Nim and Zig etc.
So yeah, the market is really pretty saturated, I don't even have time and project idea to try them all, let alone bring them to work.
Re: C-for-all: Extending C with modern safety and productivity features
#70I really don’t need an extended-C with productivity features... as that’s one of the defining points of C(the language is small). Fixing the warts (like different behavior between the overflow of unsigned ints & signed inta) would have been fine. I personally want a better stdlib for C; fix the defiancies of , removing the global locales (changing function behaviors according to LC_* was a really, really bad idea[0])…
https://www.musl-libc.org/