Hi,
I'm not only an operating system designer/developer, but I also write compilers---I'm mentioning this so that you can trust that I have some authority on the subject. Hopefully, I will be helpful in my answer.
The short answer is that there's no such thing. A smart developer needs to pick the right tool for the right task---different languages have different aims and it is impossible to come up with one that is good for everything (e.g., you can't be both declarative and have control over pipeline optimizations). However, that doesn't mean you can't mix more languages in one single project. In fact, that's quite common.
In case you're planning to learn a new programming language, I've prepared a short list explaining the pros and cons of the most popular ones and how they can be mixed with each other so that you can pick out what you feel works best for you:
* Assembly (can be mixed with C and C++). As you've said, this one grants you control of all the CPU features. Most high-level languages are designed to be portable and thus lack CPU-specific features. There are two downsides to assembly language: it's architecture-specific (e.g., ARM assembly is incompatible with x86 assembly) and it takes a long time to write and debug. Only use assembly language when performance or code size are critical or when you want to use a special CPU feature; otherwise it's just a form of premature optimization.
* C (can be mixed with C++ and assembly). The C programming language was designed to be a portable assembly language designed for systems programming. Since then, it has grown to become the standard language of the UNIX world. It's easier to learn than other languages and C compilers produce very good code.
* C++ (can be mixed with C and assembly). This was initially an enhanced version of C but has now grown to the point where C is not a perfect subset of the C++ language (they have many subtle differences). This languages is one of the hardest to learn properly (most people make the mistake of using C++ as C with classes---better use Objective C if that's what you're looking for). Most of its abstractions are considered good but it takes a long time to master. Although it can do the same things as, sometimes C++ compilers produce slightly worse code.
* C# (can be mixed with Python). This is a great language that is technically superior to Java but is unfortunately mostly tied to Windows (due to Microsoft-specific things in the CLI implementation). If you're going to write code in it, you'll probably end up having less bugs because memory management is handled directly by the language via its garbage collection. It also has other very high-level benefits, such as strong type-safety. Most implementations are slow.
* Java. Almost the same description as above applies except the language is not actually as good but the JVM is available for many platforms. If portability is an issue for you, Java is surely one way to go. Most implementations are slow.
* Python (can be mixed with C#). In my opinion, this is the first fit for a first programming language. You almost write pseudocode in it and it to has the benefit of garbage collection. Later on, you'll only want to use it for quick hacking and automation as the language has same serious design flaws (see my other answer on Y! Answers describing them; link below). Most implementations are very slow.
* Perl. This is a braindead language. Alas, it has the big advantage of having one of the laregest collection of libraries (via CPAN)---it can thus be used for pretty much anything. Most implementations are slow.
* Lisp. Although this is theoretically a procedural language, it is almost always used with functional-style programming. It only takes a few minutes to learn and has great power for a certain class of problems. You should learn at least one functional language---it will open new ways of thinking for you.
* Haskell. This is a purely functional language usually used in designing parsers or working on programming language grammars.
* EBNF. Specialized language used for creating lexers and parser generators (i.e., compiler front-ends). Nowadays no one actually writes parsers from scratch anymore.
* OpenCL. A C-like language used for GPUs and GPGPUs (i.e., graphics hardware). Something you definitely want to use in conjunction with OpenGL when you write low-level graphics code.
Cheers,
Bogdan