Для многих вещей никакой WSL даже не нужен. Ставишь MSYS2/Cygwin – это ничто иное как просто набор утилит. И всё: у тебя теперь нативный bash. Никакой эмуляции-виртуализации не нужно. Никакого оверхеда.
Из минусов: это не линукс, а лишь баш. Так например скомпиленные под линукс программы запускаться не будут. Но большинству скриптов-инсталляторов это не нужно. Curl есть, cat, ls, – и тыща других команд. Целиком весь bash. Так что работаешь как на линуксе. Все что соответсвует POSIX, а это большинство скриптов – будут работать.
Ну и большинство программ уже давно кроссплатформенные. Может какие-то 2-3%, в основном всякое legacy – никак не установишь под винду. Например есть одна прикольная утилита называется screen, весьма популярная у системных администраторов (не тех что компьютерные клубы отсуживают, а скорее сервера на удалёнке). На линукс утилита скачивается отдельно, но на винду её вообще нет. Опять же, ничего не мешает специально для такого случая вызывать утилиту wsl, но это мало кому пригодится.
Короче в основном можно работать нативно, без оболочек, причём уже довольно давно. WSL переоценён. Из минусов по сравнению с полноценным линуксом – у тебя отвратительный виндовый интерфейс, абсолютно все терминалы выглядят как говно, даже какой-нибудь Hyper, или новый Windows Terminal – вот прям все поголовно говно. Обычный родной убунту терминал в десять раз приятнее работает: закладки и прочее, всё более резво работает. На макоси дефолтный терминал - тоже раз в 5 приятнее работает, это тебе не обёртка хрома а нативный терминал, ну и в 50 раз приятнее выглядит того же Hyper.
Круто, спасибо за развернутый ответ! Я тоже думаю, отчасти, что для своих мелких проектов без массивных скриптов для деплоя и прочего, будет вполне ок писать их и на винде. Что там с докером будет, как и в комментах написали, конечно вопрос. На маке, конечно, привыкаешь к тому, что все работает гладко и определенным образом - мне нравится некоторые cli тулзы, brew и тд, поэтому смотрел в первую очередь в wsl или линукс как вторую систему (но думаю будет раздражать, подобный опыт, если нужно выходить из винды и запускать линукс при желании покодить что-то - одна общая система всегда приятнее).
wsl нужен для докера, чтобы не париться с настройкой рабочей среды, не захламлять систему, не было проблем с версиями. Я когда-то тестил, на небольшом проекте под виндой и wsl2 и чисто docker работают терпимо. Если человек под маком работал, то даже лучше. Мод маком если не ошибаюсь до сих пор виртуалка с шарингом волумов типа самбы. После линукса было ужасно медленно.
Ну и конечно надо отказываться от vscode и пользоваться нормальной ide, идея прекрасно работает и интегрируется.
У wsl огромный минус в том, что твою домашнюю винду он запускает как порезанную виртуалку, чекал в аиде тест кеша и памяти с wsl и без - разница космос
Для многих вещей никакой WSL даже не нужен. Ставишь MSYS2/Cygwin – это ничто иное как просто набор утилит. И всё: у тебя теперь нативный bash. Никакой эмуляции-виртуализации не нужно. Никакого оверхеда.
Из минусов: это не линукс, а лишь баш. Так например скомпиленные под линукс программы запускаться не будут. Но большинству скриптов-инсталляторов это не нужно. Curl есть, cat, ls, – и тыща других команд. Целиком весь bash. Так что работаешь как на линуксе. Все что соответсвует POSIX, а это большинство скриптов – будут работать.
Ну и большинство программ уже давно кроссплатформенные. Может какие-то 2-3%, в основном всякое legacy – никак не установишь под винду. Например есть одна прикольная утилита называется screen, весьма популярная у системных администраторов (не тех что компьютерные клубы отсуживают, а скорее сервера на удалёнке). На линукс утилита скачивается отдельно, но на винду её вообще нет. Опять же, ничего не мешает специально для такого случая вызывать утилиту wsl, но это мало кому пригодится.
Короче в основном можно работать нативно, без оболочек, причём уже довольно давно. WSL переоценён. Из минусов по сравнению с полноценным линуксом – у тебя отвратительный виндовый интерфейс, абсолютно все терминалы выглядят как говно, даже какой-нибудь Hyper, или новый Windows Terminal – вот прям все поголовно говно. Обычный родной убунту терминал в десять раз приятнее работает: закладки и прочее, всё более резво работает. На макоси дефолтный терминал - тоже раз в 5 приятнее работает, это тебе не обёртка хрома а нативный терминал, ну и в 50 раз приятнее выглядит того же Hyper.
Круто, спасибо за развернутый ответ! Я тоже думаю, отчасти, что для своих мелких проектов без массивных скриптов для деплоя и прочего, будет вполне ок писать их и на винде. Что там с докером будет, как и в комментах написали, конечно вопрос. На маке, конечно, привыкаешь к тому, что все работает гладко и определенным образом - мне нравится некоторые cli тулзы, brew и тд, поэтому смотрел в первую очередь в wsl или линукс как вторую систему (но думаю будет раздражать, подобный опыт, если нужно выходить из винды и запускать линукс при желании покодить что-то - одна общая система всегда приятнее).
wsl нужен для докера, чтобы не париться с настройкой рабочей среды, не захламлять систему, не было проблем с версиями.
Я когда-то тестил, на небольшом проекте под виндой и wsl2 и чисто docker работают терпимо. Если человек под маком работал, то даже лучше. Мод маком если не ошибаюсь до сих пор виртуалка с шарингом волумов типа самбы. После линукса было ужасно медленно.
Ну и конечно надо отказываться от vscode и пользоваться нормальной ide, идея прекрасно работает и интегрируется.
У wsl огромный минус в том, что твою домашнюю винду он запускает как порезанную виртуалку, чекал в аиде тест кеша и памяти с wsl и без - разница космос
curl уже давно в Винде по умолчанию поставляется
cat, ls, и прочие - это не bash, это GNU utils, у них точно так же есть билды под Винду которые достаточно скачать, распаковать и закинуть путь в PATH