I find Rust an ugly and overengineered language. C++ is getting ugly, too, but not that much. In my opinion, C is the simplest and the better for systems programming.
You can't escape the ugliness of Rust. You can write simpler and more efficient code in C++ compared to plain C.
So true. The only advantage of C compared to C++ is incomparably faster compilation - primarily due to the "abuse" of header files by C++ libraries, including STL.
What about clean syntax, simple straight forward language?
Sure, with a few caveats: 1) you can limit yourself to a reasonable subset of C++ that is just as clean and straightforward; 2) code written in C++ could look much cleaner and straightforward than it is possible to achieve in C; 3) many have argued that the C syntax is bad, especially compared to some other languages.
You can write terser code in C++ but not more efficient.
Pretty much the same performance. Perhaps you meant that the programmer can be more productive; sure.
There are cases for more performance as well, e.g. C's qsort vs C++'s std::sort - for the latter, the comparison function can be inlined (e.g. default less operator).
C++ sort is faster than qsort mainly because it uses radix sort for integer data in most implementations. You can use radix sort in C, too, e.g. some benchmarks [1]
Modern C (C99 and above) is just fine.
Rust and C++ are a triumph of syntax over clarity.
I like the direction the lang Rust is heading, but I too find the rust lang syntax is ugly and over-engineered compared to C, C++11 and Go. Let's hope some ugly bits get deprecated.