cross-posted from: https://lemmy.world/post/31184706
C is one of the top languages in terms of speed, memory and energy
https://www.threads.com/@engineerscodex/post/C9_R-uhvGbv?hl=en
cross-posted from: https://lemmy.world/post/31184706
C is one of the top languages in terms of speed, memory and energy
https://www.threads.com/@engineerscodex/post/C9_R-uhvGbv?hl=en
I understand your point but come on, basic stuff has been implemented in a thousand libraries. There you go, a macro implementation
And how testable is that solution? Sure macros are helpful but testing and debugging them is a mess
You mean whether the library itself is testable? I have no idea, I didn’t write it, it’s stable and out there for years.
Whether the program is testable? Why wouldn’t it be. I could debug it just fine. Of course it’s not as easy as Go or Python but let’s not pretend it’s some arcane dark art
Yes I mean mocking, faking, et. al. Not this particular library but macros in general
I’m not saying you can’t, but it’s a lot more work to use such solutions, to say nothing about their quality compared to std solutions in other languages.
And it’s also just one example. If we bring multi-threading into it, we’re opening another can of worms where C doesn’t particularly shine.
Not sure I understand your comment on multithreading. pthreads are not very hard to use, and you have stuff like OpenMP if you want some abstraction. What about C is not ideal for multithreading?
It’s that the compiler doesn’t help you with preventing race conditions. This makes some problems so hard to solve in C that C programmers simply stay away from attempting it, because they fear the complexity involved.
It’s a variation of the same theme: Maybe a C programmer could do it too, given infinite time and skill. But in practice it’s often not feasible.