Это гарантирует возможность разработчика - пользователя языка добиться любого результата, используя лишь этот конкретный язык. Т.е. можно написать любую архитектуру, а не ограничиться намертво вкрученной TEA, например
Это плюс, согласен. Но ведь высокая гибкость языка ведет к тому, что все приложения на нем становятся различными велосипедами, разве нет? Меньше возможностей - более ясно как конкретные вещи делать правильно с точки зрения парадигмы, а значит больше внимания высокоуровневой задаче.