Какой компьютер выбрать программисту для работы

Ноутбук для программиста. Какой он? ⁠ ⁠

Привет, пикабу. Хочу поделиться своим ответом на этот вопрос. Ключевые характеристики моего ноутбука такие: центральный процессор — Intel Core i3 — 8130U, оперативная память — 4Гб, графика интегрированная — Intel UHD Graphics 620, SSD — 128Гб, диагональ экрана — 14 дюймов. Кому нужно больше информации, вот индекс модели — 81EU00B6RU.

Я изучаю Python, хочу в будущем стать Django разработчиком. И на этапе активного обучения этого железа хватает за глаза. Перед покупкой, я больше волновался из-за небольшой диагонали экрана, чем о количестве оперативной памяти и мощности процессора. Моя прошлая машина была ещё слабее, при таком же объёме оперативки там был процессор intel core i5 — 2410m и на ней я провел много часов за обучением не испытывая особых проблем. А вот с 15.6 дюймов переходить на 14 было страшновато. Но за неимением больших средств пришлось рискнуть. Как оказалось, зря волновался. На 14 дюймовом экране мне вполне удобно работать.

А теперь немного картинок, чтобы не быть голословным. Запускаю машину. Ubuntu 18.04 ест чуть меньше 1 гигабайта памяти.

Ноутбук для программиста. Какой он? Программирование, IT, Python, Веб-разработка, Web-программирование, Длиннопост

Запускаю VS Code, стартую локальный сервер и открываю текущий свой проект в Google Chrome. Машина потребляет 2.2 гигабайта памяти.

Ноутбук для программиста. Какой он? Программирование, IT, Python, Веб-разработка, Web-программирование, Длиннопост

Открываю свои привычные инструменты в браузере: помодоро таймер, web клиент телеграм, три вкладки stackoverflow, три вкладки документации Python, три вкладки документации Django и вкладка с YouTube. Также запустил нативный клиент Telegram. Машина ест 3 гигабайта оперативки и немного залезла в SWAP.

Ноутбук для программиста. Какой он? Программирование, IT, Python, Веб-разработка, Web-программирование, Длиннопост

Для разработки на Django мне больше ничего не требуется, да и большинству начинающих программистов тоже. В интернете есть куча советов с рекомендациями иметь машину с не меньше, чем 16Гб оперативной памяти и процессором линейки не ниже core i5 без привязки к технологиям, с которыми предполагается работать. Раз хочешь программировать — вот тебе минимальный порог, что в корне неверно. Моя машина, в очень редких случаях, когда я работаю с двумя одновременно запущенными браузерами начинает лезть в SWAP, и я замечаю микро фризы. Но повторюсь, бывает это крайне редко с моим сценарием использования ноутбука. Если у вас есть мысль попробовать свои силы в программировании и ваш стек технологий будет похож на мой, то имеющийся ПК в вашем распоряжении, скорее всего, уже готов к работе. Мой прошлый ноутбук, о котором я говорил ранее, был куплен в далёком 2011 году и вполне подходил под мои запросы.

P.S. На Windows системе через WSL моя тачка работает почти на пределе, но всё ещё сносно. В нативной среде работать, всё же, приятнее.

Программирование на python

277 постов 8.5K подписчиков

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!

Приветствуется:

• уважение к читателям и авторам

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт

Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

Открой 5 сред разработки, нагугли 50+ вкладок, подними пару ssh тоннелей, открой зум, рокет чат, телеграм, запусти большой проект ноды в дев режиме, включи все линтеры, не забудь запустить второй браузер, чтобы наблюдать как в нем поехала верстка.

Добро пожаловать в веб разработку.

К сожалению, под PyCharm (и другими ему подобными IDE) такой сетап умрёт.

с такими запросами и характеристиками можно и на Raspberry Pi 4B учиться/работать. То же самое. 🙂
Кстати, на пи все довольно живенько работает, а на той что 64бит и 8Гб так вообще.

Но я все равно работаю на маке i9/16Gb ))

Оперативки много не бывает. У нас все Python и Go разработчики минимум с 12Гб сидят. И видюха чтобы пару мониторов 4к тянула и встроенный моник на ноуте.

Этот ноубук подходит только для обучения Джанго, для работы его не хватит. Минимально серьёзный проект — это несколько (как минимум) сервисов в докеровских контейнерах и необходимость их локально поднять. Даже 8Гб оперативки — это меньше минималки. ТС, не вводи людей в заблуждение, это не ноутбук программиста, это ноутбук его личинки))

