А теперь попробуйте разработать курс лабораторных работ для студентов по программирлванию и вы снова поймете, что курс почему-то не получается про Linux, а каким то образом курс становится ориентирован на Альт или Росу или Ubuntu.
Если идёт обучение базовому программированию (теория), то язык программирования и тем более ОС не имеет значения. Надо чтобы обучаемый понял что такое: константы, переменные, ветвления, циклы, очереди и т.д.. А умение их применить - это фундамент.
Далее идёт освоение основных парадигм программирования: процедурная, структурная, аспектно-ориентированная, объектно-ориентированная и т.д.. Здесь тоже язык программирования (единственное условие, чтобы на нём можно её было реализовать) и почти ОС не имеют значения.
А вот когда идёт прикладное программирование (контроллеры, ПЭВМ, сервера, WEB, игры, бухгалтерия

, т.д.), вот здесь и выбирается наиболее подходящий язык, а при наличии поддержки определённых ОС на оборудовании, то и выбирается под ОС.
Учитывая, что мне не приходилось писать софт одновременно под разные ОС или дистрибутивы, для меня эта проблема (создания единой ОС, единообразия в наименовании пакетов, конфигурационных файлов и т.д. ) является - надуманной.