C++ is indeed a meta-language, i.e., many different styles are possible: some
write C code with the STL, some write truly oriented object code with
polymorphism and so on, some write STL-like code with iterators everywhere
and function objects, some write generic code (the templates), etc. Many C++
programmers ignore parts of the language (say, no template, no function
objects, no malloc/free) to get a code that is, arguably, easier to
understand. Bjarne Stroustrup (the creator of C++) argue in the opposite way:
that combining the different paradigms leads to a more concise and powerful
code.
Talking about languages with many different styles, I forgot about Perl that
would be between Python and AWK. It is however much slower than both of them,
the grammar of the language is (even theoretically) more complicated than
that of any popular language and the so many ways to write one thing in Perl
really is problematic, I believe. The authors of the language would obviously
disagree: they see that as letting the programmer express her creativity.
I did not talk about Shell scripting but I do that a lot when the problem to
solve is small, involves files, or text inputs (but without the need for
AWK's power), etc. However the Shell by itself is ugly, slow and an horror to
debug. That is why I now see Shell scripts of hundreds of lines as an
abomination. For really small problems, Shell scripting is fun. It is like a
puzzle: how to chain with pipes extremely efficient but specific commands
(for text processing: head, tail, cat, tr, wc, cut, paste, comm, join, sort,
uniq, grep, etc.) to get the correct output?