4 гб памяти это дно, тем более для более-менее современного процессора.

Ко мне периодически приходят мученики и взывают к срочной и дорогой покупке нового компьютера, потому что старый начал тормозить. Потом старый приходит ко мне и всегда происходит один и тот же танец: из системы охлаждения вынимается полтора кота шерсти и пыли, дырявые термопрокладки меняются на медные пластинки, наносится новая термопаста, и вдруг машина начинает нормально работать. Дальнейший апгрейд сводится к добавлению памяти и замены жёсткого диска ссдшкой, и машина будет исправно служить ещё лет десять.

Для начала впритык. А так всё равно мало. Swap отключать нужно если ssd. 16 Гб у меня лично впритык. Докеры куча вкладок java и тд тянут много

На такой системе работать практически нереально, сплошное мучение.

Скриншот в конце рабочего дня. Пара ssh туннелей, запущен маленький сервис, pycharm, браузеры, postman, пара консолей, spotify

Иллюстрация к комментарию

На 14 дюймовом экране мне вполне удобно работать

Кстати, здорово развивает память) А виртуальные рабочие столы уже даже в винды завезли.

При примерно одинаковых программах запущенных на компе с 32 ГБ и на компе с 8 ГБ оперативы — такая картина, и, на удивление, не сказать что я какие-то трудности испытываю когда работаю на ноуте с 8 ГБ, большая проблема — это маленький экран.

Но видно, что при нехватке оперативы уже начинает своп использоваться, сжатие и т.п.

А так, macOS очень агрессивно кеширует файлы в RAM и видно на первом фото что кешированные файлы почти всё оставшееся свободное место занимают.

Запущенные программы примерно такие: Xcode, Safari c 10-15 вкладками, мессенджеры (teams, telegram, slack), Postman, Figma.

P.S. Я iOS разработчик

Иллюстрация к комментарию

Иллюстрация к комментарию

Ну хз. у меня 12 горшков в проце и 64Гб оперативы. Вполне норм.

Иллюстрация к комментарию

Процессор

Для исполнения несложных программ, которые вы пишете на уроках информатики в школе, частота и количество потоков процессора значения не имеет. Программа будет компилироваться быстро и выполняться без задержек. Единственное, о чем нужно помнить, что медленный процессор затрачивает больше времени на запуск оболочек для написания программ, а сама операционная система на нем работает медленно.

Но для серьезной работы нужен процессор классом не ниже Intel Core i5 или его аналог от AMD. В этом случае ОС будет работать достаточно быстро, компиляция программы займет меньше времени, можно будет одновременно запускать несколько процессов.

Необходимый функционал в редакторах кода и IDE для работы с Python

  • Подсветка синтаксиса. Автоматическая подсвета разных видов синтаксиса необходима для обеспечения наилучшей читаемости кода. Например, все имена переменных подсвечиваются белым, ключевые слова — оранжевым и т. д. Благодаря этому вы даже при беглом просмотре кода можете понять, что в нем происходит.
  • Автоматическое форматирование кода. IDE и редакторы с поддержкой Python могут автоматически проставлять отступы, добавлять двоеточия, вставлять пропущенные закрывающие скобки, и все это — в соответствии со стилевыми правилами написания кода на Python. Это означает, что вам не придется тратить время на форматирование, да и на написание кода будет уходить меньше времени.
  • Отладка. В разных инструментах разный подход к отладке, но будет хорошо иметь возможность по крайней мере пошагово отслеживать изменения в коде. В идеале вам нужен инструмент, который будет указывать на потенциальные ошибки и подсвечивать их еще до запуска кода.
  • Автоматизация сборки. Ваш инструмент должен позволять писать код на Python и запускать его в том же окне. Копипаст кода из редактора во внешние компиляторы (для запуска) — это дополнительное время и лишняя возня.
  • Сохранение и перезагрузка. Все IDE и редакторы кода должны иметь функцию сохранения и перезагрузки кода в сохраненном состоянии. В самых лучших инструментах помимо этого будет и контроль версий, чтобы при необходимости вы могли вернуться к предыдущим вариантам сборки.

При выборе IDE или редактора приходится идти на компромиссы или в степени кастомизации, или в скорости этой самой кастомизации. В нашем списке инструменты построены от наименее до наиболее настраиваемых.

Шкала кастомизации

IDE и редакторы кода общего назначения

Atom (редактор кода)

Окно редактора Atom

Atom — это редактор, готовый «из коробки». Он имеет открытый исходный код и элегантный вид. Баланс производительности и кастомизации у него, как в Sublime, а настройка делается быстро. В основе редактора лежит фронтенд-фреймворк Electron — инструмент для создания настольных приложений с использованием JS, CSS и HTML.

В Atom есть встроенная поддержка любимых функций разработчиков: автоматического дополнения кода и поиска/вставки. Сам редактор разработан GitHub, так что не удивительно, что в нем есть встроенный функционал для интеграции с GitHub и Git.

Atom допускает применение пользовательских плагинов. Вместе с тем вы можете с легкостью подобрать и установить нужные плагины при помощи платформы с бесплатными пакетами. Эти плагины помогут вам расширить функционал редактора в соответствии с вашими нуждами.

Основной недостаток Atom — он не такой отполированный, как многие другие редакторы кода. Со времени первого выпуска выходило много обновлений, но редактор все равно периодически падает. К сожалению, с тех пор, как в 2018 году Microsoft приобрела GitHub, выход обновлений заметно замедлился.

Достоинства

  • Можно использовать из коробки
  • Легковесность и кастомизация при помощи плагинов
  • Легкая интеграция плагинов

Недостатки

  • Долго загружается при включении
  • Есть проблемы с производительностью
  • Запускается как JavaScript-процесс
  • Некоторые необходимые функции (отладка, сборка кода и т. п.) добавляются при помощи плагинов.

Use Case

Atom вам подойдет, если вы работаете с несколькими языками и хотите иметь бесплатный и хорошо настраиваемый редактор кода, но не хотите тратить слишком много времени на тонкую настройку.

Codespaces (редактор кода)

Codespaces — новый облачный кроссплатформенный редактор кода, разработанный Microsoft и выпущенный в мае 2020 года. Пользоваться им можно в браузере.

В Codespaces вы найдете браузерный текстовый редактор, поддержку Git-репозиториев и расширений, а также встроенный интерфейс командной строки. Любопытно, что этим редактором можно пользоваться и офлайн — с обновлением после подключения к интернету.

Редактор совершенно бесплатный, но в будущем будет иметь платные опции.

Браузерный подход Codespaces позволяет работать где угодно, на любом устройстве с подключением к интернету. Это делает его прекрасным инструментом для командных проектов, потому что вам не придется передавать копии файлов или иметь какой-то общий инструмент.

Самый большой недостаток Codespaces — его новизна и неотшлифованность. Как и в любом новом проекте, в нем вы легко можете наткнуться на еще не исправленный баг.

Достоинства

  • Хорош для командных проектов
  • Можно использовать где угодно, на любом девайсе
  • Не нужно устанавливать или настраивать
  • Готовая интеграция с GitHub

Недостатки

  • Новый и неотшлифованный
  • Ограничение в 5 рабочих пространств
  • Ограниченная кастомизация

Use Case

Codespaces подойдет разработчику, который часто участвует в коллективных проектах или выступает контрибьютором в проектах с открытым кодом и не слишком озабочен кастомизацией.

Visual Studio (IDE)

Окно IDE Visual Studio

Visual Studio — IDE общего назначения, поддерживающая Python при помощи плагина Python Tools for Visual Studio (PTVS).

Эта IDE имеет богатый функционал, встроенную поддержку Git, встроенный терминал, полный набор инструментов для юнит-тестирования. Как и в Atom, есть маркетплейс с расширениями.

Visual Studio поставляется с Intellisense — одной из самых лучших на сегодняшний день систем автодополнения. При помощи плагинов можно добавить поддержку инструментов веб-разработки, таких как Flask или Django.

Есть бесплатная версия (Community) и платная (Business/Enterprise) — с дополнительными плюшками вроде поддержки пользователя и инструментов DevOps.

Visual Studio также имеет легковесный редактор кода — Visual Studio Code (VS Code).

Достоинства

  • Богатый функционал из коробки
  • Подходит для многих языков и платформ
  • Легкое добавление плагинов
  • Автодополнение Intellisense

Недостатки

  • Дополнительные ресурсы — платные
  • Слишком большая «зона покрытия», если вы планируете пользоваться только для Python-программирования
  • Недоступность для ОС Linux

Use Case

Visual Studio подойдет разработчику, который регулярно меняет языки, хочет изучить один инструмент для всех своих программистских нужд и не слишком заинтересован в визуальных настройках.

Sublime Text 3 (редактор кода)

Окно редактора кода Sublime Text 3

Sublime Text — очень отзывчивый редактор кода, которым пользуются тысячи разработчиков. Поддерживает разные версии Python и позволяет назначать версию для каждого отдельного проекта.

