It is spooky how much @rygorous and I agree on so many many things. So in lieu of me making a video of my ramblings, watch his instead.
https://www.youtube.com/watch?v=UBhT7nbWpMg
Breadth vs Depth in Programming

YouTube
Fabian talked some about how languages are fundamentally tools, and they're all flawed, and no one language will solve all problems. And I absolutely agree. Some people spend a lot of time creating new languages, and I'm just not sure it's productive.
@TomF There is a balance. I often used both compile-time and run-time macros to provide higher level constructs — a mini-language — that matched my problem domain and let me control some optimizations. My colleague did something similar with an optimizing compiler that basically rewrote the source code (joke was it turned other people’s code into something he would have written). Bottom line: there are good technical and creative reasons to work with customized programming languages.
@meltedcheese Of course. But you should be very aware that that is exactly what you are doing - creating a new language. With all the problems that entails. Keep careful track of your bang/buck, and don't boil your own frog.

@meltedcheese For example - the STL is bad. I hate it. I always create my own versions that do the good thing (and so do plenty of other people .e.g. EASTL etc).

BUT I have learned the hard way that you need to be reasonably close in syntax and terminology to the STL, otherwise people get quickly lost or tripped up.