Ноутбук для Java-программиста в 2017 году
Ноутбуки существуют уже десятки лет и последнее время они становятся всё более популярными. Посмотрите на полки компьютерных магазинов — они все заставлены именно ноутбуками, процент системных блоков снижается с каждым годом. Мощность ноутбуков также растёт с каждым годом. Если раньше это были очень слабые и дорогие устройства, то в 2017 году они всё ближе и ближе приближаются по мощности к системным блокам. Однако есть небольшая проблема. Правильно подобранные системные блоки всё ещё мощнее при той же цене, более того мощность топового системного блока среди ноутбуков даже сравнить не с чем.
Понятное дело, что ещё лет десять-двадцать и системные блоки будут существовать только в серверных, но пока ситуация несколько сложнее. Но мы всё же попробуем попытаться подобрать ноутбук, который бы подошёл Java- программисту (то есть мне). Если вы только начинаете изучать программирование, то можете это делать даже на том, что у вас есть сейчас. Для изучения там прям уж слишком сильных мощностей не надо (хотя они могут сделать процесс обучения более комфортным).
Итак, требования к ноутбуку:
- Минимум 16 Гб оперативной памяти, так как Java очень прожорлива до неё. Плюс ещё нужно держать в ОЗУ IDE, которая тоже весьма требовательна к ней. Плюс docker с разными образами. И ещё браузер обязательно будет запущен. Ну, вы поняли.
- Мощный процессор. Современные среды разработки довольно требовательны к этому, так как подсветка синтаксиса, автодополнение, всплывающие подсказки и всё остальное просто так не даётся. Причём нужно не количество ядер, а именно мощность одного ядра, так как компиляция Java-кода до сих пор однопоточна. Многоядерность нам может помочь, если мы будем запускать тесты параллельно, так что она тоже не помешает, по большому счёту.
- Нужен SSD диск минимум на 240 Гб. При работе в IDE, компиляции и при пересборках проектов происходит открытие, чтение и запись огромного количества файлов. SSD диск позволит существенно уменьшить затрачиваемое на все эти процессы время, поскольку в нём не будет времени позиционирования головки, да и быстрее он. В общем нужен.
Теперь, когда мы определились с требованиями, попробуем на https://market.yandex.ru найти что-нибудь подходящее. Я просто зашёл в каталог ноутбуков и в фильтре выбрал 16 Гб оперативной памяти и SSD-диск.
Самым первым у меня вышел Apple MacBook Pro 15 with Retina display Mid 2017. По характеристикам он, конечно, подходит, хотя частота процессора Core i7 2800 МГц и 3,8 Ггц в режиме Turbo Boost и количество ядер 4 за такую цену маловато как-то. Там есть разные варианты с немного отличающимися характеристиками и ценами, но в среднем он стоит около 170 000 рублей, а минимальная цена на него равна 130 000 рублей. Если у вас есть столько денег на ноутбук, то берите, конечно. Мы же посмотрим другие варианты.
Попробуем отсортировать отфильтрованный список ноутбуков по возрастанию цены. Самым первым вышел ноутбук Lenovo V310 15 j , но у него SSD только на 128 Гб, что очень мало. И процессор у него Intel Core i5 7200U 2300 МГц. Приставка U в маркировке процессоров Intel означает, что мы имеем дело с процессором с низким энерпототреблением и производительностью специально для долгой жизни батареи ноутбуков. На самом деле можете попытаться и взять, но тратить 40 000 рублей на компьютер с 128 Гб памяти — это деньги на ветер. Слишком уж маленький объём для 2017 года.
Тут можно дальше цены посмотреть, но пролистал все ноутбуки с приставками U и сразу остановился на MSI GL62M 7REX, у которого 16 Гб ОЗУ и SSD диск на 512 Гб. Причём согласно характеристикам он имеет процессор Core i7 7700HQ с 2800 Мгц и четырьмя ядрами. Буквы HQ означают высокопроизводительную графику, хотя нам графика без разницы. В списке предложений есть два варианта. Первый с 8 Гб ОЗУ нам не подходит. Второй с обычным HDD, что тоже нам не подходит.
Смотрим дальше. Ноутбук ASUS ZenBook Flip UX360UA с 8 Гб ОЗУ, 512 Гб SSD. Как тут вообще фильтры работают, указал же, что 16 Гб ОЗУ нужно. Процессор… Core i5 6200U (с приставкой U, урезанный с пониженным энергопотреблением), с частотой 2 300 МГц и в режиме турбо 2 800 Мгц, к тому же двухъядерный. Ноутбук не годится.
Пропускаем ноутбуки с буквой U в процессоре.
Следующий ноутбук DELL LATITUDE 5580. Есть много модификаций с разными ценами в разных магазинах. Самый дешёвый в магазине ТОРГ-ПК (не знаю, как правильно писать) по ссылке. По характеристикам полностью подходит: 16 Гб ОЗУ, 512 Гб HDD + 512 Гб SSD, процессор четырёхьядерный Intel Core i7 7820HQ 2900 MHz, то есть всё подходит. ОЗУ можно добавить максимально до 32 Гб. Кстати, нигде не указана ни частота ОЗУ, ни тип. Скорости и типа SSD тоже нигде нету, но раз SSD, то вполне достаточная должна быть. В довеску ещё идёт предустановленная Windows 10 Pro, которая вроде не нужна, так как под Linux-ом разрабатывать всё же попроще будет, ну есть так есть. Цена этого чуда 77 000 рублей, то есть около 80 000 рублей. Если бы мне прямо срочно нужен был бы ноутбук для разработки, то я побежал бы покупать, наверное, но мне, к счастью, на работе всегда предоставляют бесплатные рабочие места с компьютером, так что особого смысла нет.
Вывод: Более менее адекватный ноутбук для разработки ПО на Java можно купить начиная от 80 000 рублей. В следующей статье попробую наконфигурировать системные блоки для разработки ПО на Java, чтобы вы могли сравнить стоимость и характеристики.
Итог: Мы выбрали ноутбук. Тип памяти неизвестен, либо DDR3, либо DDR4. Частота памяти неизвестна. Задержки тоже неизвестны. Тип жёсткого диска SSD, но по какому разъёму подключается, какая скорость чтения и записи неизвестно.
Модель: Dell Latitude 5580
Цена: 77 000,00 рублей
Характеристики
Тип
Производитель: Dell
Установленная ОС: Windows 10 Pro
Процессор
Кол-во ядер: 4
Процессор: Core i7
Объем кэша L2: 1 Мб
Объем кэша L3: 8 Мб
Процессор:: Intel Core i7 7820HQ 2900 MHz
Память
Объем оперативной памяти, Гб: 16Гб
Память (максимальный размер): 32 Гб
Экран
Разрешение экрана: 1920×1080
Видео
Подсветка экрана: Светодиодная
Видеокарта: NVIDIA GeForce 940MX
Объем видеопамяти, Мб: 2048 Мб SMA
Тип Видеокарты: Дискретная и встроенная
Устройства хранения данных
Объем жесткого диска, Гб: 512Гб
Тип жесткого диска: SSD
Объем второго накопителя (SSD): 512 Гб
Оптический привод: DVD-нет
Связь
Беспроводная связь: Wi-Fi IEEE 802.11ac, Bluetooth 4.2
Подключение
Сетевая карта: сетевая карта
Интерфейсы_: вход микр./вых. на наушники Combo, LAN (RJ-45)
Интерфейсы: USB 3.0×3, VGA (D-Sub), HDMI, DisplayPort
Устройства ввода
Устройства позиционирования: PointStick and Touchpad
Оптический привод: DVD-нет
Звук
Встроенные колонки: Есть
Встроенный микрофон: Есть
Слоты расширения
Устройство для чтения флэш-карт: Есть
Поддержка карт памяти : SD, SDHC, SDXC
Остальные характеристики
Вес (кг): 1.9
Габариты (Д.Ш.Т): 376×250.65×23.25 мм
Гарантия: 12 месяцев
На самом деле мой выбор вовсе не означает, что на более дешёвых компьютерах совсем ничего на Java писать нельзя. Нет. Это совсем не так. Вполне можно. Просто на мой взгляд, ноутбук, который я выбрал в этой статье имеет минимально подходящую конфигурацию для КОМФОРТНОЙ разработки на Java. Я сам в своё время работал на ноутбуке гораздо более слабом и более дешёвом. Да, были тормоза сильные. Да, Eclipse грузится минут 5-10. Но если приспичит, то работать вполне можно.
Какой компьютер должен быть у программиста?
Относительно конечного пользователя:
— производительный, или не очень?
— какой объем оперативной и дисковой памяти?
— нужна ли видеокарта (если он не разрабатывает видеоигры)?
Однажды мне довелось услышать мнение, что программист, как и художник, чтобы творить качественные произведения, должен быть голодным. В случае программиста это означает, что в то время как у бухгалтера стоит, к примеру, Corei7, первый может вполне удовольствоваться 8086/88 (в который загружать ДОС с одной дискеты и Паскаль с другой). Конечно, я немного утрирую ситуацию, но смысл, думаю, понятен. Сможет ли он в этом случае писать качественные программы и в приемлемый срок? Основные критерии оценки: качество конечного продукта, производительность труда программиста, рациональность использования вычислительных ресурсов. Под качеством понимается быстродействие, сведение к минимуму (а лучше к нулю) ошибок в коде, оптимальный пользовательский интерфейс. Соображениями имиджа (т.е.у главбуха или директора должен стоять и припадать пылью офигенный комп потому что это круто и надо соответствовать) мы здесь не руководствуемся. Рациональность использования — это, опять же к примеру, если вместо 5 компьютеров с разными операционками, на которых нужно в итоге протестировать работу программы, у программиста будет стоять один но с 8 гигами ОЗУ, мощным процессором с поддержкой виртуализации и объемным винтом для хранения образов тестовых машин.
Оставляйте пожалуйста свои мнения.
Ivan_32:
Смотря какой программист. Для написания драйверов и вообще системного программирования нужен максимально мощный компьютер, так как часто нужно запускать VM и эмулировать работу различных устройств.(тоже самое можно сказать и для iOS/Android/MS WM/WP7 разработчиков) Для гейм-девелопера можно еще добавить высочайшие требования к графической подсистеме. По сути связки Quad SLI и Quad Crossfire для того и нужны.
Ну а если речь идет о программистах, которые пишут различные мелкие приложения, тут все просто: чем быстрее процессор и память, тем лучше, так как от этих двух параметров зависит время компиляции, но это вовсе не жизненно важный параметр, можно и без него обойтись.
В целом можно вывести простую формулу: производительность_компьютера_прогр аммиста = требуемая_производительность_компью тера_пользователя*(2+ rand(0-1)).
Сугубо по своему опыту могу сказать что чем быстрее компьютер тем лучше, так как не всегда знаешь с чем придется работать. Например мне как то пришлось работать с OpenCV на ноутбуке с не очень производительным процессором. Естественно радости от этого было мало. Ну и потом, всякая программа на начальном этапе разработке представляет собой забагованное тормознутое нечто и важно что бы это нечто уже в таком виде работало в реальном времени, а не с задержками, иначе будет очень сложно сваять из этого камня статую.
Средний компьютер для кодинга в 2020 году
Процессор. Может быть фирмы Intel или AMD. Если Intel, то подойдёт что угодно, начиная с Core i5. Всё, что ниже, может не очень быстро работать на современных операционных системах (что не помешает работать на них медленно).
Оперативная память. Чем её больше, тем проще компьютеру работать со множеством задач. Если нужно просто писать код, то сейчас хватит 8 гигабайт, большая часть которых уйдёт на операционную систему и браузер. Вы удивитесь, но современные браузеры могут нехило так нагружать и память, и процессор. Как будто это не ты смотришь Ютуб, а Ютуб смотрит тебя ?
Жёсткий диск. Есть два варианта: обычный HDD (очень много места, но медленный) или SSD (поменьше места, но в тысячу раз быстрее). Если есть возможность, лучше выбирать компьютер с SSD. Минимальный объём — 128 гигабайт, этого хватит для операционной системы, среды разработки и ещё останется место для своих проектов.
Компьютер для программирования
-
Если сфера программирования не требует мощного железа. Например , вы разрабатываете небольшие веб-сайты на HTML, CSS, JavaScript, PHP. В этом случае вам не нужно использовать мощную и прожорливую IDE и вам вполне будет достаточно ч его -то типа «Notepad++» или «Sublime Text». Возможно , вы вообще сможете работать в онлайн-редакторах кода. Если же программировать что-то сложное, например , нейронные сети, мощные компьютерные игры, даже приложение на Android — со слабым компьютером будут возникать проблемы.
-
Если вам нравится, когда компьютер «тормозит». То ест ь п рограммировать можно на слабых компьютерах, но это будет ужасно медленно. Такую «скорость» работы не оценит ваш заказчик, да и вам такая «работа» надоест.
Стационарный компьютер или ноутбук для программирования — что лучше?
-
При одинаковой стоимости стационарный компьютер будет немного мощнее. Так сложилось, что ноутбуки ценятся за собственную мобильность, поэтому при одинаковых характеристиках ноутбук будет стоить немного дороже.
-
У ноутбуков сложно сделать апгрейд. Ноутбук покупается с определенными характеристиками , и редко какие производители ноутбуко в оставляют возможность их улучшить. У стационарных компьютеров все по-другому. Его можно собрать самостоятельно, а если купить «готовый сбор», тогда всегда будет возможность его улучшить.
-
Стационарный компьютер подойдет для тех, кто не любит «переезжать». Купить, установить, настроить и работать на одном месте и в одном положении. Если вас это устраивает, тогда стационарный компьютер для вас. Но нужно помнить, что программирование — скучная и однообразная работа. Когда уже немного п оработа ете программистом, у вас появится огромное желание часто менять положение тела и локацию работы. Такую возможность дает только ноутбук.
Компьютер для программирования: на что обращать внимание
-
Экран. Необходимо определиться с размером экрана. Маленький экран — это неудобство и постоянно напряженные глаза. Есть такое негласное правило: чем больше экран, тем легче на нем работать. Иногда программисты используют 2 экрана на устройстве, чтобы во время работы не переключаться. Подключить второй экран можно даже к ноутбуку.
-
Разрешение экрана. Разрешение экрана влияет на качество транслируемой картинки , п оэтому важно использовать FullHD и обязательно с матовой матрицей. В этом случае вы получите матовую качественную картинку , а ваши глаза не будут так сильно уставать.
-
Клавиатура. Это основной «инструмент» программиста, так как при помощи клавиатуры он вводит программный код. Клавиатура должна иметь небольшой ход клавиш и работать максимально тихо. Другой атрибут комфортной работы на клавиатуре — это раскладка и наличие подсветки.
-
Оперативная память. Это важнейший критерий выбора , как и процессор, о котором речь пойдет чуть ниже. Тут все просто : чем больше — тем лучше. Уровень оперативной памяти зависит от сферы программирования. Чем требовательней ваша сфера, тем больше нужно оперативки. Чтобы комфортно работать, нужно 16 Гб и больше. Минимум для программирования — это 8 Гб , х отя заниматься веб-программированием можно даже с 4 Гб.
-
Процессор. Процессор характеризуется частотой и ядрами. Принцип тот же — чем больше частота на каждом отдельном ядре, тем лучше. А также чем больше ядер, тем лучше. Можно ли программировать на двух ъ ядерном компьютере? Можно, но лучше на 4 ядрах и выше. Есть одна тонкость — наличие потоков в ядрах , п оэтому даже если компьютер будет двух ъ ядерным, то важно , чтобы на каждом ядре было минимум по 2 потока. Таким образом , 2 ядра по 2 потока даст 4 потока — это лучше , чем просто 2 ядра. Один поток — это одна «очередь» из команд, которые будет обрабатывать процессор. Соответственно, если будет больше потоков, тогда компьютер будет быстрее работать. Обычно одно ядро — это один поток , п оэтому есть нюанс : 2 ядра по 2 потока в каждом будут работать медленнее , чем 4 ядра по одному потоку.
-
Объем жесткой памяти. Тут есть два вида памяти: HDD и SDD. SDD обычно не такие емкие, как HDD, но они работают быстрее и стабильнее, поэтому выбор лучше остановить на них. А вообще , объем памяти жесткого диска — это дело индивидуальное , т о ест ь к ому сколько нужно.
Компьютер для программирования: операционная система
Еще одна дилемма: MacOS, Linux или Windows? На самом деле , принципиальной разницы нет. Выбор зависит от предпочтений и финансовых возможностей программиста. Если есть свободные средства, тогда можно приобрести Макбук или лицензию для операционной системы Windows. Если нет свободных средств, тогда можно использовать любой бесплатный дистрибутив Линукс.
Раньше выбор операционной системы был важен, так как основное программистское программное обеспечение было «заточено» под Виндовс , н а МакОС и Линуксе с программами были проблемы. Сейчас все совсем по-другому. Практически любую программистскую программу можно инсталлировать на каждую из популярных операционных систем.
Поэтому выбор операционной системы — это дело личное , и существенных ограничений или привилегий нет ни в одной операционной системе. Единственное , о чем нужно сказать , — MacOS поставляется вместе с устройствами компании Apple. Цены у таких устройств немного выше , чем у аналог ов от других компаний при похожи х характеристиках.
Компьютер для разработки нейросетей:
На по следок, разберу, какой ПК нужен для разработки нейросетей, тут на самом деле всё просто, так как нужен точно такой же компьютер, как и для разработки игр, так как, нейросети обычно используют именно мощности видеокарты, а не процессора, единственное, можно на мониторе не много сэкономить, и купить 18 дюймовый, например.
В этой статье мы разобрали, какой компьютер выбрать для программирования, и для разных направлений программирования.
Надеюсь было интересно, но если вам не хватает какой то информации, то пишите комментарии, тогда отвечу на вопрос там или дополню эту статью.
Другие компоненты
Выше перечислены основные характеристики компьютера, которые наиболее важны при выборе. Однако нужно учесть и другие параметры:
- Видеокарта. Сильного влияния на процесс программирования не оказывает, поэтому выбирать самую дорогую модель необязательно. Однако рано или поздно вам захочется отдохнуть и поиграть. В этом случае пригодится GeForceRTX. Такие сборки компьютеров есть в нашем магазине.
- Монитор. Для начала подойдет любой монитор, но рекомендуется использовать модель с диагональю от 27 дюймов и разрешением от FullHD, В дальнейшем лучше купить еще один-два дисплея, чтобы удобно распределять окна запущенных приложений.
- Периферия. Программист постоянно взаимодействует с клавиатурой и мышью, поэтому от их качества зависит удобство работы. Не стоит экономить и покупать самые дешевые модели. Лучше приобрести механические устройства (со свичами подходящего типа), в которых можно запоминать клавиатурные последовательности и «подвешивать» их на кнопки. Такие клавиатуры стоят дорого, но цена полностью оправдана их возможностями.
Если вы планируете программировать не только дома, но и в других местах, в том числе на отдыхе, в командировке, общежитии, стационарный ПК вам не подойдет. Лучше приобрести ноутбук. При его выборе нужно обращать внимание на те же характеристики, что и при покупке настольного компьютера.