A Better Programming Language
mdmstudios.wordpress.com
mdmstudios.wordpress.com
I disagree with his criteria, however. "An extremely good preprocessor" isn't necessary for every compiler/interpreter. Also, OOP isn't necessarily a requirement in modern languages -- there are other ways of doing things. (Go isn't OOP)
(I personally think Haskell should be the "better programming language," but mostly due to religious biases)
The one thing I can't fix in my head is how to do pointers and real, full-control memory manipulation (and all the fantastic benefits associated with that) and include closures and anonymous functions at the same time (which I think would be the most important addition to C).
I agree with you though, that a preprocessor isn't necessary for a good language, in fact, the only reason CPP exists is because C isn't good enough by itself. A LISP-like macro system in C would be fantastic, but what it would really mean and look like, I can't quite imagine.