💻 Повышение цен на курсы для начинающих 20.05.2024
Узнать больше
17.03.2023
10 минут просмотра

Сергей Немчинский: Какую операционную систему выбрать программисту? Linux, Windows или Mac OS

Сергей Немчинский: Какую операционную систему выбрать программисту? Linux, Windows или Mac OS

Пришло время обсудить, какую операционную систему лучше выбрать для программирования. Однако, необходимо учитывать, что есть определенные ситуации, когда вы не можете выбирать операционную систему. Например, если вы программист на языке Swift, то вашей операционной системой должна быть Mac OS, так как других вариантов просто нет. Да, вы можете помучиться с хакинтош или придумать что-то еще, но это будет нестабильно и неудобно. 

В случае использования языка С#, я рекомендую использовать Windows. Этот язык хорошо работает на Windows, и все IDE под него хорошо структурированы. Хотя вы можете попробовать программировать на другой операционной системе, но это будет неудобно и немного криво. И уж совершенно точно не нужно писать на C# на Mac OS. 

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

Обсуждение имеет смысл только для языков и направлений разработки, которые не так сильно привязаны к конкретной операционной системе. Например, PHP, Python, Java, Ruby и многие другие языки нормально работают на всех трех самых распространенных ОС. На некоторых из них эти языки могут работать лучше, на других хуже, но в целом, вы можете работать с любой из них.

Самые распространенные ОС

Рассмотрим, что у нас есть в ассортименте. Если не брать какие-то очень редкие варианты, то видим, что рынок довольно качественно поделен между тремя игроками. Большую долю рынка занимает Windows. Причины довольно понятны: он продавался гораздо больше и позволяет устанавливать себя вообще на любое железо, что является большим преимуществом. Детальнее про преимущества и недостатки мы поговорим позже. Дальше идет Mac OS, а затем Linux. Linux среди программистов даже более популярен, чем Mac OS, потому что именно для программиста его недостатки нивелируются, а преимущества становятся более доступными.

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

Windows

Преимущества Windows

  • Надежность

Главным преимуществом Windows я бы назвал надёжность. Сейчас вы, конечно, начнете смеяться, но на самом деле современные версии Windows очень надежные. К примеру, свежие сборки Mac OS и Linux я не очень рекомендую обновляться, а вот с Windows в этом плане все достаточно неплохо. То есть, выходят вполне вменяемые обновления, которые не нарушают вашу работу. Я, например, свою Винду обновляю постоянно на всех своих компьютерах и очень редко возникают какие-то проблемы. Если ваша операционная система является тем инструментом, посредством которого вы зарабатываете деньги, конечно же, вам не хочется, чтобы она регулярно крашилась и что-то не работало. Но прошли те времена, когда вы часто видели синий экран смерти 🙂

  • Доступность

Windows устанавливается практически на любое железо, начиная с очень древних компьютеров и заканчивая только что вышедшими. Практически не бывает компьютерного железа, которое не совместимо с Windows. И это очень круто, потому что если вы пробовали работать с Linux, вы знаете, что там все намного сложнее. Какая-нибудь веб-камера может быть не совместима, потому что она или слишком старая, или слишком новая, и нужно помучиться с драйверами. Или может просто что-то с чем-то конфликтовать и не работать. С Windows с большой вероятностью у вас будет работать все железо, которое только есть, и работать будет как надо. Это важно, по крайней мере, для меня. У меня к компьютеру подключено огромное количество железа, и если бы у меня была другая операционная система, думаю, это было бы большой проблемой.

  • Программная поддержка

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

  • Обновления

Обновления  легкие, простые и понятные, без каких-либо проблем. Разнообразный софт. Это огромное преимущество, которое перекрывает большинство недостатков этой операционной системы. Фактически, нет софта, который не устанавливается на Windows или не имеет качественного аналога. Практически любой производитель софта выпускает виндовые приложения. Как минимум, пакет Microsoft Office, который является де-факто стандартом для работы с документами и повсеместно используется в корпоративном мире. Например, чтобы работать с офисом на Linux, вам придется качественно помучиться. А уж если говорить про какие-то более сложные и хитрые софтины, включая программистские инструменты, то в большинстве случаев для Windows они точно существуют, а вот есть ли качественные аналоги для других операционных систем — надо искать.

