Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>I don't know that it's really because of some functionality proper to C

Performance which translates to low latency is of great importance in a operating system/kernel.

This extremely low latency is the result of optimizing at a very minute level, C allows this to be done while retaining a high level of portability and maintainability as opposed to assembly.

The extent to which this optimization is done is further highlighted by how the Linux kernel (and I assume other aswell) uses compiler extensions to further control the final generated code in order to maximize performance and minimize footprint. As such these compiler extensions allow for even further low level control which are outside that which the standard C language provides.

Kernel's and similar operating system components operate in a very low level problem domain, and C is a high level language which has shown itself particularly suitable in this context.

So I think that the wide use of C in low level and/or performance critical code such as that of kernels is based upon 'practicality' rather than 'familiarity'.

Even so, expert C programmers successfully writes all sorts of code.

Git for example doesn't strike me as a project with a larger amount of exploits or bugs than other similar software. And while lots of people have different views on it's 'ease-of-use', everyone seems to agree that Git is 'damn fast'.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: