It's just legacy. C as infrastructure is good, C as a language is bad. There's a whole industry and millions of lines of code in visual basic, but I never met somebody who says that VB is good.
Is there a way to say "do this under spinlock"?
Is there a way to handle errors not mixing it with main logic? Not wrapping nearly every line with if/goto?
Is there a way to create a generic collection? No, linux list.h is not that: it requires manual initialization, it does not work with elements, but with their special parts, it's macroses requires logically unneeded information (such as 'member' in list_for_each_entry), and so on. And this is the best you can do in C.
C is too unobvious, too. Google for "wait4 backdoor".
C works, of course. It just requires too much boilerplate code and too much programmer resources.
Is there a way to say "do this under spinlock"?
Is there a way to handle errors not mixing it with main logic? Not wrapping nearly every line with if/goto?
Is there a way to create a generic collection? No, linux list.h is not that: it requires manual initialization, it does not work with elements, but with their special parts, it's macroses requires logically unneeded information (such as 'member' in list_for_each_entry), and so on. And this is the best you can do in C.
C is too unobvious, too. Google for "wait4 backdoor".
C works, of course. It just requires too much boilerplate code and too much programmer resources.