I disagree with the fragmentation concern, at the end of the day there’s not that much difference between that kind of fragmentation and library fragmentation. Try porting one application to a different, say, web framework. Full disclosure: I develop excess, probably the first website to allow users to extend a language (c# w/Roslyn)
Now let see the advantages:
1- Domain specific languages will always exist and programming languages should be aware of this. The way it is now, code must be written in ways that are inefficient and lack the expressiveness necessary for such domains.
2- Programming languages would become more community driven, anyone can write an extension, if it is not good, nobody would use it. If it is very good it could be adapted by language designers. Democracy, if you wish
3- Companies could develop their own “best practices” and bake them into their language of choice, thus avoiding the “newbie programmer” problem that doesn’t really have any other good solution.
In general, I feel it would accelerate innovation and lesser extensions, although certainly problematic, would be rejected by the community, not the few designated language designers.
But then again, I might be a little biased, lol. I leave you with an example of an extension of c# I have always wanted and now its possible to write in about 150 lines of code: http://xslang.azurewebsites.net/#/project/4