Привет! Меня зовут Ярослав, я бэкенд-разработчик в компании «Синимекс» и ревьюер на курсе «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 для хранения файлов.
Помните, что разработчики зачастую проводят за компьютером куда больше восьми часов в день. Купите хорошее кресло и стол — это не менее важно, чем производительный компьютер. Постарайтесь использовать внешний монитор, даже если работаете за ноутбуком. И пусть ваша техника приносит вам удовольствие — я всегда советую прийти в магазин и потрогать модели руками, оценить качество сборки и материалов, расположение и отдачу клавиш.
И самое важное: лучший компьютер, чтобы начать, это тот, что уже у вас есть. Я учился программировать на бабушкином компьютере, который был очень далёк от тех характеристик, что я перечислил в статье. Почти любая машина подходит, чтобы попробовать. А когда упрётесь в потолок возможностей, будете лучше понимать, какой компьютер подходит именно вам.
Комментарии (20)
leveler
24.06.2025 07:19В идеале нужно иметь хорошее мультимониторное рабочее место со стационарным ПК + ноутбук для работы вне дома. А код же в гите хранится и синхронизируется между устройствами, так что проблем с этим нет. Про стол и кресло полностью согласен, если сразу на этом сэкономить, то потом больше денег потратите на лечение болячек.
leveler
24.06.2025 07:19Вдогонку: даже если вы работаете дома за ноутом - обязательно купите к нему хорошую внешнюю клавиатуру и мышь. В противном случае вы все равно будете к нему тянуться и испортите себе осанку и позвоночник. В молодости это незаметно, а потом выстрелит.
gun_dose
24.06.2025 07:19Если говорить кратко, в macOS лучше оптимизирована работа с оперативной памятью.
можно приобрести модель и с 8 ГБ оперативной памяти, этого хватит на первое время
вот это сильнейшее заблуждение. 8ГБ сейчас актуально разве что смотреть кино и с документами работать. Для программирования 16ГБ минимум, особенно (именно особенно!!!) если это Apple M-серий, потому что там нет возможности добавить оперативку
Что касается оптимизации работы с памятью - это всё не имеет ни малейшего значения при работе с реальными задачами, такими как программирование. Если моя IDE на винде занимает 2ГБ оперативы, то и на линуксе, и на макоси она займёт плюс-минус столько же. То же самое с браузером. То же самое с докером. А ещё мессенджеры вроде Slack запросто могут сожрать гигабайт оперативы. Итого, 2ГБ на IDE как минимум 2ГБ на браузер, 2ГБ на старт проекта, гиг на корпоративный мессенджер, это уже 7. Добавьте сюда саму ось и всякую мелочёвку и М1 с 8ГБ давай до свидания.
А вот свыше 16ГБ уже совсем не обязательно. Последние 4 года работаю на машинах с 16ГБ, ни разу не было мало. В рабочем чате как-то мерялись оперативой, у людей машины по 16, 24 и 32ГБ, при этом у всех занято 80-86% оперативной памяти. Стек проектов у всех приблизительно одинаковый. Вообще хз, как это работает. Может быть на 32ГБ браузер фризит меньше вкладок, чем на 16, или что-то в этом роде.
Но есть ещё один момент, который многие упускают из виду: тактовая частота процессора. Для программирования надо смотреть, чтобы базовая тактовая частота была не меньше 2ГГц. Это важнее, чем количество ядер, потому что не все задачи можно распараллелить. Кроме того, именно процессором, а не оперативной памятью определяется быстродействие компьютера.
nuclearmotherfucker
24.06.2025 07:19Любой бюджетный проц, оперативки чем больше, тем лучше, два ssd под ос и всё остальное, три монитора с видеокартой, которая позволит их подключить.
alamat42
24.06.2025 07:19Сейчас выдам непопулярное мнение, но на мой взгляд, для обучения программированию полезно использовать не самое мощное железо.
С одной стороны, как правило, при обучении люди не пишут больших проектов, поэтому даже со слабым железом не столкнутся с проблемой долгой сборки.
Но с другой стороны, на слабом железе будут быстрее всплывать проблемы с производительностью написанных программ. Так что у обучающегося разработчика будут чаще стимулы прилагать усилия к оптимизации.
Позже, когда прийдет время работать над большими проектами, можно апдейтнуть железо, но привычка задумыааться о производительности останется.
pandaupanda
24.06.2025 07:19А еще на слабом компе придется тюнить IDE, либо перелазить на всякие vim/emacs, придется узнать, что такое LSP. А еще красивый запуск средствами IDE часто будет недоступен и придется изучать сборщики и как в проде запускается сервис.
Вообще, интересный опыт))
DmitryZlobec
24.06.2025 07:19Главное - это монитор(ы), глаза это тот орган, который восстановить очень сложно. Да и времена когда среда разработки влазила в FullHD давно закончились.
И клавиатура - потому, что в течении дня мы ее все время трогаем.А ноутбук может быть любой.
atues
24.06.2025 07:19Я использую такую конфигурацию:
Ноут Acer Aspire5
Ubuntu 22
Оперативка 8 Гб
SSD 256 Гб
Процессор Intel i5
Пишу на java, rust, golang. Изредка python. Графикой не балуюсь - мне она в кровавом бэкэнде не нужна. Подняты JetBrains, vscode, Docker, Postman, postgresql. Три года и ни разу не понадобилось что-то более мощное. По любому, код пишется от силы 10-15% времени, остальное - чтение документации, изучение исходников и придумывание решений. Я не спорю, чем мощнее, тем лучше, но для работы (мне, во всяком случае) достаточно, а для новичков так тем более.
Вот если фронт или дизайн, то да - нужно железку посолиднее
nivorbud
24.06.2025 07:19Такие компьютеры легче апгрейдить, но, на мой взгляд, они менее удобны, чем ноутбуки, и подойдут не всем.
Всё наоборот. Ноутбук - это несерьезно для разработки. Клава сильно уступает нормальной механической, тачпад - эргономической мышке, а про экран я уж вообще не говорю (у меня несколько ноутбуков валяются без дела. Работать на маленьком экране после 28 дюймового хуавея с пропорциями 3:2 невозможно). Особенно это маков касается - там проблемы с использованием немаковских клав и мышек (особенно, если виртуалки использовать).
Если вы решите купить ноутбук без Windows, чтобы сэкономить на лицензии, скорее всего, на нём будет установлена Linux.
Такой ноут имеет смысл покупать не по причине экономии, а по причине совместимости с линуксами, из чего следует, что там железо стандартное, распространенное, без проприетарных извратов, и проблем в будущем скорей всего не будет. Так что если даже для винды ноут берется, лучше брать модель, совместимую с линуксами.
timestrueroman
24.06.2025 07:19С# — только на Windows
Что за бред? C# и .NET уже давно кросс-платформенные. Для линукса и macOS есть Raider джетбрейновский. Да и помимо него есть куча IDE с поддержкой C#.
merkel
24.06.2025 07:19Ноутбук для разработчка? ThinkPad.
ЗЫ. Это не исключает необходимость огромного монитора на столе. И крысоклавы.
В стационарных условиях можно и трекпоинтом обойтись, если интерфейсы не дизайнить, конечно. Но дизайнить интерфейсы глядя в ноутбучный экран (даже 16 дюймов) - это извращение.
Ну а высказывания, что C# только для разработчиков под виндами - спишем на неопытность аффтара.
foxsoft2005
24.06.2025 07:19Ноутбук для разработчка? ThinkPad.
Поддерживаю. Правда нынче на рынке есть очень интересные случаи с оными "новыми", столкнулся как-то, но это другая история)..
Mangol31
24.06.2025 07:19Всячески плюсую. Давно сижу на Thinkpad, перелез с макбука и возвращаться не собираюсь. Универсальное решение. Надо внешнюю периферию - подключил докстанцию и вот оно все за пару секунд. Клавиатура великолепная, даше внешнюю взял такую же как на Thinkpad. Расширяемость платформы отличная. ОС - хоть винда, хоть Линукс. У меня обе стоят, все железо той же убунтой подхватывается влёт.
foxsoft2005
24.06.2025 07:19С# — только на Windows
Хм... Возможно, "только" нужно читать, как "удобнее"?
Yura_PST
24.06.2025 07:19Чтобы попробовать для себя программирование, большой бюджет не нужен:
1 - Компьютер любой работающий (компилятор Си точно будет);
2 - Табуретка (если делать небольшой перерыв 1-2 раза в час).
JVyacheslav
24.06.2025 07:19Я считаю, что для того, чтобы новичку заняться программированием нужен просто компьютер. И то опционально, нас вон на школьных олимпиадах по информатике в голове компилировать заставляли.. При желании в качестве хобби можно и на телефоне прогать (я пробовал простенькие алгоритмы писать так, когда был далеко от компа, в целом справляется на ура), а некоторые даже на смарт часах умудрялись в качестве эксперимента :D
BeLord
24.06.2025 07:19А можно взять себе workstation на б/у хеоn и получить и железку для Devops/виртуализации/прочего и вполне рабочую лошадку для программирования. А по цене макбука можно взять уже Epic). Причем предложенные решения позволяют создавать различные рабочие конфигурации для тестирования софта и понимания узких мест.
NikkiG
24.06.2025 07:19А на основании чего вы берете цифры интересно, просто из личного опыта? Так вы пишете, я так понимаю, на одном языке и примерно одно и то же. Для "программирования" скриптов на пайтоне и написания, скажем, игр на анриле, требования будут отличаться на порядки. То же касается и системы (где вы вообще чисто из личных предпочтений исходите, надеюсь хоть эппл вам не приплачивает)))) и прочего.
По моему вы просто вводное к своему курсу распространили на любое "программирование")
azzas
Серьезно? На Хабре разбирать очевидное? Лекции у вас такие же? Полтора часа на оператор if?