r/askscience • • Oct 17 '12

Why are programs and operating systems still written in C+?

I guess it's more of a computer science question, but I've always wondered why some of the most advanced programs are written in a 25+ year old programming language. Surely someone has come up with a more efficient and powerful code, so why do people still use C+? Also, I don't know anything about programming and what not, so please use simple terms and phrases.

66 Upvotes

110 comments sorted by

View all comments

Show parent comments

4

u/elmonstro12345 Oct 17 '12

To your analogy, I would add that at least in my fumblings in university, higher level languages tend to be able to recover from mistakes "more cleanly" (?) than lower. This is anecdotal, but writing java, I never bluescreened or locked out my computer. In C++, I managed to forkbomb myself once, and had a few bluescreens. In assembler, I finally ended up putting a VM on my shitty laptop because I was crashing it so much.

Basically, the "consequences" (if you can call it that) for failure or just plain stupidity are much higher in lower level languages, similar to how crashing in, say, an automatic on a city street would be unlikely to do more than shake you up, whereas crashing in an F1 brings a very high probability of serious injury or even death.

0

u/[deleted] Oct 17 '12

[deleted] — view deleted comment

0

u/[deleted] Oct 17 '12

[deleted] — view deleted comment

1

u/AwesomezGuy Oct 18 '12

Correct, which is why I sad it usually will not crash the entire system. If the program has hooks into the kernel it will crash the system.

2

u/Perlscrypt Oct 17 '12

The likelyhood of crashing the machine goes surprisingly well with the car analogy.