>>1
The advantage the bit-twiddling languages like C, C++, and now Go, provide is the ability for the programmer to apply optimizations by hand. This is an advantage to a language designer- all that tedious optimization work can be skipped (notice how proud the Go designers are of compile time- optimizations take time for the compiler to apply). Hand applying optimizations is also an advantage in micro-benchmarks (like the Shootout), and in blog posts and similar. Places where the code size is small enough that the cost, especially in terms of lost abstraction, is negligible.
The problem is that we’re not writing blog posts or micro-benchmarks. We’re writing whole systems. Programs of non-trivial complexity, tens or hundreds of lines of code, possibly even millions. Programs too large for us mere mortals to hold in our heads- at this point abstraction and simplicity are not options, not things that are not nice things to have that we can no longer do without. They are absolute necessities. When our programs are at or near the limits of our comprehension is when the extra complexity of hand optimization can be least afforded- large scale systems programming is the last area that should be doing hand optimization.