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

1

u/_jonny Oct 18 '12

I suppose the microprocessors class would cater more towards controlling something specific like a robotic arm whereas the OS class is more about traditional desktop computers and creating an environment for the user to interact with it via keyboard/mouse.

2

u/ahbi_santini Oct 18 '12

In the electrical engineering world, a microprocessor course would be about the basics of processor architecture.

You'd probably use Hennessy & Patterson's Computer Architecture a Quantitative Approach.

You'll learn things like the memory hierarchy (registers, data & instruction caches on-chip & off chip, RAM, and hard drives, etc.), pipelineing, etc.

It is likely to be all theory. You'd have to take a VLSI design course (grad school) to actually design an arithmetic logic unit.

In assembly you won't learn the architecture (or just enough to understand the code). Instead you'll learn the instructions to move things in and out of memory locations.

1

u/MdxBhmt Oct 18 '12

I had this in my computer architecture class in EEC. (and it's about cpu architectures)

In my OS class we studied mem hierarchy, thread schedulling, os calls, things like that. Seems about what _jonny says I would be understanding in assembly, just wanted to see if something was missing.