4 ms·
Those are fair points, but they're probably too specific to the architecture to incorporate in C's general execution model. They're better exposed through platf
by hgs3 4y ago
Those are fair points, but they're probably too specific to the architecture to incorporate in C's general execution model. They're better exposed through platform specific programming interfaces like OpenMP or CUDA. Even a domain specific language, like GLSL, may be more appropriate.
- turndown 4y agoI think that the general point being made here is that C’s general execution model, as you call it, really is just a PDP-like computer because that is what they had when making C.
- hgs3 4y agoThe confusion I have is that the original commenter makes it sound like the abstract machine C is designed for is not relevant today. While modern desktop hardware may use various techniques to improve performance, like cache lines or specialized cores, they are an implementation detail of that abstract machine. I would not expect C to expose these hardware specifics because C targets a lowest common denominator, from consumer desktop hardware to microprocessors. If the criticism is that C is too general, then that's fair but also applies to every C competitor: Rust, Zig, D, etc... It's debatable how much these languages should include versus exposed by vendor specific API's. Perhaps we need a fork of C designed exclusively for modern desktop hardware.