Different levels of languages

    In the wake of discussions about innovations in Java and all kinds of new-fangled languages ​​like Rock and Groove, this is the idea.
    Languages ​​(and maybe libraries) should have different levels for different people.

    Well, let's say if someone writes infrastructure, he can use Reflection, but he who writes business logic cannot.
    Well, or, say, closures - increase code readability, but abuse, misuse is easy.
    Therefore, the programmer begins immediately after the university - without any closures, and he learned how to put a bottle on the architect - you can use them.

    I wonder if such “levels” exist somewhere in programming?
    How can they be technically implemented?
    Is it justified?

    Also popular now: