Многие начинающие программисты не знают, что от выбора операционной системы, в которой пишется код, зависит всё: и скорость выполнения программы, и её качество, и количество ошибок в коде, и количество требуемых ресурсов. Рассказываем, какая операционная система лучшая, чтобы никто больше не ошибся при выборе.
Так себе: Windows
По статистике, Windows — самая популярная операционная система, на которой работают новички в ИТ. С одной стороны, это объяснимо — на Windows запускается большинство игр, поэтому начинающие разработчики выбирают эту систему, чтобы потом отвлечься от работы и немного поиграть. С другой — более неудобной и медленной системы для программирования сложно себе вообще представить.
Интерфейс. Интерфейс — это то, что программист видит перед собой большую часть времени. Чем хуже интерфейс, тем хуже получается код, который в нём пишется. С интерфейсом в Windows всегда было не очень — один постоянный хаос на рабочем столе чего стоит. Попробуйте с первого раза найти ярлык запуска редактора кода или браузера:
А теперь представьте, что вам такое видеть изо дня в день, каждый раз, когда вы включаете компьютер и хотите написать какой-нибудь код. Проще не заниматься программированием, чем пользоваться Windows.
Работа с кодом. Чтобы написать хороший код, используя компьютер на Windows, — это нужно очень хорошо постараться. Во-первых, Windows не умеет подсвечивать код в редакторах — это работает только в Developer-версиях ОС, простым пользователям это недоступно. Например, в любимом (почему-то) многими редакторе Sublime Text 3 нет подсветки синтаксиса — как здесь вообще можно программировать?
Во-вторых, код, который получается на Windows, часто перегружен лишними функциями — его добавляет сама операционная система, чтобы обеспечить обратную совместимость с предыдущими версиями ОС. В итоге мы получаем после запуска раздутый в 2–3 раза файл, где появились служебные команды, которые нельзя трогать. Отлаживать такую программу и поддерживать её в будущем — что-то из разряда геройства, не советуем никому испытать подобное.
Быстродействие. Наконец, Windows славится тем, что код, который там получается, работает очень медленно (даже на быстрых компьютерах). Это связано с тем, что перед запуском кода компьютеру на Windows нужно провести ряд подготовительных моментов:
- загрузить дополнительные библиотеки для кода;
- сформировать рабочую среду;
- проверить обновления (включая драйверы, на тот случай, если программа будет обращаться к железу напрямую);
- запустить и добавить как мастер-функцию в код ключевые .dll-файлы (как раз для обратной совместимости);
- выделить программе минимум памяти, потому что остальное уже чем-то занято.
Всё это приводит к тому, что код, скомпилированный на любом компьютере с Windows, сразу будет работать гораздо медленнее, чем мог бы в других условиях. При этом система загружается полностью, включая память или процессорное время — и это тоже фиксируется кодом и замораживает производительность.
Типичный вид диспетчера задач при выполнении даже самого простого кода:
Уже получше: Mac OS
Те, кто занимаются программированием дольше 3–5 месяцев, приходят к тому, что покупка макбука или любого другого устройства с Mac OS — жизненная необходимость, а не прихоть. По статистике, однажды написав любой код на компьютере с Mac OS, 95% программистов никогда больше не возвращаются на Windows. И это вполне объяснимо.
Интерфейс. По сравнению с Windows здесь максимально дружелюбный и простой интерфейс: всё аккуратно, лаконично, с красивыми кнопками и симпатичным курсором мыши. Всё, что нужно, — всегда под рукой, ничего не отвлекает от работы и всё всегда на своём месте. Посмотрите, какая красота, когда все нужные инструменты для программиста собраны внизу в Доке и всегда готовы к запуску:
Работа с кодом. Главный принцип Mac OS, который ввёл ещё Стив Джобс, — это простота во всём. На маках примерно половина написанного кода после запуска становится проще. А всё потому, что система сама во время выполнения понимает, как всё упростить, чтобы было легче и проще пользователю. В настройках системы можно даже включить галочку «Удалять функции, которые не нужны в готовой программе» — и тогда Mac OS будет сама анализировать код и убирать то, что не соответствует принципам красоты и простоты.
Что касается базовой подсветки синтаксиса в редакторах, вот тот же самый Sublime Text 3, только для Mac OS. Обратите внимание, насколько понятнее и визуально приятнее стал выглядеть код. Теперь его может понять даже новичок, который вообще не разбирается в программировании:
Быстродействие. Скорость работы интерфейса любой программы — база для Mac OS. Чем красивее программа, тем быстрее она работает. Для этого в ОС используется специальный движок Krueger, который по своим алгоритмам оценивает красоту интерфейса и изящность написания кода, и в зависимости от результата повышает быстродействие программы. Именно по этой причине большинство программ в Mac OS такие быстрые (и красивые).
Идеально: Linux (совсем идеально — Gentoo)
Наконец, мы дошли до идеальной операционной системы для программиста — Linux. Это система для тех, кто хочет сразу писать идеальный код, в котором никогда не будет ошибок, а компилятор запустит программу с первого раза (а если не запустит, всегда можно пересобрать компилятор заново, возможно, там что-то нарушилось).
Интерфейс. Главный плюс интерфейса Linux в том, что он может быть любым. Даже не так: ЛЮБЫМ! Например, он может быть таким:
…таким:
…или даже таким:
С таким управлением интерфейсом любой программист сразу понимает, как контролировать код и всё, что с ним связано. Он видит все ошибки, понимает, какая команда должна идти следующей, и знает, как реализовать тот или иной алгоритм.
Работа с кодом. В Linux работа с кодом — самая эффективная среди всех операционных систем. Если нужно максимальное быстродействие даже очень тяжёлых программ — это сюда. Подсветка синтаксиса работает ещё лучше, чем в Mac OS — она подсвечивает только неправильный код и тут же предлагает варианты на замену. Продвинутые программисты не пишут код сами, а объясняют системе с помощью Linux-команд в терминале, какая программа им нужна, а компьютер выдаёт результат:
Быстродействие. Моментальное — программа выполняется сразу в момент нажатия кнопки запуска или даже быстрее. Скриншотом это показать невозможно — программа закрывается ещё быстрее, чем закрывается, поэтому придётся поверить на слово.
Так что же выбрать?
На самом деле ответ очевиден: Linux. Больше тут добавить нечего.
Мнение автора может не совпадать с мнением редакции, контент-менеджера, эсэмэмщика, корректора, аналитика, дизайнера, Линуса Торвальдса и особенно — с мнением Кернигана и Ритчи.