Live data from Hacker News

C-for-all: Extending C with modern safety and productivity features

cforall.uwaterloo.ca

141–143 of 143 posts

Re: C-for-all: Extending C with modern safety and productivity features

#141

Earlier quoted context omitted.

Long compile times are almost always because of bad use of header files which include basically everything, insteda of only the used component. And this sometimes is because of bad separation of concersn / modularization.

I used to agree with this, but having spent a while in a very good C++ project (by C++ standards), even if we try to always forward declare and not include any unnecessary headers in headers, we still have a clean debug build time of 30-40 minutes. Even changing a single line in a cpp file, will still take around 30-40 seconds at best with incremental builds. I think long compile times are in the eye of the beholder,…

If it’s just a single line at a leaf in the deptree, it should only be taking time to link everything together.

Still, long compile cycles are my kryptonite... 0 productivity. Horrible. Back when I was doing java, I patched hibernate to serialize and deserialize the generated code, so startuptimes would be lowered with about 80%.

My setup back then used hot code replacement, but so many people would just simply wait 1-3minutes for every single change...

Re: C-for-all: Extending C with modern safety and productivity features

#142

Earlier quoted context omitted.

The CCP is exceptionally evil, they are conducting themselves like Nazi Germany.

China was actually a victim of the Axis powers, with a huge death toll, so this more than a little disrespectful...

Victimhood is not a persistent state. It is a momentary one. They are no longer victims to the Axis powers.

They are imprisoning and "re-educating" millions of their citizens because the region they live in (Xinjiang) is really important economically for China. Those citizens are treated similarly to how the Jews were treated by Nazis, i.e. put in concentration camps and villainized, although they haven't escalated (as far as we know) to extermination practices.

Re: C-for-all: Extending C with modern safety and productivity features

#143

Obligatory name-drop: Zig is an awesome low level programming language targeting the same space as C and CForAll. It isn't at all compatible with C on the source level like CForAll is, but it does make it super easy to interop with C, because it can include .h files. That means it lets you move projects from C to Zig file-by-file. Because Zig benefits from decades of insights about how C could've been better, it has…

Zig is, however, unsuitable for interactive media or scientific computing due to the unfortunate lack of operator overloading (which is touted as a "feature"), rendering it less general purpose than I'd like. Other aspects of its design look good however.

You can use syntax of the form vec1.add(vec2), which is still better than add(vec1, vec2)
Post reply on HN