Why are we still inventing new computer programming languages? We know that they don’t have more expressive power than their simpler, earlier predecessors. Concepts like encapsulation and data hiding are powerful and useful and every individual language seems to have a good reason for coming into existence.
And yet few, if any, programming languages are actually completely known by more than a tiny elite of super gurus. Most programmers live comfortably with a subset of the language which “gets the job done” and, with a bit of luck, doesn’t get them into too much trouble.
It feels as if the rate of language invention is increasing, whilst the depth of knowledge of each individual language is decreasing. The C++ language is huge and knowing the language it is only the tip of the iceberg. Then you need an encyclopaedic knowledge of the libraries you use. Again, programmers settle for a subset of the library that seems to work for them.
Where will it all end? Probably not in better software.