В сети периодически встречаются статьи и видео сравнивающие различные ОС в разных аспектах. Кто-то ревностно отстаивает преимущества одной ОС перед другой, часто имея о второй весьма поверхностные представления, кто-то приводит более объективное сравнение. Но почти все они несут взгляд со стороны обычного пользователя. Я же хочу привнести своё видение разработчика на различные десктопные ОС.
Скорее всего, взгляд будет всё равно субъективным. Во-первых больше всего я занимаюсь серверной разработкой, что сильно отличается от типичных нюансов десктопа, но в своё оправдание скажу, что имею не малый опыт с вебом, а так же мне приходилось иметь дело с десктопной разработкой (пару раз это были корпоративные штуки на электрон, ну и для себя мучаю таури, во всех случаях сразу под 3 ОС - винда, мак и линукс). Во-вторых, моей основной ОС многие годы являются различные линуксы и конкретно сейчас я считаю Арч линукс лучшей ОС для десктопа и именно она у меня стоит на ПК, но в своё оправдание скажу, что с другими ОС я всё таки имею дело достаточно часто, макбук мой основной инструмент для работы вне дома, а на втором ноуте у меня установлена Win11 pro + у меня несколько лет назад был почти 2х летний эксперимент жизни на Win10 pro (хоть он и закончился не успешно, но я подумываю его повторить, уже с 11 виндой). Так что будем считать, что моё сравнение всё-таки подтверждено некоторым опытом.
Для начала хочу отметить, что большинству разработчиков скорее всего должно быть всё равно из под какой ОС разрабатывать. Большинство популярных IDE одинаково работают и под виндой и под линуксом и под маком. То же самое можно сказать про git. А многие другие инструменты вообще живут в web.
Но есть нюансы, поэтому начнём с них.
Мобильным разработчикам под iOS без вариантов придётся работать под MacOS, неважно пишут ли они нативку на Swift или кросплатформу на ReactNative/Flutter/Xamarin или чём-то подобном. Собрать приложение получится только из под MacOS и подключиться дебаггером тоже. С теми же проблемами Вы столкнётесь если захотите собрать что-то под саму MacOS, кросскомпиляция здесь отсутствует от слова совсем.
Чуть лучше живётся тем кто разрабатывает web-приложения, индустрия зовёт их фронтендерами (надо доделать видео про исковерканные индустрией термины...). С одной стороны браузер есть везде, вот только не любой. Когда-то давно огромной болью был Internet Explorer живущий только на винде, на благо он сдох. И теперь пальму первенства, как самый проблемный браузер занимает Safari, который есть только на устройствах Apple. Особая боль это Safari на iOS, дебаггером в него можно подключиться только с Safari на MacOS, так ещё и другие браузеры на iOS бывают только на его движке (и дебаггером к ним вообще не подключиться).
Ну и последняя категория - это .Net разработчики. Хоть в последнее время .Net и стал кросплатформенным, нормально разрабатывать можно только в Visual Studio, которая есть только под виндой. И Rider от JB здесь не панцея, хотя в какой-то степени может помочь.
Возможно кого-то ещё забыл, кому нужна какая-то конкретная ОС. Но в целом большинство вещей спокойно разрабатываются из под любой операционки. Правда есть ещё несколько нюансов, которые уже не настолько критичны. Затронем и их.
Большинство серверов сегодня живут на линуксе, изредка встречается FreeBSD, которая тем не менее Unix и достаточно схожа с линуксом. Крайне редко можно встретить сервера на винде. Однако популярные сегодня Python, Node.js, Java, Go практически полностью прячут от нас нюансы операционок. Rust и C++ стремятся к тому же. Однако бывают моменты, когда приходится завязываться на Linux-специфичные вещи, вроде inotify - потестить их из под винды или макос будет проблематично, виртуалки в помощь.
А ещё стандартом индустрии сегодня стал Docker, который основан на линуксовых cgroups и namespaces. Правда есть Docker Desktop, который на маке поднимет виртуалку с минималистичным Linux, а на винде умеет работать из под WSL или так же с виртуалкой как на MacOS.
Особенностей различных ОС много. Здесь я пробежался лишь по самым верхам. Продолжение следует...
Скорее всего, взгляд будет всё равно субъективным. Во-первых больше всего я занимаюсь серверной разработкой, что сильно отличается от типичных нюансов десктопа, но в своё оправдание скажу, что имею не малый опыт с вебом, а так же мне приходилось иметь дело с десктопной разработкой (пару раз это были корпоративные штуки на электрон, ну и для себя мучаю таури, во всех случаях сразу под 3 ОС - винда, мак и линукс). Во-вторых, моей основной ОС многие годы являются различные линуксы и конкретно сейчас я считаю Арч линукс лучшей ОС для десктопа и именно она у меня стоит на ПК, но в своё оправдание скажу, что с другими ОС я всё таки имею дело достаточно часто, макбук мой основной инструмент для работы вне дома, а на втором ноуте у меня установлена Win11 pro + у меня несколько лет назад был почти 2х летний эксперимент жизни на Win10 pro (хоть он и закончился не успешно, но я подумываю его повторить, уже с 11 виндой). Так что будем считать, что моё сравнение всё-таки подтверждено некоторым опытом.
Для начала хочу отметить, что большинству разработчиков скорее всего должно быть всё равно из под какой ОС разрабатывать. Большинство популярных IDE одинаково работают и под виндой и под линуксом и под маком. То же самое можно сказать про git. А многие другие инструменты вообще живут в web.
Но есть нюансы, поэтому начнём с них.
Мобильным разработчикам под iOS без вариантов придётся работать под MacOS, неважно пишут ли они нативку на Swift или кросплатформу на ReactNative/Flutter/Xamarin или чём-то подобном. Собрать приложение получится только из под MacOS и подключиться дебаггером тоже. С теми же проблемами Вы столкнётесь если захотите собрать что-то под саму MacOS, кросскомпиляция здесь отсутствует от слова совсем.
Чуть лучше живётся тем кто разрабатывает web-приложения, индустрия зовёт их фронтендерами (надо доделать видео про исковерканные индустрией термины...). С одной стороны браузер есть везде, вот только не любой. Когда-то давно огромной болью был Internet Explorer живущий только на винде, на благо он сдох. И теперь пальму первенства, как самый проблемный браузер занимает Safari, который есть только на устройствах Apple. Особая боль это Safari на iOS, дебаггером в него можно подключиться только с Safari на MacOS, так ещё и другие браузеры на iOS бывают только на его движке (и дебаггером к ним вообще не подключиться).
Ну и последняя категория - это .Net разработчики. Хоть в последнее время .Net и стал кросплатформенным, нормально разрабатывать можно только в Visual Studio, которая есть только под виндой. И Rider от JB здесь не панцея, хотя в какой-то степени может помочь.
Возможно кого-то ещё забыл, кому нужна какая-то конкретная ОС. Но в целом большинство вещей спокойно разрабатываются из под любой операционки. Правда есть ещё несколько нюансов, которые уже не настолько критичны. Затронем и их.
Большинство серверов сегодня живут на линуксе, изредка встречается FreeBSD, которая тем не менее Unix и достаточно схожа с линуксом. Крайне редко можно встретить сервера на винде. Однако популярные сегодня Python, Node.js, Java, Go практически полностью прячут от нас нюансы операционок. Rust и C++ стремятся к тому же. Однако бывают моменты, когда приходится завязываться на Linux-специфичные вещи, вроде inotify - потестить их из под винды или макос будет проблематично, виртуалки в помощь.
А ещё стандартом индустрии сегодня стал Docker, который основан на линуксовых cgroups и namespaces. Правда есть Docker Desktop, который на маке поднимет виртуалку с минималистичным Linux, а на винде умеет работать из под WSL или так же с виртуалкой как на MacOS.
Особенностей различных ОС много. Здесь я пробежался лишь по самым верхам. Продолжение следует...