As the world of programming grows, I think it's natural that programmers become more specialized. I think the value provided by sophisticated, complex tools (the language and core API) is worth the additional complexity. I don't think you can avoid complexity by sticking with simple tools - you simply offload the complexity into the application code and end up in the same situation where in order for new programmers to understand the code, they have to have extensive knowledge of the application codebase.
It may even be that concentrating the complexity in the language allows programmers to more easily switch between projects and get up to speed on new projects since they're already familiar with the language complexity and thus have less application-specific complexity to learn.