Привет! Меня зовут Ярослав, я бэкенд-разработчик в компании «Синимекс» и ревьюер на курсе «Java-разработчик» в Яндекс Практикуме. Также я модерирую один из учебных чатов — и сегодня я хотел бы ответить на один из самых популярных вопросов, которые задают студенты на старте обучения.
В этой статье я расскажу, как выбрать компьютер разработчику: на какие характеристики смотреть, как определиться между macOS или Windows и на что ещё обратить внимание. Предупреждаю — будет субъективно. Поехали!
Какие характеристики имеют значение
Разберём основные параметры — некоторые из них видны невооружённым глазом, другие описаны в характеристиках компьютера.
Форм-фактор
Как правило, разработчики работают на компьютерах двух форм-факторов.
Ноутбук. Чаще всего программисты выбирают ноутбуки, чтобы не привязываться к месту и работать откуда угодно. Кроме того, современные модели достаточно мощные и могут долго работать от аккумулятора.
Стационарный ПК. Классический компьютер из прошлого. Как правило, на ПК программируют те, кто работает на удалёнке и у кого уже есть хороший системный блок дома. Такие компьютеры легче апгрейдить, но, на мой взгляд, они менее удобны, чем ноутбуки, и подойдут не всем.
Есть и другие варианты, например, мини-ПК — те же компьютеры, к которым подключается монитор, клавиатура и другая периферия, но в компактном корпусе. Их используют реже и, как правило, так же, как стационарные ПК (только дома).
Планшеты, включая самые производительные, я бы не рассматривал. Это не рабочий сценарий из-за ограничений мобильных операционных систем — они просто не рассчитаны на программирование. Хотя, может быть, в будущем всё изменится!
Операционная система
В большинстве случаев я отвечаю, что операционная система не важна — на какой привыкли работать или учиться, та и подходит. Но есть важные исключения.
Рассмотрим три популярных варианта.
Windows. Знакомая всем система, установленная (или доступная для установки) на большинстве компьютеров — практически всех за исключением устройств Apple. Отлично подходит для бэкенд- и фронтенд-разработки и их различных вариаций. Есть несколько исключений — о них позже.
macOS. Система, работающая на MacBook, iMac и других компьютерах Apple. Она основана на Unix, что даёт им небольшое преимущество — например, терминал у macOS работает так же, как у Linux, что может упростить работу с серверами в будущем. Но это детали. Современные компьютеры Apple также подходят для всех направлений разработки за некоторыми исключениями.
Я искренне люблю «макбуки». На мой взгляд, это идеальные устройства с user-friendly системой, которые отлично подойдут новичкам в программировании. А ещё они доступные — MacBook Air с актуальным процессором М1 и 16 ГБ оперативной памяти можно найти примерно за 40 000 рублей.
Linux. Открыто распространяемая система, которую можно поставить на любой компьютер — как от Apple, так и от других компаний. Если вы решите купить ноутбук без Windows, чтобы сэкономить на лицензии, скорее всего, на нём будет установлена Linux. Систему любят многие программисты, но для новичка некоторые её версии могут показаться непривычными.
На компьютер с Windows можно установить macOS (так называемый «Хакинтош»), но это считается пиратством, и работать на такой системе трудно. Поставить же на устройства от Apple Windows 10 или 11 как вторую систему вполне реально и пригодно для использования.
Процессор
Определяющая характеристика процессора — это его архитектура. Есть два типа:
x86 и x64 — «классические» процессоры от Intel и AMD;
ARM — процессоры, пришедшие из мобильного сегмента, которые отличаются малым размером, но хорошей производительностью и энергоэффективностью.
Успешнее всего ARM-процессоры применяет Apple, в которых ARM-модели (M1, M2 и так далее) уже полноценно заменили Intel. Поэтому если вы выбираете MacBook или iMac, то ищите компьютер именно с М1 или выше — все устройства с Intel официально перешли в раздел устаревших.
В компьютерах других производителей ARM-процессоры пока только появляются и уступают в соотношении цена — качество привычным моделям с AMD и Intel.
Также процессоры различаются по количеству, типу и частоте ядер. И здесь дать универсальный совет труднее. Условно говоря, четырёхъядерный Intel пятнадцатого поколения может оказаться в десятки раз лучше, чем Intel с 12 ядрами, но восьмого поколения. Поэтому, если вы выбираете компьютер с Windows или Linux, я рекомендую заранее узнать, какой софт вам понадобится для работы, и ориентироваться на его рекомендуемые требования.
Оперативная память
Всё просто — вам нужно не меньше 16 ГБ, особенно если это не компьютер от Apple. Почему так? Если говорить кратко, в macOS лучше оптимизирована работа с оперативной памятью.
Носитель данных
Носители бывают двух типов: HDD (классические жёсткие диски) и SSD (твердотельные накопители). Для программирования, да и других задач, лучше выбрать SSD. Такие накопители работают быстрее, а ноутбуки с ними легче и мобильнее.
Но если вы работаете с данными, которые не дублируются в облаке и которые никак нельзя потерять, то лучше использовать два носителя: SSD для быстрой работы с программами, а HDD для хранения файлов. Данные с жёсткого диска при поломке можно восстановить, так как они хранятся на нём физически. Если сломается SSD-накопитель, вы потеряете и файлы.
Минимальный объём памяти для комфортной работы — 256 ГБ. Рекомендуемый и с заделом на будущее — 512 ГБ и выше.
Видеокарта
Видеокарты бывают двух типов: встроенные, которые являются частью процессора, или дискретные, то есть внешние. Большинству разработчиков хватает встроенной — это в принципе не та характеристика, на которую стоит обращать внимание.
Но есть исключения. Мощности видеокарты используются в работе с большими массивами данных — в машинном обучении или Data Science. Также производительная видеокарта может быть необходима разработчикам игр. Так или иначе, если в вашей профессии необходим мощный видеочип, вы явно узнаете об этом.
Когда важны особенности
Рекомендации выше актуальны практически для всех направлений разработки. В большинстве из них вы можете использовать как Windows, так и macOS, любую видеокарту, простенький накопитель и память. Но есть исключения.
iOS-разработка — только на macOS. iOS-разработчики пишут приложения на Swift, что полноценно возможно только на компьютерах от Apple: MacBook, iMac и Mac mini.
1С-разработка — лучше на Windows. Технически 1С-разработка возможна на любой платформе, но обычно 1С поставляет ПО сначала на Windows, а только потом на macOS. Все 1С-разработчики и 1С-аналитики, которых я знаю, работают на Windows.
С# — только на Windows. Разработка на C# требует взаимодействия с Visual Studio и завязана на экосистеме Microsoft. Пожалуй, это единственное жёсткое исключение в бэкенде — на том же C++ можно спокойно писать код на macOS.
DevOps — на macOS или Linux. DevOps-инженеры работают с серверами и терминалом, а это удобнее в Unix-системах, то есть macOS или Linux. Но тут рамки не жёсткие, многие работают и на Windows.
Десктопная разработка — на той же системе, где реализуется продукт. То есть если хотите писать программы для Windows, то и нужен компьютер на Windows. То же с macOS и Linux.
Машинное обучение и Data Science требуют высокой производительности. Работа с данными может быть разной, поэтому требования зависят от софта, используемого в конкретном направлении и сфере, датасетов и других условий. Но тут точно можно сказать, что важна и высокопроизводительная видеокарта, и не меньше 32 ГБ оперативной памяти.
Что купить на старте
Начну с любимого — три «яблочных устройства» под разные нужды и возможности.
Чтобы начать: MacBook Air на M1. Начальная ступень — самый доступный ноутбук с ARM-процессором. Если хочется совсем сэкономить, можно приобрести модель и с 8 ГБ оперативной памяти, этого хватит на первое время.
С запасом: MacBook Air на M4, MacBook Pro на M4 или M4 Pro. Машины, которые точно будут актуальными ещё несколько лет. Хватит для любых задач, кроме продвинутой работы с данными. Отличный вариант по соотношению цены и качества. Лично я как раз недавно купил последний.
Самый топ: Mac Studio на M4 Max или M3 Ultra. Мини-компьютеры за две – четыре тысячи долларов, способные абсолютно на всё. Если деньги не вопрос и хочется всё самое мощное, крутое и современное.
С другими системами сложнее: любые рекомендации тех или иных моделей часто вызывают бурные споры. Я бы советовал в качестве машины для старта любой хороший ноутбук, соответствующий требованиям используемого ПО, с SSD и 16 ГБ оперативной памяти.
Итоги
Если хотите работать вне дома, берите ноутбук.
Во всех непонятных ситуациях покупайте MacBook с процессором с M в названии. Какой именно, не так важно. Исключения: если вы хотите писать на C# или 1C, ну или разрабатывать программы для Windows.
Если не подходит MacBook, смотрите на ноутбуки с Windows или Linux с архитектурой x64. Другие варианты будут дорогими.
Нижняя планка для оперативной памяти — 16 ГБ.
SSD-накопитель быстрее, но классический HDD надёжнее. Если храните данные в облаке, можно обойтись SSD, в ином случае лучше использовать оба варианта: SSD для работы и HDD для хранения файлов.
Помните, что разработчики зачастую проводят за компьютером куда больше восьми часов в день. Купите хорошее кресло и стол — это не менее важно, чем производительный компьютер. Постарайтесь использовать внешний монитор, даже если работаете за ноутбуком. И пусть ваша техника приносит вам удовольствие — я всегда советую прийти в магазин и потрогать модели руками, оценить качество сборки и материалов, расположение и отдачу клавиш.
И самое важное: лучший компьютер, чтобы начать, это тот, что уже у вас есть. Я учился программировать на бабушкином компьютере, который был очень далёк от тех характеристик, что я перечислил в статье. Почти любая машина подходит, чтобы попробовать. А когда упрётесь в потолок возможностей, будете лучше понимать, какой компьютер подходит именно вам.