C can die in a fire. It’s “simplicity” hides the emergent complexity by using it as it has nearly no compile time checks for anything and nearly no potential for sensible abstraction. It’s like walking on an infinite tight rope in fog while an earth quake is happening.
For completely different reasons: The same is true for C++ but to a far lesser extent.
Ahh, the consequences of using the PDP-11 as your abstract machine.
I find C fun in small doses, but if I ever had to scale up to an actual product, I’d quickly want to off myself from copy-pasting my vector implementation for every different type it needs to contain.
(Of course, I could commit macro abuse to emulate generics, but… that’s just asking for trouble.)
As an embedded firmware guy for 10ish years:
C can die in a fire. It’s “simplicity” hides the emergent complexity by using it as it has nearly no compile time checks for anything and nearly no potential for sensible abstraction. It’s like walking on an infinite tight rope in fog while an earth quake is happening.
For completely different reasons: The same is true for C++ but to a far lesser extent.
What do you think of zig?
I don’t have first hand experience with it, I also don’t get how it would help me. Maybe I need to look at it some more.
Ahh, the consequences of using the PDP-11 as your abstract machine.
I find C fun in small doses, but if I ever had to scale up to an actual product, I’d quickly want to off myself from copy-pasting my vector implementation for every different type it needs to contain.
(Of course, I could commit macro abuse to emulate generics, but… that’s just asking for trouble.)
Well it made sense! In the 70s, and just doesn’t anymore. 🤷