В языках ( а может и в библиотеках) должны быть разные уровни для разных людей.
Ну скажем если кто то пишет инфраструктуру, ему можно пользоваться Reflection, а вот тому кто пишет бизнес логику — нельзя.
Ну или, скажем, closures — повышают читабельность кода, но abuse, не корректное использование — запросто.
Поэтому начинает программер сразу после универа — без всяких closures, а научился чему то
Интересно — существуют ли такие «уровни» где то в программировании?
Как их можно реализовать технически?
Оправдано ли это?