Здравствуйте, Skorodum, Вы писали:
Ops>>но тут рядом отстаивают необходимость этот мусор, и всякий сопутствующий ему цыгвын, обязательно таскать вместе с ним. S>Уже вроде не обязательно. Есть же WSL, а там все родное: apt install git.
А можно и без линуксового стаффа.
S>З.Ы. Никто не мешает ни тебе, ни МС запилить свою версию гита с бледжеком и без зависимостей
Здравствуйте, Слава, Вы писали:
С>Обычно подобное состояние у людей зовётся синдромом Маугли. Т.е. найден дикий разработчик, воспитанный чёрными терминалами. Передвигается на четвереньках, воет на perl.
Либо наоборот, когда для разработчика слова "программирование" и "msvs" слова с одним смыслом.
И отсутсвие в проекте подкаталога с пачки разных .sln файлов для разных версии студии вызывает панику.
Этот топик, кстати, с такого начался.
Здравствуйте, Ночной Смотрящий, Вы писали:
I>>Используют в том числе и плюсы
НС>Конечно. Как аргументы заканчиваются — сразу всплывают разработчики АЭС. Закон Годвина для КСВ.
Какие еще АЭС? Стоимость билдов вместе взятых на обычном проект это деньги сравнимые с ЗП одного разработчика за тот же период. То есть, сумма в масштабе бизнеса очень маленькая.
Вот скажем софт для оператора такси, если он глючит, то всего за вечер суммарные потери превысят заработок всей команды за месяц. 1000 таксистов недополучит по 1000 рублей заказов. А это ЗП трех-четырех девелоперов в месяц. 1000 такси это совсем небольшое количество.
С торговыми точками, складами, доставкой, логистикой и тд все гораздо веселее.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Нет, это принципиальный момент в контексте разговора.
Принципиальный обсуждаемые момент это "мутные файлы" и определение инфраструктуры сборки. ТС хочет иметь в корне только "MySuperProject.sln" и легкую сборку на своей машине, но это уровень начала 2000-х. Определение процесса сборки через travis.yml, azure-pipelines.yml или Dockerfile это уже промышленный стандарт. Какое количество софта при этом переустанавливается — абсолютно не принципиально (да и в реальности не важно, т.к. практическая реализация все это может кэшировать).
НС>Все там прекрасно работает. Есть и репы МС, и собственный реестр образов и контейнеров можно завести.
Можно, но для CI и build pipelines это о-о-о-о-очень медленно (source: пару месяцев назад именно с этим и эксперементировал). docker pull виндового образа занимает 40+ минут (там же вложенная виртуализация получается да и размер виндовых образов 5+ Gb, ЕМНИП).
Здравствуйте, Ночной Смотрящий, Вы писали:
Ops>>>но тут рядом отстаивают необходимость этот мусор, и всякий сопутствующий ему цыгвын, обязательно таскать вместе с ним. S>>Уже вроде не обязательно. Есть же WSL, а там все родное: apt install git. НС>А можно и без линуксового стаффа.
Тут ты нить дискуссии потерял. У Ops притензии к софту который идет с гитом, ему видать хочеться устанавливать только git.exe.
S>>З.Ы. Никто не мешает ни тебе, ни МС запилить свою версию гита с бледжеком и без зависимостей НС>Так уже давно запилено.
Вот прям полностью альтернативная реализация в результате которой устанавливается только git.exe? или ты про LFS расширение?
Здравствуйте, Skorodum, Вы писали:
S>Вот прям полностью альтернативная реализация в результате которой устанавливается только git.exe? или ты про LFS расширение?
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Я про libgit
Ну так в чем проблема Ops'у использовать минимальную обертку над этой библиотекой и не раздражаться от наличия Git Bash? Подскажи ему.
Ну и что-то мне подсказывает, то за libgit больше "осиляторов", чем сторонников *.sln.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Ссылку на то как это делается я здесь уже давал. НС>Потому что кто то по незнанию начинает придумывать удобные факты.
Да, есть прогресс, только несмотря на относительно безграничные ресурсу лет на дцать отстают.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Для этого нет нужны накатывать все с нуля.
Это самый простой и надежный способ. Все остальное гарантий не дает.
НС>Тогда теряется весь нам тут расписываемый кайф, когда инфраструктура жестко связана с кодом.
Нет, связать репы не проблема ни разу.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Вот только основной код системы, как правило, на порядки больше и на порядки сложнее. НС>В результате вероятность появления багов в нем на много порядков выше. Но вы жертвуете временем билда чтобы наловить каких то очень редких блох, заметляя фикс в основном коде. Логика.
Это не столь очевидно. Процесс сборки это склейка/использование нескольких больших и очень сложных систем (система сборки, компиляторы, etc). И сложность там растет совсем не ленейно. Собственно весь топик об этом: если надо сделат HelloWorld под Win, то все просто и в студии, а если надо кроссплатформенный HelloWorld, то все становится намного веселее, а если надо несколько библиотек, кодогенерацию, подписи, etc, то все становится совсем весело и вероятность ошибки довольно велика (зачаствую из-за внешних багов или "фич").
Еще такой момент: с языком программирования программист обычно работает каждый день и более менее знает, а вот средства которые используются раз в полгода — приходиться гуглить, поэтому вероятность ошибки нельзя сравнивать просто по количеству кода.
Здравствуйте, Ночной Смотрящий, Вы писали:
IID>>>Это всё прекрасно, но нафига при каждом билде всё переустанавливать ? НС>·>Чтобы 100% гарантировать, что текущий билд никак не зависит от предыдущих. Это самый простой и дешевый способ. Очевидно почему? НС>Для этого нет нужны накатывать все с нуля.
А какие другие варианты?
Ну, скажем, типичный пример для виндомира — версия .net framework. Может меняться туда-сюда ради экспериментов, ревертов или бисектов.
"Осиляторы", конечно, обычно не пишут такой эпиквин как .net framework, который вгрызается в систему по самые гланды и хрен выковыряешь без переустановки с нуля... но ведь можно банально и ошибиться (а мы говорим о 100% гарантии) и где-то не так наследить.
IID>>>Например все исходники и ключи доступны только нескольким инженерам аудита и безопасности, основная часть доступна core team, остальные используют SDK. И прочие возможные вариации. НС>·>Угу. И соответственно отдельные репы с ограниченным доступом. НС>Тогда теряется весь нам тут расписываемый кайф, когда инфраструктура жестко связана с кодом.
Что значит "жестко"? И как будет "нежестко"?
У вас весь код лежит в одном репо и все всё могут видеть и править?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, Skorodum, Вы писали:
S>Это не столь очевидно. Процесс сборки это склейка/использование нескольких больших и очень сложных систем (система сборки, компиляторы, etc). И сложность там растет совсем не ленейно. Собственно весь топик об этом: если надо сделат HelloWorld под Win, то все просто и в студии, а если надо кроссплатформенный HelloWorld, то все становится намного веселее
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>А ты не путай отношение к тебе, и к обожаемому тобой языку, это не одно и тоже.
Вежливость это не ругать то, чего не знаешь. Если ты занимаешься задачами, где и C# подойдет — прекрасно, у него есть свои достоинства, но не стоит критиковать решения, которые созданы для задач о которых ты не знаешь.
Есть задачи, где С/С++ нет никой альтернативы и не появится в обозримой исторической перспективе. Инфраструктура вокруг этих задач равзивается и пересекается с твоим миром, но это не повод для жесткого батхерта.
Здравствуйте, Skorodum, Вы писали:
НС>>А ты не путай отношение к тебе, и к обожаемому тобой языку, это не одно и тоже. S>Вежливость это не ругать то, чего не знаешь.
Глупость сейчас сказал.
S> Если ты занимаешься задачами, где и C# подойдет — прекрасно, у него есть свои достоинства, но не стоит критиковать решения, которые созданы для задач о которых ты не знаешь.
А вот очередной переход на личности это точно к вежливости отношения не имеет.
S>Есть задачи, где С/С++ нет никой альтернативы и не появится в обозримой исторической перспективе.
Здравствуйте, Ночной Смотрящий, Вы писали:
S>>Вежливость это не ругать то, чего не знаешь. НС>Глупость сейчас сказал.
Ну так называть С++ "языком курильщика" это либо от недостатка опыта, либо от недостатка ума
S>> Если ты занимаешься задачами, где и C# подойдет — прекрасно, у него есть свои достоинства, но не стоит критиковать решения, которые созданы для задач о которых ты не знаешь. НС>А вот очередной переход на личности это точно к вежливости отношения не имеет.
В чем тут переход на личности? Ну сидишь ты в виндовом мире без ограничения на энергию и память — можешь и C# использовать. Только вот задачи бывают и совсем другими и альтернатив С/С++ там нет.
S>>Есть задачи, где С/С++ нет никой альтернативы и не появится в обозримой исторической перспективе. НС>Страдай. Могу тебе только посочувствовать.
Зачетный слив
Здравствуйте, Ночной Смотрящий, Вы писали:
S>>Это не столь очевидно. Процесс сборки это склейка/использование нескольких больших и очень сложных систем (система сборки, компиляторы, etc). И сложность там растет совсем не ленейно. Собственно весь топик об этом: если надо сделат HelloWorld под Win, то все просто и в студии, а если надо кроссплатформенный HelloWorld, то все становится намного веселее НС>Ну да, все опять свелось к языку курильщика.
А причём тут язык? Можно лабать вебсайтики на священном c# в родной Студии. Но вот захочется (а в любом сколько-нибудь нетривиальном проекте захотеть придётся) во время билда чего-нибудь необычного, прогонять какие-нибудь selenium-тесты, да ещё и на разных браузерах, разных версий — вот сложность и попёрла.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, Skorodum, Вы писали:
НС>>Глупость сейчас сказал. S>Ну так называть С++ "языком курильщика" это либо от недостатка опыта, либо от недостатка ума
Это мое личное мнение, и ничего невежливого в его высказывании нет. А вот ты опять нахамил.
НС>>А вот очередной переход на личности это точно к вежливости отношения не имеет. S>В чем тут переход на личности?
При том что это самое натуральное хамство и есть.
S> Ну сидишь ты в виндовом мире без ограничения на энергию и память — можешь и C# использовать
Не угадал.
S>Только вот задачи бывают и совсем другими и альтернатив С/С++ там нет.
Я тебе уже сказал — сочувствую. Что ты еще от меня хочешь? Чтобы я одобрял этот маразм языкостроения? С какой стати?
При том что именно он тут основной источник проблем.
·> Можно лабать вебсайтики на священном c# в родной Студии. Но вот захочется (а в любом сколько-нибудь нетривиальном проекте захотеть придётся) во время билда чего-нибудь необычного, прогонять какие-нибудь selenium-тесты, да ещё и на разных браузерах, разных версий — вот сложность и попёрла.
Ну как обычно, начинаем резко сползать с билда на тесты.
Впрочем, у меня все это гоняется, и селениумы и много чего еще (например, один из проектов собирается под 13 платформ, и тесты тоже на всех них гоняются). Но чего то описанных ужасов со сборкой нет — прекрасно работает на куче разных билд-серверов и локально на машинах разработчиков. Так что могу только согласиться с IID — сначала разводят фантастический, с наслоениями, бардак, спихнув сборку на самых низкоквалифицированных разработчиков, а потом придумывают чудовищные с инженерной точки зрения костыли.