> that is not influenced by any other programming related knowledge to be specified at the right abstraction level using abstractions that are easy to implement?
Why do they need to be easy to implement? We're talking about design. A lot of PL design is hard to implement. And why does it need to be programming related knowledge? We shouldn't restrict them to things that are easy to implement because then we'd restrict them to a very small subset of possible languages.
So when you say "A language they come up with is not going to be good", then I have to ask how are we measuring good? Because if you think that a teacher would not write a good programming language to write programs in, then I would probably agree with you, because writing programs is not something teachers do.
But like I said, not all programming languages are used to make programs. Most people use a programming language to do things that decidedly don't look like programming to you and I. For example a lot of developers consider Excel to be a not good language for writing programs. Programmers usually lament that Excel users would be better served by a "proper database", but they neglect to appreciate that making this change would quite literally ruin the tool for them. But there are more Excel programmers than all other developer-centric languages combined.
I think a teacher who uses Excel to to manage their classes could design a very compelling DSL for classroom automation.
> I personally do not even think a kid is going to come up with some revolutionary concept
We were talking about teachers designing the language. The children came into the picture because they would provide teachers a model for relating to the pedantic nature of computers.