Sublime — практически непревзойденный лидер по части скорости: все файлы, за исключением самых больших, открываются мгновенно. Второе преимущество этого редактора — невероятная настраиваемость при помощи подключаемых пользовательских пакетов.

Эти плагины позволят вам поменять буквально что угодно в редакторе, от внешнего вида до поиска ошибок, дополнения кода, поддержки языка и т. д. С каждый днем появляется все больше плагинов, а это значит, что Sublime, вероятно, один из самых обновляемых инструментов на сегодняшний день.

Основной недостаток Sublime — его цена ($80).

Достоинства

  • Высокая настраиваемость при помощи плагинов
  • Несравненная скорость
  • Отлично подходит для одновременной работы над несколькими проектами.

Недостатки

  • Цена в $80
  • В ванильной версии не хватает функционала
  • Сложно добавлять плагины

Use Case

Этот редактор подойдет опытному программисту, который хочет иметь настраиваемый и при этом легковесный инструмент для всех своих любимых языков, а также не боится потратить некоторое время на настройку.

Vim (редактор кода)

Vim — классический редактор кода, созданный как преемник редактора Vi. Он по умолчанию установлен в Mac OS и Linux, также его можно скачать и установить в Windows. Этот редактор известен крутой кривой изучения и тем, что результаты все же стоят затраченных усилий. Он по-прежнему обновляется, но кардинальные изменения происходят крайне редко.

По умолчанию Vim практически не имеет пользовательского интерфейса, пользоваться им нужно в командной строке. Это означает, что при помощи VIMscript вы сможете кастомизировать в этом инструменте практически что угодно, от внешнего вида до сочетаний клавиш. Благодаря этой особенности, Vim — потенциально самый настраиваемый и производительный редактор кода.

Научившись пользоваться Vim, вы получите очень эффективный инструмент, но переход к работе исключительно с клавиатурой будет нелегким (если только вы не опытный пользователь Vi). Настроить что-то при помощи VIMscript тоже непросто, потому что для этого фактически нужно создать отдельный программистский проект еще до начала работы с редактором!

Достоинства

  • Использование в работе исключительно клавиатуры очень повышает скорость программирования (как только все оптимизируете)
  • Можно запрограммировать собственные сочетания клавиш
  • Полная кастомизация при помощи VIMscripts
  • Доступен в Mac и Linux по умолчанию

Недостатки

  • Общеизвестно, что новичкам трудно овладеть этим инструментом
  • Кастомизация — сложный процесс

Use Case

Этот редактор прекрасно подойдет тем, кто уже умеет пользоваться Vi и привык все делать при помощи клавиатуры. Также Vim — прекрасный выбор для разработчика, который хочет иметь самый настраиваемый и эффективный редактор и готов ради этого примириться с крутой кривой изучения.

IDE, заточенные под Python

IDLE (IDE)

Окно IDE IDLE

IDLE — IDE, устанавливаемая с Python по умолчанию. В ней есть весь основной инструментарий: окно с оболочкой Python, автодополнение, подсветка синтаксиса, умные отступы и базовый отладчик.

IDLE — IDE с ограниченным функционалом, созданная для людей, изучающих программирование. Она легковесная и не слишком настраиваемая — чтобы не шокировать неподготовленных новичков. Но когда вы перейдете к более крупным проектам, вы заметите недостатки в производительности IDLE и нехватку нужных функций.

В IDLE также нет поддержки плагинов, а значит, вы не сможете расширить ее функционал, чтобы подогнать под свои нужды.

Достоинства

  • Поставляется с Python
  • Проста в освоении и использовании
  • Имеет все самые необходимые инструменты

Недостатки

  • Плохая производительность в крупных проектах
  • Не настраивается визуально
  • Нельзя добавлять функционал

Use Case

Если вы новичок в разработке на Python, хотите попрактиковаться на простеньких проектах и при этом не возиться с настройками, IDLE вам подойдет.

Thonny (IDE)

Окно IDE Thonny

Thonny — бесплатная IDE, спроектированная в качестве идеальной среды для начинающих. Пользовательский интерфейс прост. Встроены подсветка синтаксиса, автодополнение, отладчик и автоформатирование.

В этой IDE также есть уникальные функции для начинающих, например, трекер для значений переменных, находящийся рядом с основным редактором. Все опции устанавливаются через меню, а не путем правки конфигурационных файлов: это позволяет начинающим программистам сосредоточиться на написании кода. Даже установка плагинов оптимизирована для начинающих при помощи простого менеджера пакетов.

