There is a time when you are solving/coding for a specific domain and you quickly start metaprogramming (coding a code generator). That's the moment when you write your own Domain Specific Language. They have a tendency to grow and evolve. In time some of them become full blown programming languages themselves.
My suggestion, learn a few from different paradigms. They are more than eye opening.