3 ms·
While it is true that C perfectly matches the hardware, it imperfectly matches the rich software abstractions which are needed for moderate and large sized soft
by billfruit 7y ago
While it is true that C perfectly matches the hardware, it imperfectly matches the rich software abstractions which are needed for moderate and large sized software. The lack of namespaces and sane object creation, destruction semantics etc, makes programming tedious.
A large proportion of code in many large C programs go into recreating imperfectly the features that are by default provided by richer programming systems. And that repeats for every large program you do. It quickly becomes boring and unenlightening, to recreate an exception handling mechanism or data structure implementation for the nth time.
Why would anyone not prefer not having to focus on the mere infrastructure, and rather direct directions on the interesting problems to be solved.
Another thing is that large C code bases tend to become ensconced in layers of preprocessor macros, which I think is a hack-y way of doing things.