Гриземо горло за операційні системи: Linux vs Windows vs MacOS

Вічна суперечка операційних систем: обираємо середовище розробки і серверну платформу для бізнесу.

Гриземо горло за операційні системи: Linux vs Windows vs MacOS
INGELLO / BUSINESS2245

Є теми, на яких програмісти, зазвичай люди спокійні й раціональні, перетворюються на вболівальників на футбольному матчі. Таби чи пробіли. Світла чи темна тема. І звісно, операційні системи. Скажіть у компанії розробників, що Windows найкраща система для програмування, і Ви побачите, як чемні люди починають гризти одне одному горло.

Я в цих баталіях брав участь, зізнаюся, з азартом. Працював на всіх трьох системах, лаяв кожну й кожну за щось любив. І з роками дійшов висновку, який, мабуть, розчарує фанатів будь-якого боку: правильної відповіді немає. Є правильна відповідь для конкретної ролі й конкретної задачі. А суперечка «яка ОС краща взагалі» приблизно така ж осмислена, як суперечка, що краще: вантажівка, спорткар чи трактор.

Вантажівка, спорткар і трактор

Спорткар прекрасний на трасі, але ним не перевезеш меблі. Вантажівка перевезе меблі, але в перегонах програє. Трактор не годиться ні для того, ні для іншого, зате виоре поле, де і вантажівка, і спорткар застрягнуть по самі вуха. Кожна машина створена для своєї роботи, і обирати треба не «найкращу машину», а машину під задачу.

З операційними системами те саме. Вибір ОС залежить від ролі: для розробника одне, для дизайнера друге, для бухгалтера третє, для сервера четверте. Пройдімося ролями.

Сервер: тут суперечка давно закінчилася

Почну з найпростішого, бо тут переможець очевидний. Для серверів однозначно Linux. Переважна більшість вебсерверів, хмарної інфраструктури, контейнерів і баз даних у світі працює на Linux. Це не мода, це результат десятиліть природного добору.

Чому Linux переміг? Відкритість: можна подивитися, як усе влаштовано, і виправити, якщо треба. Безпека та стабільність: сервер на Linux може працювати роками без перезавантаження. Відсутність зайвого графічного інтерфейсу: серверу не потрібні вікна й кнопки, йому треба витрачати ресурси на роботу, а не на красу. І головне, найпотужніші засоби командного рядка, які дають змогу автоматизувати практично все. Додайте до цього безкоштовність і величезну спільноту, і отримаєте стандарт де-факто.

Windows Server теж існує й знаходить своє місце, передусім у корпоративному середовищі, побудованому на продуктах Microsoft. Якщо Ваша компанія живе на специфічному корпоративному ПЗ, яке працює тільки під Windows, вибору особливо немає. Але якщо Ви будуєте нову вебсистему з нуля, вибір Linux майже завжди правильний і майже завжди дешевший.

Робоче місце розробника

Тут битва цікавіша. Для розробника більшість обирає macOS або Linux, і причина проста: нативний термінал і середовище, схоже на те, де код потім працюватиме. Якщо сервер працює на Linux, зручно, коли й на робочому компʼютері ті самі інструменти, ті самі команди, та сама логіка файлової системи. Менше сюрпризів на кшталт «у мене працює, а на сервері ні».

macOS приваблює тим, що поєднує Unix-основу з відполірованим інтерфейсом і добрим залізом. Усе працює з коробки, не треба розбиратися з драйверами. Мінус: ціна й закритість екосистеми.

Linux на робочому місці дає максимальний контроль і безкоштовність, плюс повний збіг із серверним середовищем. Мінус: іноді доведеться повозитися з налаштуванням, особливо на новому обладнанні, і не всі звичні програми для дизайну чи офісу там є.

Windows останніми роками сильно просунувся: зʼявилася вбудована підсистема для запуску Linux, і для багатьох розробників це розвʼязало основну проблему. Для розробки під платформи Microsoft, для ігор і деяких корпоративних інструментів Windows лишається природним вибором.

Не лише програмісти

Для дизайнера часто найважливіші професійні графічні програми й точна передача кольору. Історично тут сильні macOS і Windows. Для бухгалтерії та офісної роботи вирішують конкретні програми, без яких компанія не може жити: якщо облікова програма працює тільки під Windows, обговорювати нічого. Для геймера Windows лишається королем за кількістю сумісних ігор.

Звідси практична порада для керівника: не накидайте всій компанії одну операційну систему з принципу. Визначте, які програми потрібні кожній ролі, і обирайте під них. Одноманітність приємна адміністраторові, але не має коштувати людям продуктивності.

Де сперечатися справді нема про що

Є одна річ, яка сильно знижує градус суперечки: веб. Коли Ваша бізнес-система працює в браузері, стає майже неважливо, на якій ОС сидить співробітник. Менеджер на Windows, директор на Mac, програміст на Linux, усі відкривають ту саму систему й бачать те саме. Саме тому ми в Ingello робимо облікові системи, зокрема Forma, як вебзастосунки: сервер на Linux, а користувачі на чому їм зручно, хоч із телефона.

Це, до речі, і є моя головна відповідь у суперечці про операційні системи. Найкраща ОС для бізнесу та, про яку бізнесу не доводиться думати. Сервери на Linux, бо це надійно й дешево. Робочі місця під задачі людей. А самі бізнес-процеси в браузері, де операційна система перестає бути приводом для бійки.

Що зробити

Якщо Ви обираєте серверну платформу для нового проєкту, беріть Linux, якщо немає вагомої причини проти. Якщо обираєте робочі місця, почніть із питання, які програми потрібні кожній ролі, а не з питання, яка ОС «правильна». І якщо у Вашій команді розгорається чергова священна війна, нагадайте учасникам, що спорткар і трактор не змагаються. Вони просто їдуть кожен своєю дорогою.