Недостаток Thonny в отсутствии продвинутых функций, которые есть в других IDE, например в PyCharm. Также нет специализированных инструментов для специфических приложений, доступных в Spyder. Из-за этого вам в конечном итоге придется перейти на другую IDE, как только ваши программы станут более сложными.

Достоинства

  • Простой, не отвлекающий пользовательский интерфейс
  • Настройка через меню, а не через файлы
  • Основные функции оптимизированы для начинающих

Недостатки

  • Нет специализированных инструментов
  • Производительность не такая хорошая, как в более продвинутых IDE

Use Case

Подойдет для начинающих Python-разработчиков, которые хотят больше функций, чем в IDLE, но еще не готовы перейти к более сложным IDE.

Spyder (IDE)

Окно Spyder

Spyder — IDE Python, созданная специально для разработчиков, занимающихся наукой о данных и машинным обучением. Она входит в Anaconda наряду с популярными библиотеками Python ( Scikit-learn, Numpy, Matplotlib, Scipy и Pandas).

Spyder имеет автодополнение, мощный отладчик, оболочку iPython и ограниченные инструменты для визуализации данных.

В Spyder меньше функций, чем, скажем, в PyDev. Эта IDE фокусируется скорее на предоставлении простого, легкого в использовании инструментария для не-разработчиков.

Достоинства

  • Простая установка и интеграция с основными библиотеками
  • Инструменты для работы с data science
  • Мощные инструменты отладки для помощи не-разработчикам

Недостатки

  • Функционал, не связанный с data science, ограничен
  • Мало опций для кастомизации

Use Case

Если вы занимаетесь исключительно наукой о данных или машинным обучением и хотите IDE, подогнанную под ваши нужды, Spyder будет прекрасным выбором.

PyDev (IDE)

Окно IDE PyDev

PyDev — это IDE-плагин для Eclipse, популярной Java IDE для open source разработки. Поставляется со всеми встроенными элементами управления Eclipse и добавляет поддержку автодополнения, интерактивной консоли и отладки для Python.

Это одна из немногих IDE, имеющих поддержку Jython и Cython. Также есть интеграция с Django с его инструментами для веб-разработки.

Хотя PyDev проигрывает другим IDE в плане функциональности и кастомизации, с ней будет очень легко начать работать тем, кто уже знаком с Eclipse. Правда, если вы не знакомы с Eclipse, кривая изучения будет довольно крутой.

Достоинства

  • Эту IDE легко освоят пользователи Eclipse
  • Оптимизация для веб-разработки на Django
  • Поддержка для Jython и Cython

Недостатки

  • Ограниченный функционал, поскольку это все-таки простой плагин
  • Освоить Eclipse непросто

Use Case

PyDev подойдет разработчику, который пользуется Python как вторичным языком для веб-разработки или участия в open-source и имеет опыт работы с Eclipse.

PyCharm (IDE)

PyCharm — одна из самых популярных кроссплатформенных IDE для Python, созданная и регулярно обновляемая солидной компанией JetBrains.

Эта IDE уже из коробки имеет все самые лучшие инструменты: контроль версий, автодополнение, подсветку ошибок, рефакторинг кода и т. д. В отличие от других сред разработки, в PyCharm можно начинать писать код сразу же после загрузки.

Часто отмечается особая полезность предлагаемого PyCharm кода (по сравнению с другими IDE).

Бесплатная версия PyCharm более легковесна и оптимизирована для data science. А платная ($100-200 в год) включает инструменты для веб-разработки и Python-приложения.

Кроме того, для работы PyCharm требуется много VRAM. Использовать ее на старых машинах не получится.

Достоинства

  • Уже установлен весь основной продвинутый функционал
  • Не требуется настройка
  • Инструментарий для Python-разработки любого рода

Недостатки

  • «Кусачая» цена версии с полным функционалом
  • Производительность очень зависит от возможностей вашей машины
  • Ограниченная кастомизация

Use Case

PyCharm в полной версии будет прекрасным выбором для разработчика, который согласен заплатить за немедленный доступ к самым лучшим инструментам, чтобы не возиться с настройкой или установкой плагинов.

Также стоит упомянуть

    . Можно использовать для разработки на Python, но это довольно старый инструмент, из-за чего там нет более современных функций. . Простой инструмент, оптимизированный для data science и графических представлений, но уж слишком специализированный, чтобы войти в наш список.

У вас есть свой любимый редактор для программирования на Python, не вошедший в наш список? Предлагайте в комментариях!

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector