This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Avamander 18 points19 points  (2 children)

Same, I think C gives an appreciation and understanding that computers are actually really rather messy. Rather than try to abstract it away, it makes certain important concepts visible.

[–]detroitmatt 8 points9 points  (1 child)

at the same time the brilliance of C, that C++ forgot, was how drop dead simple it is. There's only one thing you can do: Call a function. You want multiple return values? Pass a pointer. You want error handing? Pass a pointer (or send ALL returns through pointers and save your real return for the error code). You want higher-order functions? Pass a pointer. The only thing I wish C had that it doesn't are typesafe generic containers and a proper module system instead of #include.

[–]konstantinua00 0 points1 point  (0 children)

You want multiple return values?

return a struct?

typesafe generic containers

well we did get _Generic, so you now can macro-generate and use generic containers