Правильно ли я предполагаю, что какой-либо язык программирования может быть изменён программистом и тогда получиться разновидность этого языка и соответственно для него потребуется другой компилятор, так как старый компилятор не скомпилирует? Если да то в каких случаях язык изменяют и часто ли это происходит на практике, наверное появляется новая аппаратная или программная платформа и под неё затачивают какой-либо язык программирования и так получается разновидность языка и новый компилятор?
Вы всегда в одной позе сексом занимаетесь? Простите за моветон. Вопросом на вопрос. В программировании, как и в математике, есть несколько способов решения задачи.
Разные компиляторы появляются по разным причинам. Например, для разных платформ. Или альтернативный компилятор с открытым исходным кодом. Но форки языка обычно все же не создают. ЯП стандартизируются основными разработчиками именно самих языков, компиляторы всего лишь следуют этим стандартам.
синтаксис стараются стандартизировать, для чего создают специальные организации, в которых идёт обсуждение предполагаемых изменений. Компиляторы создают по разным причинам, которые могут быть завязаны на бизнес модель спонсора. Помимо престижности, в своей разработке можно позволить себе - отойти от стандарта, введя только для тебя работающие плюшки или наоборот упростить (VBA) - создать более продвинутый относительно конкурента продукт, создающий более оптимизированный исполняемый код. Напрм, компиляторы ИНТЕЛ с/с++ и Фортрана показывают лучшие параметры в определённых тестах