ну их собирает начальник и говорит "вот наш язык версии 5.0 отлично работает. нет багов, нет проблем. получается вас всех пора уволить? на кой хрен вы здесь нужны? быстро сели и придумали новую версию, чтоб была несовместима со старой, чтоб все поделились на юзеров старой и новой версии и спорили какая лучше, а мы будем всех плавно тащить на новую, откроем новые курсы обучения этой новой версии, выпустим дополнения/модули для этой новой версии, несовместимые со старой. В общем, создадим видимость что работаем, ну и неплохо наварим деньжат на лохах)
Новый функционал - это, большей частью, не что-то действительно новое, а способ сделать то же самое более удобно. Оставление в языке устаревших конструкций приводит к бессмысленному раздуванию языка и усложнению написания / чтения кода. Вместо одного способа сделать что-то получаем 10 похожих, но отличающихся деталями способов, каждый из которых надо знать и уметь использовать.
Просто посмотри, что творится в JavaScript - в котором ради мифической "совместимости" сохраняют все ляпы первых версий языка.
P.S. Тебя кто-то заставляет срочно переходить на новую версию компилятора? Никакой компилятор/интерпретатор не прекращает работу с выходом новой версии языка и ничего не мешает тебе продолжать его достаточно долго использовать. На то, чтобы внести правки в код, у тебя есть несколько ЛЕТ. И если автор кода дотянул до момента, когда старый компилятор перестал работать, то виноват в этом только он сам.