Недостатки Windows

Недостатки, конечно, тоже есть. Если вы устанавливаете какое-то кривое железо, то оно может иметь кривые драйвера, что будет приводить к нестабильности вашей операционной системы. Это, кстати, важный аспект. Именно поэтому многие думают, что Windows нестабильна. Но давайте будем честны, на аналогичном кривом железе поднять Mac OS вообще бы не получилось. Да и с Linux тоже, скорее всего, не получилось бы.

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

Сама по себе система Windows за счет того, что она содержит огромное количество драйверов и уровней абстракции, на одинаковом железе будет работать существенно медленнее, чем Linux. Сравнить по скорости работы с Mac OS очень сложно, потому что Mac OS работает только на своем родном железе. Вряд ли кто-то будет пробовать ставить Windows на Apple-технику ради проверки производительности.

Linux

Преимущества Linux

  • Открытый исходный код

Большинство программистов указывают открытый исходный код как главное преимущество. Я довольно долго и активно использовал Linux, но мне никогда не приходило в голову что-то там поправлять. Если вы делали это, пожалуйста, поделитесь опытом в комментариях. С моей точки зрения, доступ к коду не будет полезен без достаточных знаний для его изменения, что требует профессиональных навыков. 

  • Безопасность

Если вы очень сильно колотитесь над безопасностью, то Linux вам хорошо подойдет. Открытый исходный код проверяется огромным количеством разработчиков, что делает маловероятным наличие бэкдоров, через которые вытекают знания в компании Microsoft или Apple. 

  • Высокая производительность

По архитектуре Linux не очень сильно отличается от Windows — это тоже операционная система с монолитным ядром, а не микроядром, как у Mac OS, поэтому зависание в драйверах вполне может привести к зависанию всего компьютера (в отличие от Mac OS). Однако у Linux безусловно более высокая производительность, на том же самом железе он будет работать существенно быстрее, чем Windows, и будет менее прожорлив по памяти. С другой стороны, все эти преимущества легко нивелировать, установив огромное количество различного запускающегося софта, который будет все тормозить.

  • Высокая вариативность настройки

Вы можете настроить практически все. Вы даже можете сделать Linux похожим на Windows или Mac OS, или не похожим ни на что. Вы абсолютно все можете настроить под себя. Linux — единственная операционная система, которая дает такие возможности.

  • Простая установка модулей

Современные версии Linux довольно легко позволяют устанавливать модули, дополнительное ПО или что-то еще. Как в Apple и Windows, тут есть каталог, из которого вы можете устанавливать модули. Их там довольно много, причем много разного именно для программистов: компиляторы, интерпретаторы всех известных и неизвестных науке языков программирования и куча другого программистского инструментария. Если вы используете Linux не для программирования, то могут возникнуть проблемы, потому что в каталоге вы найдете мало чего полезного. Поэтому Linux удобен именно для разработчиков.

Недостатки Linux

Ошибки. В конце концов, это Open Source, то есть некоммерческая разработка, и там бывают ситуации, когда немного накосячили в разработке, после чего программа может работать с ошибками. И поскольку никто не отвечает деньгами, ошибки могут исправляться очень долго.

Не поддерживаемое программное обеспечение. Например, какой-нибудь Microsoft Office вы просто не поставите. А альтернативы офису под Linux мне кажутся абсолютно неудобными. Я использую офис очень активно, причем весь пакет, поэтому мне с Linux совсем не удобно в этом моменте. Но вам может быть нормально.

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

Mac OS

Преимущества Mac OS

  • Простая установка

Примерно такая же, как на Windows, но в большинстве случаев Mac OS уже установлена на компьютере и требуется только установка обновлений. Я даже не слышал о ситуациях, когда пользователю нужно устанавливать Mac OS на чистый Macbook.

  • Внешний вид

Визуальная составляющая — еще одно преимущество техники Apple. Однако мы понимаем, что это чистая вкусовщина.

  • Высокая многозадачность

