﻿# Интересно, а в какой среде работают разработчики Microsoft? Linux?

Насчет Linux я конечно шучу\. Тем не менее, меня интересует этот вопрос\. Я понимаю, что системы, над которыми работают в Microsoft, большие и сложные\. Я отлично представляю, как баг может быть обнаружен только через некоторое время пользователями\. Но мне не понятно, как можно не замечать явных ляпов в инструментах, которыми сами разработчики должны пользоваться регулярно\.

В начале, немного о классических ошибках\. С ними всё понятно\. Их легко не заметить разработчикам, так как они не являются конечными пользователями\. Хорошим примером является ошибка в одной из версий Microsoft Visio\. Кажется, это была версия 2010 года\. Если вы начинали вводить текст в блок из Basic Flowchart на русском языке, то он вводился задом наперед\. Это я понимаю\. Кто\-то напутал и решил, что в русском языке пишут справа налево\. Русский и арабский – это одно и тоже, или очень похоже\. Среди тестеров русских людей не нашлось, и ошибка ушла в release версию\. Вот эту ситуацию я понимаю\.

А вот то, что происходит в среде Visual Studio, не поддаётся логическому объяснению\. Они совсем не пользуются этой средой? Я подозреваю, что для сборки они используют сложные билд\-системы\. Но неужели никто во всем Microsoft не использует саму Visual Studio для работы? Если использует, то мне не понятно, как можно не замечать явных промашек\.

Притчей во языцех, является функция поиска в среде Visual Studio 2010 \[[1](https://social.msdn.microsoft.com/Forums/vstudio/en-US/86b113b6-0c80-4628-846f-9cdf9d3f40d1/annoying-growing-find-and-replace-dialog?forum=vseditor), [2](https://support.microsoft.com/en-us/help/2268081/the-find-and-replace-dialog-box-grows-in-width-every-time-that-you-ope), [3](https://weblogs.asp.net/scottgu/patch-for-vs-2010-find-and-replace-dialog-growing), \.\.\.\]\. Кто использовал Visual Studio 2010, тот думаю, сразу поймёт о чём я\. Неужели никто из разработчиков Visual Studio сам не нажимал Ctrl\-F в этой среде?

С выходом Windows 8 разработчикам подкинули очередной глюкодром\. На каких программах он будет проявляться, я не знаю\. Я могу рассказать, как это сказывается на PVS\-Studio\. У нас он проявляется на связке Windows Defender и компилятора Visual C\+\+\. Мой коллега написал [техническую заметку](https://pvs-studio.ru/ru/blog/posts/0180/) про это\. Однако я перескажу её суть более просто и эмоционально\.

Итак, жила была в Windows система Windows Defender\. В Windows 8 эта система стала представлять собой своего рода бесплатный антивирус\. Всё замечательно\. Однако теперь PVS\-Studio стал работать в несколько раз медленнее\.

Какая связь? Связь тонкая и неочевидная\. Анализатор PVS\-Studio запускает для препроцессирования компилятор Visual C\+\+ \(cl\.exe\)\. Так вот, теперь препроцессирование выполняется только на одном ядре, если включен Windows Defender\. Чудеса и магия\.

Читатель наверняка скажет: "Вы наверное процессы неправильно создаёте\. Проверьте Affinity Mask\."\. Нет, с эти всё в порядке\. Проблема в связке Windows Defender с Visual C\+\+\.

При этом где\-то внутри Windows Defender есть механизм из пластилина и бумаги\. Он помогает Visual Studio работать на первый взгляд правильно\. При параллельной компиляции используются все ядра процессора\. Однако стоит в настройках прописать ключики /P и /c, как всё ломается\. Нажимаем F7 в Visual Studio и все процессы CL\.EXE начинают запускаться на одном ядре\. Забавно наблюдать, как на 8\-ядерном процессоре все процессы ютятся на одном ядре, отъедая скромные 12%\. Остальные 7 ядер в это время пьют чай\.

Стоит отключить Windows Defender и всё начинает работаться нормально\. Уверен, что от Windows Defender скоро пострадают и другие программы\.

Вернемся к PVS\-Studio\. Ему необходимо запускать CL\.EXE как раз для препроцессирования файлов\. В результате всё это делается на одном ядре\. Прискорбная ситуация\. Причем явное задание Affinity Mask ничем не помогает\. Windows Defender крепко держит систему в своих руках\.



**И** **вот** **тут** **у** **меня** **вновь** **возникает** **вопрос\!** **А** **что,** **в** **Microsoft** **программисты** **работают** **с** **отключенным** **Windows** **Defender?** **Неужели** **никто** **нигде** **ни** **разу** **не** **заметил** **странностей?** **Или** **никто** **не** **использует** **Visual** **Studio?** 



С одной стороны всё это кажется мелочами и обыкновенными суровыми буднями программистов\. Мы много чего уже повидали странного в сложных системах\. Но всё равно ситуация меня расстраивает\. Как устранить замедление, не отключая Windows Defender не понятно\. Интернет пока молчит\.

Первопричина всего это в том, что при разработке используется не та среда, которая предлагается пользователям\. И ещё вопрос\. Если, например, внутри Microsoft действительно отключают Windows Defender, то нужна ли такая полезная система нам?

Обращение к разработчикам\. Не только Microsoft, а вообще всем\. Используйте приложения, которые вы разрабатываете\. Иначе сразу чувствуется, что вы не доверяете своей собственной системе\. Это вылезает из разных щелей\. И это очень негативно сказывается на отношении к продукту\.