Что безопаснее linux или mac os
MAC OS vs WINDOWS vs LINUX. Плюсы и минусы, области применения?
Windows:
Совместимость: практически любая программа либо работает либо имеет аналоги под Windows; драйверы для любых устройств; много игр.
Вирусы: большинство вирусов нацелены на Windows. Придётся покупать (или пользоваться бесплатным) антивирус. Постоянно обновлять, следить за тем который лучше или хуже справляется с поставленной задачей.
Скорость: «У нас на самолёте есть бассейн, теннисный корт, ресторан и диско площадка. А теперь давайте попробуем взлететь со всей этой хренью». Windows жрёт очень много ресурсов. В нём много лишнего для обычного пользователя, и естественно средний пользователь не сможет разобраться что лишнее, а что нет.
Mac OS:
Вирусы: их практически нет.
Надёжность: операционка написанная под конкретный наборы железа (конфигурации компьютеров). Исходя из этого, функционирует она так как должна. Редко ломается.
Цена: раньше в этой графе я бы написал что «посмотрите что Вы покупаете из начинки для мака, и что за туже цену Вы можете взять для ПК», но сейчас всё стало более размеренным. Маки всё ещё дороже в соотношении цена-начинка но уже не на столько как ранее, к тому же это компенсируется плюсом №2.
Физический компьютер: как было сказано ранее, Mac OS рассчитана на конкретные конфигурации, и потому крайне не рекомендуется устанавливать её на компьютер не от Apple. Это не значит что она не будет работать. Работать будет, но придётся повозиться с настройками.
Linux:
Здесь достаточно сложно дать однозначный ответ, так как существует очень много дистрибутивов Linux и они порой очень сильно отличаются. Если в общих чертах то:
Цена: очень много дистрибутивов бесплатны. Вы можете установить и внести свою лепту в разработку. Полностью модифицировать систему под себя. Естественно для этого Вам нужно понимать что и зачем Вы делаете. Много бесплатных программ и аппликаций.
Сложность: некоторые дистрибутивы достаточно просты в использовании, однако в большинстве случаев Вам будет нужно действительно хорошо знать компьютер и саму систему что бы эффективно пользоваться ею.
Совместимость: если вкратце, то смотрите тот же пункт в Mac. Здесь однако всё менее однозначно, в связи с тем что очень много софта с открытым кодом, где можно вносить свои изменения. Это требует много времени и усилий. Бывают моменты что драйверов для Ваших устройств не существует, и их приходится либо писать самому с нуля, либо использовать что-то подходящие под все типы данного устройства. Естественно функциональность устройств от этого страдает.
Конечно, это очень коротко и для того, что бы сопоставить всё, пожалуй, будет мало книги.
Linux, Windows или macOS: что выбрать программисту — отвечают эксперты
Авторизуйтесь
Linux, Windows или macOS: что выбрать программисту — отвечают эксперты
У каждой ОС есть свои плюсы, минусы и особенности, и как правило программисты выбирают ОС на основе своих предпочтений и представлений. Но что, если отбросить личные симпатии и попытаться взглянуть объективно: какая ОС даёт больше всего преимуществ программисту? Мы задали этот вопрос экспертам, и вот что они ответили.
Выбор ОС в первую очередь зависит от того, в какой области разработчик работает, а ещё это дело привычки и субъективных представлений об удобстве. Я веб-разработчик и успел попробовать несколько операционных систем. Вот мой личный рейтинг удобства ОС именно для разработки веб-решений.
Первое место — macOS. Практически всё идеально, могут возникать проблемы с Docker, поскольку не всегда оптимально используются ресурсы (бывает >= 70 % CPU). Но это мелочи. macOS — это практически идеальный баланс между ОС для работы и для повседневных задач.
Ещё одно первое место — Ubuntu/Mint (и другие Linux-дистрибутивы). Именно для разработки я считаю это семейство ОС лучшей. Из плюсов перед macOS — близость к production-окружению, «нативная» работа Docker. Из минусов — всё-таки иногда всплывают ошибки, которые без консоли не поправить (пример, проблемы со звуком), ну и софта гораздо меньше.
Второе место отдам Windows. Здесь можно спокойно вести разработку. При наличии такого софта как Docker или Vagrant многие проблемы можно легко обойти. Чего мне действительно не хватает в Windows, так это нормального терминала (ConEmu, Git Bash и другие не в счёт). Зато софта под эту ОС гораздо больше, чем на Ubuntu или macOS.
В качестве заключения отмечу, что всё-таки выбирать стоит ту ОС, в которой разработчику привычнее и комфортнее работать. Если всё в операционной системе устраивает, то переход на что-то другое вызовет лишний стресс и трату времени на изучение возможностей новой ОС. В конце концов, в ту же Windows потихоньку внедряется WSL.
инженер-программист компании ICL Services
На вопрос, какую операционную систему выбрать для программирования, в большинстве случае нет чёткого ответа, т. к. это больше субъективный выбор каждого человека: как по удобству взаимодействия с самой системой, так и с используемыми инструментами для разработки. Большинство популярных языков и сред разработки в основном присутствуют на всех платформах.
Конечно, есть немало случаев, когда выбор ограничен. Например язык программирования плохо адаптирован под конкретную операционную систему или требуется конкретная платформа для выполнения, тут стоило бы или даже необходимо использовать то, что есть.
Если ограничений нет, то, я считаю, самый правильный выбор — попробовать каждую из систем, для того чтобы решить, что же конкретно тебе удобнее. У каждой системы есть как плюсы, так и минусы: где-то удобнее разворачивать среду и работать с ней, где-то есть более удобные инструменты разработки и т. д., поэтому говорить, что для веб-разработки нужна обязательно macOS или для разработки на .net core нужен Windows, я считаю, неправильно.
Также для нашей страны актуален вопрос цены рабочей машины. Например, для многих, а тем более для начинающих, продукты компании Apple могут показаться дорогими при прочих равных. У компьютеров на Windows или Linux ценник более доступный.
Если подытожить, то если нет ограничений на выбор системы, советую попробовать все системы и выбрать ту конфигурацию системы и инструментов, которую удобно использовать именно вам.
декан профессии «Программист С++» образовательного портала GeekBrains
В первую очередь нужно быть уверенным, что инструмент, с которым человек будет работать, удобен. А операционная система — это инструмент и ничто иное. Если говорить о выборе операционки, то неплохо было бы сразу знать, где ваше приложение будет в дальнейшем крутиться. Если человек предполагает разработку под операционную систему OS X (под MacBook, iOS, iPhone, iPad), то ему обязательно нужен опыт работы в macOS и собственно сама OS X, потому что все остальные операционки хоть и поддерживают языки Swift и Objective-C, но на довольно слабом уровне. Инструментарий разработки под OS X внутри OS X хорошо настроен и нативен.
Дальше у нас встает извечная борьба между Windows и Linux. Начинать холивар, я думаю, смысла нет. Если у пользователя есть привычка работать в Windows — то имеет смысл в этой операционной системе и оставаться, так как в принципе, 80 % задач разработки можно закрывать в Windows. Если хочется попробовать что-то другое — это, бесспорно, Linux. Желательно делать Linux на виртуальной машине, чтобы не потерять своё текущее окружение, но иметь возможность «пощупать». Очень много всякого софта для разработки написано под обе операционки, тут тоже стоит сразу оговориться, что если предполагается разработка на Android — то надо быть по крайней мере знакомым с операционной системой Linux. Необходимо представлять, что это за окружение, как оно работает, знать про открытые драйверы, системные настройки, потому что Android — это тоже Linux.
Есть специализированный стек разработки под Windows: это разработка под Active Directory, разработка разнообразных протоколов, разработка под Microsoft Office и прочие штуки. Понятное дело, что с Microsoft Office перейти на Linux будет нельзя, под него стопроцентно нужен Windows. Тут встает вопрос лицензирования. Если у человека всю жизнь был Linux, то ему не с руки покупать лицензию, которая условно стоит 8 000 рублей. Поэтому в большинстве случаев пользователи остаются на Linux.
Я, в свою очередь, несмотря на то, что веду свои уроки с макбука, активно пропагандирую Линуксы разного рода: это и всякие попсовые Debian и Ubuntu, разного рода Arch Linux, даже Red Hat и прочее, прочее. Соответственно, если у вас есть какие-то опасения, то стоит помнить, что инструментарий на Linux такой же, как на Windows, то есть все среды разработки (всё, что не касается Microsoft Visual Studio) портированы и работают кроссплатформенно. Для новичка будет несложно сориентироваться, главное, не надо сразу начинать лезть в консоль или жить в терминале и пугать себя.
ведущий frontend-разработчик TalentTech
Выбор операционной системы, как правило, происходит на усмотрение самого программиста. Это дело вкуса — кому-то нравится macOS, другие считают Linux топовой системой. Одно важное условие: если ваш продукт будет иметь дело с iOS, то поле выбора ограничено — тут не обойтись без macOS. Иначе ничего не получится, если только разработка не идёт на удалённых серверах. Также эта система считается более user-friendly. То есть все мобильные разработчики, чьи продукты будут запущены в AppStore, не имеют другого выбора, кроме Mac.
Веб-разработка менее требовательна к ОС. Лишь два браузера – Explorer и Safari являются специфическими: первый будет работать только на Windows, а второй – на Mac. Когда разработчику нужно тестировать то, что он разработал, — ему понадобится соответствующий браузер.
Linux считается немного более сложным вариантом — она также бывает простой в использовании, но есть и «хардкор-версия», она скорее для тех, кто «пишет» драйверы и в целом больше работает с «железом». Преимущество этой системы в том, что можно собрать её целиком «под себя» и иметь над ней полный контроль. Это сложнее, требуются мозги и навыки, но использование в таком случае будет немного производительнее.
Разработка игр, как правило, происходит на кроссплатформенных системах. А вот приложения backend-разработчиков чаще выпускаются на Linux, соответственно будет удобно держать именно эту систему на своей машине разработки — это может быть и локальная машина, и нет. Часть разработчиков работает на удалённых серверах, а их локальная машина — это по факту просто интерфейс доступа.
Также если вы привыкли работать на macOS, то будет довольно трудно «переключиться» на Windows, и наоборот. То, чего на Mac можно добиться простыми действиями, на «винде» делается сложно.
разработчик в Kodix Auto
На такой вопрос сложно дать однозначный ответ. Скорее, это больше зависит от предпочтений разработчика. Но очевидно следующее:
Прежде всего следует разобраться, в чём отличие Unix от Windows, и выбрать то, что нравится и больше подходит. Писать хороший код можно везде. В этом вопросе нет серебряной пули, и это самое главное, что нужно понимать начинающему разработчику.
Итак, кому какой системой стоит пользоваться?
Всё зависит от двух вещей: что вам удобно и чем вы занимаетесь. Например, если вы разрабатываете iOS-приложения, то вам придётся пользоваться macOS; если вы пишете бэкенд и сервер крутится на Linux, то, скорее всего, на нём вам и удобней будет работать. Если не принимать во внимание завязанные на конкретной платформе стеки разработки, то всё зависит от ваших предпочтений, ведь очень много софта работает на всех основных системах. Нравится работать в Windows/Linux/BolgenOS? Работайте дальше, если это не ограничивает ваши возможности. К тому же при необходимости в простых случаях можно воспользоваться виртуальной машиной. А переучиваться работать на другой системе просто «потому что» — пустая трата сил и времени.
Перейти с Linux на macOS и не сойти с ума
Ноутбук — главный девайс в моей жизни, я провожу за ним бо́льшую часть суток. Он должен быть лёгким, компактным и мощным. Долгое время лидером по этим параметрам был Dell XPS 13, но всё поменялось с выходом MacBook Air на процессоре M1.
Air всего на 100 граммов тяжелее XPS 13, но примерно в три раза мощнее, автономнее и не нуждается в активном охлаждении. Никогда не думал, что скажу подобное про технику Apple, но MacBook Air — самое крутое устройство в своей весовой категории на рынке, оставившее конкурентов далеко позади.
Я фанат Линукса, эта операционная система для меня больше, чем просто окружение. Это философия, новостная повестка и постоянный предмет обсуждения. Поэтому сама идея отказа от Linux в пользу другой ОС меня всегда отталкивала. Да и тот эпизодический опыт, когда приходилось что-то делать в macOS, был эмоционально неприятным.
Но появление M1 посеяло во мне зерно сомнений: мой ноутбук больше не был самым крутым и навязчивой мыслью было то, что я отказываю себе в чём-то большем. Это зерно прорастало и проросло: я купил MacBook Air с 16GB ОЗУ и 512GB SSD, с удивлением обнаружив, что он ещё и стоит дешевле моего XPS. Впереди меня ожидали настройка окружения, борьба с Docker, грусть от отсутствия привычного автодополнения в консоли и много чего ещё.
Проблема: Dock занимает много места, принося минимальную пользу.
Решение: убрать влево, включить автоскрытие.
Пространство на экране ноутбука — ценный ресурс и жалко тратить его на Dock, который сильно проигрывает по функционалу аналогичным инструментам в других операционных системах. Почему Dock не нужен очень хорошо написано в этой статье на Хабре: 7 причин почему вам не стоит переходить на Mac, или как справиться с этой демонической машиной.
Тем не менее Dock можно скрыть, продолжая получать от него некоторую пользу: если удалить из него всё ненужное, оставить нужное, сместить в сторону, настроить автоскрытие, назначить сочетание клавиш Option + Tab на активацию.
Тогда, кроме подведения указателя к левой стороне экрана, Dock будет появляться и по нажатию сочетания клавиш, а стрелочками вверх/вниз уже можно выбрать нужный элемент и нажать Enter. Ну и свободное пространство не страдает.
Так-то лучше
Проблема: Command + Tab (аналог Alt + Tab в других ОС) показывает все приложения со всех рабочих столов, непригоден для переключения между несколькими окнами одного приложения.
Решение: использовать альтернативный переключатель окон AltTab, использовать жесты тачпада.
Переключение по Command + Tab настолько бестолковое, что, как я понял в результате опроса коллег и знакомых, им не пользуется почти никто. Своей бессмысленностью оно вдохновлено Dock — собирает все приложения (включая те, у которых нет открытых окон) со всех пространств (они тут называются Spaces, аналог рабочих столов в Линуксе и Винде):
«Переключатель» курильщика
Заметьте, тут нет окон, только приложения: если у приложения несколько окон, например, у вас открыто несколько проектов в VSCode, то переключатель становится абсолютно бесполезен, потому что переключать он начинает на какое ему вздумается окно. Тут, конечно, можно возразить, что переключаться между окнами удобно жестами на тачпаде. Удобно, да. Но нажать один раз Command + Tab гораздо быстрее, чем свайпнуть тремя пальцами вниз, навести на окно и кликнуть по нему.
Лирическое отступление и сказ о том, как я подарил свой макбук жене
В первые часы использования свежекупленного макбука, когда я понял, что Apple мне предлагает вот это в качестве инструмента, которым я пользуюсь чаще всего, у меня пригорело настолько, что я восстановил систему до заводских настроек, сказал жене «держи, дарю» и пошёл спать. Но уснуть у меня не получилось.
Много раз друзья, коллеги, и просто случайные собеседники в соцсетях советовали мне попробовать macOS, говоря, что это удобная и простая в использовании операционная система, с прекрасным UX и UI. С таким же мнением я неоднократно сталкивался на Хабре, в Твитере: всё просто работает, не надо ничего настраивать. На деле же оказалось, что в macOS отсутствует банальный функционал, который есть у других из коробки.
Я не привык сдаваться, поэтому, отказавшись ото сна, я забрал макбук у жены (пришлось вскоре ей купить такой же, только золотистый) и начал сначала.
UPD: в комментах советуют использовать Command +
для переключения между окнами одного приложения. К сожалению, этот способ не решает проблему переключения между окнами разных приложений.
Проблема с Command + Tab решилась использованием приложения AltTab. Но пришёл я к нему не сразу, а недели за две. Пришлось попробовать самые популярные: Witch, Contexts и Command-Tab Plus.
Оказалось, что опенсорсная программа лучше проприетарных и платных альтернатив. Возможно потому, что у платных аналогов один-два разработчика, а тут их больше и каждый старается решить свою проблему, в результате получается удобный и гибкий инструмент:
«Переключатель» здорового человека
Жесты оказались действительно удобной штукой. Если распределить окна по пространствам, то менеджмент окон с помощью Command + Tab и жестов на тачпаде становится действительно удобным:
Не всё так плохо
Проблема: Тайлинг окон, нормальное разворачивание окна на весь экран.
Решение: Rectangle.
Закончу тему менеджмента окон одной из самых бесполезных покупок приложений в моей жизни, утилитой Magnet. Насколько я понял концепцию macOS, отсутствие элементарных вещей, тут является нормой. Например, тут нет тайлинга окон. Это стало сюрпризом, потому что я всегда считал, что тайлинг пришёл сперва в Линукс из макоси, а потом уже и в Windows. Но нет. Есть Split View, которым невозможно пользоваться, потому что он, как и разворачивание окон на весь экран, уводит окна в отдельное пространство.
Magnet помогает и тайлить окна и разворачивать их на весь экран по-нормальному (альтернативный способ развернуть окно без создания отдельного пространства — это двойной клик по заголовку):
Такого даже в KDE нет
Потом оказалось, что есть опенсорсный проект с ещё большим функционалом. Это Rectangle, которым я теперь и пользуюсь. Опять победил опенсорс.
Проблема: Переключение раскладки клавиатуры по CapsLock для тех, кто быстро печатает и часто переключает раскладки.
Решение: Использование Karabiner-Elements.
В macOS возможность переключения раскладки клавиатуры по CapsLock есть из коробки, но, к сожалению, пользоваться ей мне оказалось невозможно. Проблема в том, что если печатать быстро, без паузы нажать на CapsLock и без паузы продолжить печатать, то раскладка не переключится.
Я решил отказаться от переключения по CapsLock в пользу клавиши fn, которая также при однократном нажатии переключает язык ввода. Но у этого способа оказалось две проблемы. Первая заключается в том, что если переключить раскладку и тут же начать набирать текст с шифтом, то в половине случаев пропечатывается строчная буква, а не прописная. Это само по себе раздражает, но добавляется вот ещё какая проблема. Если в момент переключения этим способом указатель мыши оказался в центре (не обязательно его при этом двигать), то всегда будет выбран тот язык, над которым висит указатель:
Гениально, не правда ли?
Оставался последний вариант: использовать сочетание из двух клавиш Command + Space или Option + Space, или Control + Space. Но я никогда не понимал, зачем использовать две клавиши там, где можно использовать одну? Apple не заставит меня быть менее продуктивным, поэтому я обратился к способу с использованием мощного инструмента Karabiner-Elements.
Всё просто Ода клавиатуре MacBook
За 20 лет использования различных клавиатур самой любимой была Logitech K750 Wireless Solar Keyboard, чудесный девайс. От клавиатур лэптопов многого ожидать не приходится, ты просто довольствуешься тем, что тебе дал производитель. У премиальных моделей ноутбуков клавиатуры, в целом, хорошие.
Но клавиатура макбука меня удивила. Я ставлю её на первое место по удобству и удовольствию от использования среди всех клавиатур, которыми я пользовался. Мне кажется, что здесь идеальное для моих пальцев расстояние между клавишами, отличный ход и срабатывание.
Проблема: Autocomplete в терминале.
Решение: Fig.
По-умолчанию автокомплит в терминале macOS по функционалу такой же, как в cmd.exe в Windows: подсказка при вводе команды в самом начале и помощь при вводе директории. Если набрать ca и нажать Tab, то будет напечатана подсказка, а вот если набрать sudo ca и нажать Tab, то подсказка уже напечатана не будет.
У этой проблемы есть два решения. Первое — использование встроенной Completion System:
Второе — использование крутой утилиты Fig, которая совсем недавно вышла из закрытого тестирования в публичный доступ:
Графический интерфейс в macOS пробирается даже в терминал 🙂
Лучшего автокомплита, чем тот, который предоставляет Fig, для macOS не найти. Однако, у этого решения для меня есть два минуса: во-первых, он использует графический интерфейс, что при работе в консоли не очень привычно и я, бывало, ошибался в выборе. Во-вторых, мне показалось, что это ресурсоёмкое приложение и на генерацию некоторых подсказок требует времени (и ресурсов, соответственно).
Я рекомендую использовать Fig (опенсорс опять победил), хотя сам остановился на варианте с Completion System — автокомплит тут не такой мощный, но достаточный для ускорения написания команд и аргументов к ним.
Проблема: Docker-контейнеры тормозят.
Решение: нет.
Когда основное окружение настроено, время перейти к настройке dev-окружения и столкнуться с проблемами, которые несёт Docker.
Во-первых, если вы на M1, то забудьте про контейнер с MySQL, придётся вместо этого использовать MariaDB.
Во-вторых, на M1 готовый образ memcached лучше не использовать, почему-то именно на macOS с Apple Silicon запускается x86 контейнер в режиме совместимости. Возможно, на момент публикации эта проблема устранена. Решается самостоятельной сборкой образа.
В третьих, опять же на M1 необходимо быть готовым к различным проблемам внутри контейнеров. Например, мы с коллегами на работе столкнулись с тем, что в некоторых случаях на самых обычных запросах может падать curl с Segmentation fault.
Рекомендую включить настройку «Use the new virtualization framework», это улучшит производительность Docker и позволит не так сильно страдать от проблемы медленной работы с файловой системой.
Это самая большая боль пользователей Docker на macOS и распространяется она и на M1 и на x86 архитектуры. Если вы монтируете локальную директорию к контейнеру, будьте готовы к тому, что операции записи-чтения будут выполняться достаточно медленно для того, чтобы сделать работу с приложениями внутри контейнера некомфортной.
Сама проблема и пути её решения хорошо описаны в этой статье. Среди прочего даже предлагается запускать Docker внутри виртуальной машины на Linux, что я, разумеется, делать не стал. Но опробовал способ с Mutagen и могу сказать, что он настолько прожорлив, что автономность (как и температура корпуса) мака на M1 становится сравнима с его x86-собратьями.
Пришлось отказаться от Mutagen. В смирении даже нашёлся свой плюс: можно заметить места в UI сайта, где нужно поработать с прелоадерами.
Проблема: Виртуальная машина с Windows и Linux.
Решение: UTM или QEMU.
Эту проблему я взялся решать больше в качестве факультатива и исследования возможностей эмуляции на MacBook с процессором M1. Что удалось выяснить:
С хорошей производительностью можно запускать виртуалки только с arm64 архитектурой, x86 тормозит настолько, что работать невозможно.
VirtualBox непригоден, т.к. поддерживает запуск только x86 (не 64);
Parallels Desktop работает хорошо, но непригоден для запуска чего-то, отличного от Windows UPD: в комментариях мне подсказали, что Parallels Desktop может запускать и Linux-виртуалки;
UTM (надстройка над QEMU) — работает на макосовском Virtualization framework, можно запускать и Linux и Windows-машины, поддерживает эмуляцию x86, хоть и с большими тормозами. Я пробовал запускать Ubuntu 21.10 и Windows 10 ARM64, обе виртуальные машины работали очень быстро.
Победил опенсорс, как иначе.
«И как тебе MacBook?»
Я нарочно поместил впечатления от работы с macOS в спойлеры, чтобы акцентировать внимание на проблемах и неудобствах, с которыми я столкнулся и которые решил, а не на эмоциях.
Освоился и чувствую себя комфортно. А возможность возврата на Linux вижу только при условии появления на рынке достойной альтернативы на архитектуре arm64. Дело в том, что к высокой автономности и почти всегда прохладному корпусу ноутбука быстро привыкаешь. Но сильнее всего привыкаешь к скорости: текущие проекты собираются примерно в 2.8 раза быстрее, чем на Dell XPS 13, это ощутимая разница в производительности, делающая работу за компьютером заметно комфортнее.
В остальном, на macOS можно делать всё то же самое, что и на Linux или на Windows, я не могу сказать, что мне стало удобнее или моя эффективность увеличилась. Некоторые моменты меня подбешивают, но над некоторыми привычными задачами работать стало приятнее.
Кроме того, за макбуком я стал проводить гораздо больше времени: не смотря на то, что мой интерес к работе на компьютере и так велик, мне стало ещё интереснее. Я не знаю чем это объяснить, просто факт. Надеюсь, это не пройдёт.