Многозадачность у Mac OS гораздо лучше, чем у Linux и, тем более, чем у Windows. Система построена на микроядре, что существенно сокращает вероятность зависания операционной системы, если какой-нибудь софт упадет. Вообще разные задачи не влияют друг на друга. Это очень круто. 

  • Очень хорошая техническая поддержка

Если у вас что-то не работает, то вам все объяснят и расскажут. Я сам не являюсь пользователем Apple, поэтому говорю со слов тех, кто пользовался.

  • Емкая батарея

Время работы на макбуке обычно сильно больше, чем на других ноутбуках.

Недостатки Mac OS

Ограничения использования. Использование Mac OS возможно только на железе Apple.

Дороговизна. Железо от Apple стоит примерно на 30%, а иногда даже на 50+% дороже аналогичного по производительности железа, не от Apple. Даже несмотря на то, что сама операционная система Mac OS предоставляется бесплатно (в то время как Windows стоит денег), суммарно это все равно самый дорогой вариант.

Не рекомендуется для геймеров. Как и Linux, Mac OS фактически не подходит для игр. Если вы играете, то вам нужно либо завести отдельный игровой компьютер, либо купить приставку, либо просто не играть. Mac OS — это совсем не про игры. Есть несколько игр, которые можно запустить, например, World of Warcraft, но это скорее исключение. Не рассчитывайте, что вы сможете поиграть в какие-то новинки. Mac OS — это операционная система, исключительно для работы.

Не гибкие обновления. В принципе у Apple все очень четко и жестко. Если они считают, что вы должны что-то сделать, значит, вы это делаете. Это не Windows, где, если не хотите, можно сделать потом, и не Linux, где всем плевать, что вы делаете.

Сложность подключения внешнего оборудования. Малое количество разъемов. Поэтому если вы хотите что-то подключить, то должны это делать через дополнительные адаптеры, которые не всегда дружат со всем оборудованием. Адаптеры должны быть обязательно фирменные и стоят немалых денег. Мои знакомые умудрялись подключать к макбуку даже два монитора, но во многих случаях это сопряжено с определенными проблемами. Снова таки, это не Windows, где, чтобы что-то подключить, нужно просто воткнуть в уже имеющиеся HDMI-разъемы. Я имею в виду именно железо.

На какой операционной системе лучше всего работать программисту

Подведем итоги. Если вы работаете на языке, который жестко привязан к операционной системе, то естественно, вы работаете на этой операционной системе. Если вы пишете на Swift, у вас нет других вариантов, кроме Mac OS. Если вы работаете на C#, я советую работать на Windows. Если вы пишете под Android, тогда использовать Mac OS категорически не стоит, лучше выбрать Windows или Linux. Для всех остальных языков операционную систему выбираем на основании собственных предпочтений. Если у вас есть деньги, и вы страстный поклонник техники Apple, то почему бы и нет. Макбук — отличный компьютер для работы. Если вы планируете не только работать, но и играть, то лучше выбрать Windows, так как игры на Windows намного более распространены, чем на Mac OS или Linux.

Если вы программист и не собираетесь расти выше midle, то для вас вполне подходит Linux. Но чем выше вы будете расти, тем меньше времени вы будете тратить на пользование IDE, и больше на работу с программами рисования UML, различными офисными пакетами и другим софтом, связанным с работой в бизнес-сфере. Подобных программ гораздо больше, и они гораздо удобнее именно под Windows. Как тимлид, я поработал год на Linux и с удовольствием перешел на Windows. Просто программировать под Linux никаких проблем нет, и даже во многих отношениях это удобнее. Однако чем выше уровень программиста, тем меньше его работа связана с написанием кода, а больше — с работой с заказчиком, документами, предметной областью и т.д. И, я повторюсь, все это намного проще делать под Windows или Mac OS.

Если у вас совсем нет денег, то на более слабом компьютере Linux будет работать гораздо быстрее. Например, если у вас компьютер всего с 4 ГБ оперативной памяти, то лучше выбрать Linux. 

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

Всегда ваш Сергей Немчинский.

Добавить комментарий

Ваш имейл не будет опубликован. Обязательные поля отмечены *

Сохранить моё имя, имейл и адрес сайта в этом браузере для будущих комментариев