C is a simple high level language not bogged down with endless towering layers of abstraction and crud, useful for writing user programs for all manner of tasks and for writing kernel code. it has flaws and should be replaced, but most other languages are worse, especially some of the ones that suppose to be better than and replace it. It is however a mistake to think of C as "what computers think in" and think that its basically assembly(implying by that that assembly doesnt count because its somehow impossible, or something). or that its impossible for anything to be as fast as or faster than it. if those things were the case, OP wouldnt have made this thread, but obvio usly it wasnt made specifically and expressly for fiddling with bits. If you find C cumbersome and confusing to work with, its likely that either the environment in which you're using it is bad, what you want to do is bad and poorly thought out, or your practices are bad. There are all sorts of ways one finds themselves with endlesss frustrating chores to do and details to keep track of, but thats not how its supposed to be.