Pull to refresh

Comments 10

В новой версии разработчики случайно использовали для компиляции Windows Terminal серии 1057 инструментарий MSVC 19.38

Хмм, то есть там каждая команда билдит чем хочет и отдаёт на распространение бинарник?

А как иначе? Windows Terminal - самостоятельное приложение, которое распространяется в том числе через Стор.

По хорошему - билдить отдельно можно, но используя стандартное окружение (компилятор и т.д.), одобренное архитектором ОС (на основе инпута от QA команды, явно тестирующей построение всей системы новым компилятором перед переходом на него). Тогда подобных проблем не будет.

явно тестирующей построение всей системы новым компилятором перед переходом на него

Так эта команда тоже облажалась, в конце статьи как раз написано)
Ну и "монолитная" Винда - довольно тяжеловесная штука, там наверняка переход на новый компилятор идёт медленнее, чем в остальных проектах. И соблазн перевести отдельный продукт побыстрее очень велик. В C++ в последние годы наблюдается взрывной рост фичей в языке и в стандартной библиотеке, и многие хотят себе в проект свежий компилятор (особенно если компилятор немного отстаёт в реализации чего-либо из свежего стандарта).

И соблазн перевести отдельный продукт побыстрее очень велик

Тогда за систему в целом никто не отвечает. Одно дело, если этот продукт явно ставит небольшая часть пользователей, другое - когда это ключевая часть системы.

использовали для компиляции Windows Terminal серии 1057

Не серии, а сборок 1057x (например, 10572)

It turns out that the 1057x build series of Terminal was built with MSVC 19.38.

с другой стороны... ну а доколе? Сегодня из-за PopCnt компилятор заапдейтить не могут, завтра скажут зачем вам условный AVX2 в Paint? Возвращайте всё взад, я хочу рисовать пэинте в Windows 12 на 15-летнем компе, который даже официально не поддериживается в этой ОС, но я ж хакер, я смог поставить. Нужен какой-то здравый компромисс... почему сотни миллионов пользователей должны десятилетиями юзать софт, собранный старыми компиляторами без поддержки новых фич железа ради двух с половиной консерваторов? За что энтузиасты, собссно, деньги платили? ))

К сожалению, не в генту мире живём, где каждый может пересобрать ОС под себя и своё железо. Нужно с пониманием относиться и поддерживать прогресс.

Кто-то вам мешает самому себе собрать самыми свежими компилятором? Исходники доступны. Я про терминал.

А винда целиком - где эта грань, когда старьё, а когда "ещё походит"? Тем более что реально для огромного количества сфер применения винды - старого железа десятилетней+ давности ещё выше крыши, если памяти подкинуть, ссд поставить и не брать самые дохлые из линеек процессоры.

В винде с гранью же, согласен, непросто. Но мы говорим про коммерческие продукты, у которых есть явно обозначенные сроки поддержки и явно обозначенные списки поддерживаемого оборудования. Да, это в какой-то мере костыль, но это необходимый костыль для сдерживания хаоса и бесконечного роста издержек. И у MS еще довольно лояльные условия. Гугл с каждой версией андроида поднимает минимальный API level. В MacOS и iOS тоже дольно узкое окно "свежести" софта. И, да, меня как разработчика это очень вдохновляет. Хотя кто-то может просто назвать меня ленивой ж, которая не хочет обеспечивать совместимость со всем старым добром, но мне хочется писать код, который делает что-то новое, а не тратить 90% времени на стагнацию и заботу о том, чтобы у 10% пользователей оно тоже заработало... Особенно учитывая, что эти проблемы по закону Парето попадают в те самые 90% усилий. А финансовая экономика разработки должна быть экономной. Если уж пользоваться железом, вышедшим за рамки цикла поддержки - так и в софте нужно продолжать пользоваться лишь теми функциями, которые были доступны на тот период. Они же в один момент не превращаются в тыкву. Ну либо как минимум не жаловаться, что если что-то пошло не так, и радоваться, когда получилось заюзать что-то новое.

Вполне близкий пример из опенсорса: популярная практика, когда свободно распространяемая библиотека переходит на платную лицензию, оставляя при этом старые версии в бесплатном доступе. Хочешь оставайся на замороженной старой версии, хочешь плати и пользуйся добавленным функционалом. Да, у прогресса есть цена, без которой его рост в текущих реалиях непредставим для коммерческого ПО, либо ПО, которое работает на коммерческой платформе, основной целью которой - прибыль.

Sign up to leave a comment.

Other news