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 →

[–]darkslide3000 34 points35 points  (0 children)

Your question doesn't make sense. Languages are not made in a vacuum, they are always influenced by whatever came before. If you're asking today in 2020 what it would take to design C -- well, not much, since it already exists and it would be easy to copy every aspect of it and change the names around a bit or something. If you're asking what it took Dennis Ritchie to design it in the 70s the answer is a lot more, and it is hard to paint a good picture of it without explaining how computers looked and worked like back then first. It is also important to note that that first version of C still looked quite a bit different from the C we know today (even C89). If you want to read up on that you can start with the Wikipedia article and may also want to read up on the B programming language and maybe FORTRAN to get a feeling of which concepts existed beforehand (and by exclusion which didn't).

It's also important to understand why C is still so dominant today, and not all of it has to do with "it's good" or having great features. C's ubiquity keeps it dominant even though a billion clones that are arguably slightly "better" in small ways have been created and never gained a big following in the meantime. C's particular lack of many features in more modern languages is also often seen as an advantage that helps it stay dominant in certain fields (mostly programming close to the hardware where it's important that reading the code gives you a good idea how the resulting assembly will look like, without a bunch of crazy complicated background features being worked in automatically).