- Web Dev — Windows(Native/WSL), Mac-OSX or Linux?
- Context
- How To Decide?
- Ease of Setup
- Ease of Use / Support Issues
- Learning Curve
- Associated Hardware
- Final Conclusion
- suhorukov.com
- Сравнение операционных систем Mac OS, Linux и Windows
- Подписка
- Виды операционных систем Windows, Mac OCX, Linux
- Windows
- Плюсы Windows 7
- Минумы Windows 7
- Linux
- Плюсы Linux
- Минусы Linux
- Mac OS
- Плюсы Mac OSX
- Минусы Mac OSX
- Выводы
Web Dev — Windows(Native/WSL), Mac-OSX or Linux?
Recently at Auquan, I had to make a choice between Windows, OSX and Linux operating systems. It took me a few weeks to try out all the operating systems and and there were quite a few factors that went into the final decision. In this article, I will break down my experiences, the decision making process and how we finally arrived at Windows(WSL) as the operating system of choice.
Context
Auquan is currently a team of 5 engineers and the number is expected to grow to 10+. We have a MERN(Mongo-Express-React-Node) stack and so far as a seed stage startup we were able to get away with everyone working on their personal laptops. However, it was becoming clear that we need to get our engineers work machines so that the team can have a standard dev environment. Our current state was: 2 of us were on OSX, 1 on Windows(native) and 2 on Linux. So started the long debate of which OS should we go with.
How To Decide?
First things first, I decided to give each one a fair shot. I was actively working in OSX and I had a native windows environment as well that I had used on and off over the past year. For a linux environment I fired up an AWS machine as it would serve well for purposes of evaluating. It was around this time that I remembered something like WSL exists and had enjoyed quite the hype when it first arrived. For the uninitiated, WSL is Windows Subsystem For Linux and it lets you have bash support without having to install linux as a separate partition. I added WSL to the mix of contenders and now we had 4 environments to evaluate. Following are the factors we were considering:
Ease of Setup
Before you can start using an environment you have to set it up so it is important the setup is easy and smooth. For each of the factors I will talk about my experience.
Windows(Native): I did the setup through installers and it was fairly simple to get the environment up and running. I did not install a local version of MongoDB so I cannot speak to simplicity of that.
Mac-OSX/Linux: Absolutely simple once you have xcode/brew setup. Just run a bunch of commands in terminal, clone your repository and you are good to go.
WSL: Getting WSL setup is the added cost here, but you can pick up any guide and you will be set up in
30 mins 25 of which will be the download time, i.e. its super simple to set up WSL. Afterwards installing node is just like linux but setting up mongoDb required a bit more research as WSL is still very new. It took me exponentially more time than either of the other OS’s to set this configuration up but once I figured out the steps the complexity becomes same as the Windows(native) set up. I will make another post with a full rundown of how to set up a web env on WSL.
Ease of Use / Support Issues
This factor was to do with how good is the tooling around our environment. Will we need to repeatedly deal with unsupported libraries or minor issues that make the development process harder.
Windows(Native): The support framework leaves a lot to be desired. Most new things have to be installed separately and the cmd line just feels lacking. Powershell has improved upon that but for our use case it did not seem to deliver. However considering office/excel is also a part of our workflow windows had the clear edge there and the GUI exploration is just better.
Mac-OSX: Great command line and tools around it. iterm has to be the best terminal app and everything you need is a command away. The rest of the OS however did not feel as powerful as windows for our use case of exploring big data sets using GUI or general tooling.
Linux: Once again great command line and tooling. The GUI has improved over the years but compared to other 2 it is still lagging behind.
WSL: This is where WSL shone, we could get the linux command line while keeping the windows GUI. What’s there to lose? Well, possibly quite a bit. WSL is new and does not have extensive support documentation so you may find yourself on wild goose chases every once in a while. However, most of the issues I dealt with had solutions that were applicable for linux and more importantly there always WAS a solution even if it was not officially supported.
Learning Curve
If people have to switch OS’s it always comes with an added cost of learning the new OS/env. It slows you down from getting to the bits that actually matter. I am yet to meet a person who has not used a windows machine ever. Possibly the younger engineers have not but people in their 20’s have all grown up with windows and the OS is very familiar to everyone. So windows was a clear winner here over OSX or Linux.
Associated Hardware
Macs are expensive, the quality of hardware justifies some of that cost but a entry level 15 inch Macbook Pro will still cost you
$2600 with taxes. To top it the current generation Macbook keyboard is just lackluster and the touch bar is one of the worst gimmicks I have ever experienced. You can easily obtain out performing and great looking hardware from HP/Dell for sub $1500 range. And if you want absolutely beautiful looking hardware just look at HP Spectre or Dell Xps but they will run you a little more.
Final Conclusion
After working with WSL for over a month I could not find any reasons to not choose it as my environment of choice. Once I installed cmder I got close to having an iterm like experience and all my everyday commands in WSL just seemed to work. There were a couple gotchas here and there, mostly to do with how the file system operates but a quick google search always gave me answers I needed. My experience, coupled with the linux command line, windows interface and
$1500 saving on every machine we got led us to choose Windows + WSL as our environment. Next, I will be doing a detailed post on how to set up a MERN environment on WSL but in the meantime let me know your thoughts.
suhorukov.com
Сравнение операционных систем Mac OS, Linux и Windows
Споры о том, какая из этих операционных систем лучше, наверное, не прекратятся никогда. Самыми распространенными и популярными среди ОС считаются Windows, Linux и Mac OS. Попробуем сравнить их.
Начнем с того, что Linux принадлежит к семейству открытых и свободных систем. Что это значит? Вы можете совершенно бесплатно, а главное, законно произвести установку ОС на своем ПК или ноутбуке. В свою очередь Mac OS и Windows относятся к закрытому (проприетарному) семейству операционных систем. Их копии необходимо приобретать для установки. Широко распространены пиратские версии.
Теперь кратко о каждой из названных ОС:
Windows. Еще недавно самая распространенная операционная система. По данным статистики, она установлена на 85% устройств: планшеты, ноутбуки, компьютеры. Используются как дома, так и на предприятиях. С распространением мобильных устройств – смартфонов, Linux начала теснить Windows. Ведь именно она стал основой для Android.
Самые главные плюсы – отличная совместимост ь и распространенность.
Linux из семейства операционных систем Unix. Однако существуют различные дистрибутивы, которые имеют ядро в зависимости от версии, и заточены под определенные цели. Они подходят и для работы на десктопах для домохозяйкам, и для мощных кластерных серверных систем. Более 80% серверов в Интернете работают на базе одного из дистрибутивов Linux, FreeBSD или другой Unix-подобной системы. Про основу под Android мы сказали выше.
Достоинство – оперативная доработка недочетов и неточностей благодаря открытому исходному коду.
Mac OS. Система, которая была разработана компанией Apple. Это сопутствующее ПО для выпускаемых этой корпорацией устройств. Основана на FreeBSD, исходный код закрыт. В настоящий момент занимает менее 20% рынка и считается второй по популярности.
Преимущества – стабильность и производительность.
Сравним ОС по нескольким параметрам.
Системные требования. Конечно, на данный параметр сейчас обращают гораздо меньшее внимание, чем каких-нибудь 7–8 лет назад. Однако количество приложений, которым для работы необходимы серьезные ресурсы, увеличивается. Это значит, что и свободное место на вашем ПК или другом устройстве будет не лишним.
Windows. Для стабильной работы системы последних версий вам понадобится процессор с двумя ядрами, 1 Гб оперативки (а если берете 64-битный дистрибутив, то еще больше), не самая плохая видеокарта.
Linuх. Здесь ситуация проще. Достаточно одноядерного процессора, 256 Мб оперативки (сразу приготовьтесь докупить планку) и абсолютно любой видеокарты. Естественно, этого будет недостаточно для быстрой работы приложений и легкого серфинга в Интернете. Но минимальные требования именно такие. Отметим, что плюсом будет модуль ядра Zram, который позволяет сжимать данные с помощью zip перед сохранением в оперативной памяти.
Mac OS. Так как система закрыта, то однозначного вывода сделать не получится. Теоретически данную ОС получится запустить с 512 Мб оперативки, одноядерным процессором с частотой 1 ГГц и 9 свободными Гб памяти на жестком диске.
Безопасность/защищенность от вирусов. Большинство пользователей хранят на своих компьютера личную информацию, фото, осуществляют денежные переводы, общаются и т. д. Вся эта информация требует защиты. Насколько устойчивы выбранные для сравнения ОС:
Windows. Считается, что это ОС наиболее уязвимая. Это можно объяснить очень просто: над последними версиями работают менее квалифицированные сотрудники. Подобное подтверждается многочисленными ошибками в коде. Если вспомнить Windows NT и Windows XP, то процесс разработки был организован хорошо, отсюда и стабильность. Именно поэтому хакеры придумывают все новые и новые вирусы под эту оболочку. Также специалисты из Microsoft устраняют крайне мало уязвимостей, а если делают это, то через месяц или больше.
Linux. Если посмотреть на Linux, то «дыры» латаются за считанные часы. Все продукты семейства Unix имеют очень мало изъянов. Есть возможность шифрования данных, но чтобы это выполнять, потребуются определенные навыки. Что касается всплывающих блокираторов – про них можно забыть.
Mac OS. Наиболее безопасная ОС, за ее взлом даже назначают неплохую награду на некоторых хакерских сайтах. Помогает поддерживать систему в стабильности за счет шифрования данных и распределения их на личные и системные. К тому же новая Mac OS переписана с нуля и не совместима с предыдущими версиями. Это значит, что искать пути взлома стало еще труднее.
Процесс установки и настройки ОС. Тут сравниваемые проявляют себя по-разному: кто-то « настроен дружелюбно » , а кто-то доставит немало хлопот.
Windows. Как показывает практика, поставить ее может даже начинающий пользователь компьютера. Ход всей операции понятен на интуитивном уровне. Минус – придется искать некоторые программы для полноценной работы системы.
Linux. Процесс установки мало отличается от вышеописанного, а порой установить ПО будет даже проще. Это касается именно десктопной версии. Если вам нужна большая кастомизация системы и экономии диска, то для установки необходимо иметь хотя бы общее представление о пакетах системы и их взаимодействии.
Mac OS. Процесс установки можно сравнить с аналогичной операцией у Windows. Чтобы настроить систему, используются уже готовые программы System Preferences.
Стабильность. Рассмотрим различия в процессе работы.
Windows. Да, устаревшие версии действительно часто выходили из строя. На современных вариантах ОС такого нет. Синие экраны смерти появляются теперь крайне редко.
Linux. Пожалуй, самая стабильная система из всех троих.
Mac OS. Сбои случаются примерно с той же периодичностью, что и у Windows. Это чаще всего происходит из-за использования несовместимых со стандартами Apple программи.
Поддержка ПО. Сейчас сравним, как «относятся» к стороннему софту представленные операционные системы.
Windows. Так как данная ОС самая распространенная, то и ПО чаще всего пишется именно под нее. Можно найти очень много платного и бесплатного софта.
Linux. С каждым годом появляется огромное количество программ, совместимых с этой системой, и практически все они бесплатные. Кроме того, в данной ОС есть эмуляторы Wine и Mono, которые позволяют запустить большую часть Windows-приложений прямо из Linux.
Mac OS. Программ достаточное количество. Минус – устанавливать их можно только из AppStore.
Удобство в использовании. Все разработчики стремятся сделать свои продукты максимально простыми и доступными в применении, но не у всех это получается.
Windows. Тут без вопросов. Интерфейс понятен (если не считать Windows 8). Работа за компьютером не вызывает сложностей.
Linux. Каждый дистрибутив разрабатывается группой единомышленников из разных стран, а не отдельными людьми или фирмами. Любой может подобрать дистрибутив, исходя из рекомендаций других пользователей, с учетом своих знаний и вкусов.
Mac OS. Тоже удобная и простая система, в ней учитываются все мелочи. Работа с ней будет понятна даже непосвященному.
Вместо заключения. Хочется отметить, что выбор должен основываться на запросах. Определитесь, что вам нужно. Windows простая и понятная система, которая идеально подойдет начинающему пользователю. Mac OS отлично оптимизирована, приятна в работе, производительна. Linux активно развивается, ее применяют уже «вооруженные» люди и профильные специалисты, также и все чаще устанавливают на домашние компьютеры. Берите то, что подходит вам. От себя рекомендуем пройти курс «Системный администратор Linux» в нашей Академии.
Подписка
Выберите рассылки, на которые вы хотите или не хотите быть подписанным.
Виды операционных систем Windows, Mac OCX, Linux
В этом разделе будем говорить о операционных системах Windows, Mac OCX, Linux. Операционная система (ОС) представляет собой совокупность программ, выполняющих две основные функции: предоставление пользователю удобств виртуальной машины и повышение эффективности использования компьютера при рациональном управлении его ресурсами.
К современным операционным системам предъявляются следующие требования:
- совместимость — ОС должна включать средства для выполнения приложений, подготовленных для других ОС;
- переносимость — обеспечение возможности переноса ОС с одной аппаратной платформы на другую;
- надежность и отказоустойчивость — предполагает защиту ОС от внутренних и внешних ошибок, сбоев и отказов;
- безопасность — ОС должна содержать средства защиты ресурсов одних пользователей от других;
- расширяемость — ОС должна обеспечивать удобство внесения последующих изменений и дополнений;
- производительность — система должна обладать достаточным быстродействием.
Windows
Самая популярная операционная система в мире.
Плюсы Windows 7
- Система достаточно проста в использовании. Только, на мой взгляд, в 7 настройки реализованы лучше, чем в 8 или 10.
- Привлекательный внешний вид с различными темами оформления. Так же можно очень сильно изменить внешний вид с помощью разных сторонних программ.
- Большинство программ как платных, так и бесплатных поддерживают именно эту операционную систему.
- При возникающих вопросах наиболее вероятно найти ответы в сети, опять же из-за ее большой распространенности.
- Поддержка различного оборудования (веб-камеры, принтеры и т.д.). Если нет дисков с драйверами, то можно воспользоваться каким-либо из предложенных системой.
- Легко восстанавливаемая удаленная информация, как с компьютера, так и с носителей.
- Сделать из одного компьютера два, подключить вторую клавиатуру, или телевизор? Легко и просто с помощью wmprogram.
- Хотите много рабочих столов с разными обоями и иконками? Пожалуйста! Программа Desktop к вашим услугам.
- Если вам например нужно изменить имя компьютера, рабочей группы или размер диска «С:\» , то после перезагрузки ваша ОС будет работать как часы, что нельзя например сказать о Linux, где если изменить размер корневого диска, то это может привести к неработоспособности системы.
- Разом переименование многочисленных файлов. В Windows очень просто, в других – нет!
- Функция запоминания открытых окон. То есть можно настроить такие параметры, где все открытые окна восстанавливаются при загрузке системы.
Минумы Windows 7
- Самый, на мой взгляд, главный минус – это большая уязвимость от вирусов, атак хакеров и скриптов. Но при нормальной защите и этого можно избежать на 99%.
- Деньги. Покупать официальную версию Windows, согласитесь, не всем по карману. А если вы пользуетесь пиратской версией, то тогда уже могут быть проблемы и с законом.
- Когда дело касается копирования, то здесь все проходит не совсем гладко. Например, если вы копируете множественное количество файлов и выскакивает ошибка, то операция прекращается, и нужно выполнять ее заново (в Windows 8, кстати, эта проблема решена).
- П ри долгой эксплуатации windows начинает тормозить это вызвано накомплением можества различных файлов и программ подробее можно узтаь в этой статье Компьютер тормозит что делать
Linux
Linux — это бесплатная современная операционная система, создаваемая независимыми разработчиками по всему миру. Данная операционная система, значительно отличается от Windows, используется в основном программистами или для серверов. Но существуют же не только дистрибутивы для серверов и программистов, но и для обычных пользователей, так почему же большинство использует Windows, причем не лицензионный? Элементарно, потому что, не побоюсь повториться,люди привыкли к Windows, а у некоторых времени переучиваться нет. Переучиваться действительно пришлось бы, если бы мы жили, допустим в 2005 году. Сейчас выпустили достаточное количество дистрибутивов для выбора подходящего. Есть даже один, у которого интерфейс идентичный с интерфейсом Windows. Но мы остановимся на самом распространенном и наиболее подходящем для обычных пользователей дистрибутиве — Ubuntu.
Плюсы Linux
- Linux — система открытая и гибкая, имея опыт и знания, можно достичь 100-процентного соответствия системы своим задачам и требованиям.
- Ubuntu запускается в разы быстрее Windows. Пользователя сменить можно тоже достаточно быстро.
- Нет потребности устанавливать вручную драйвера, есть возможность подключать разные источники для обновления системы и приложений.
- Проблем со скачиванием и установкой приложений почти не возникнет вам не обязательно заходить в браузер, чтобы найти и скачать программу, достаточно зайти в один из менеджеров управления приложениями, там найти нужное приложение и установить его.
- Множество настроек. Вы можете подстроить систему полностью под себя. Интерфейс настраивается до мелочей. Также, есть много сайтов, на которых все процессы настройки описаны. Один из них — Убунтология. На ней все описано начиная с установки.
- Часть программ портирована с Windows на Ubuntu. То есть вы сможете спокойно пользоваться своим любимым браузером Opera/Mozilla Firefox/Google Chrome на Ubuntu, разговаривать через привычный вам Skype и Mail.ru Агент.
- Отсутствие вирусов. Это означает, что вам не надо ставить антивирус. Существуют опасные терминальные команды, которые вы можете случайно запустить из Интернета, но тут все зависит от вашей внимательности. Также, в Ubuntu встроен Firewall.
- Кодеки для аудио и видео Ubuntu предлагает скачивать по мере их надобности. Вот почему так важно Интернет-соединение.
Минусы Linux
- Иногда возникают проблемы с поддержкой встроенных или внешних устройств: звуковых карт, принтеров, сканеров и т. д.
- Производители мобильных устройств и платформ упорно игнорируют пользователей Linux: синхронизация со смартфоном или коммуникатором является нетривиальной задачей (я для синхронизации использую сервисы Google).
- Число пользователей Linux, к которым можно обратиться за советом и помощью, значительно меньше, чем число пользователей Windows.
- Настройка Ubuntu может показаться вам сложной и долгой, потому что чаще все так и есть. Без нее можно обойтись, но чтобы действительно получать удовольствие от Ubuntu, вам придется пройти процесс настройки.
- На самом деле портированных программ мало. Для того чтобы вам пользоваться теме же программами, что и на Windows, вам придется установить одну из программ, предназначенных для этого (например, Wine), настроить библиотеки, шрифты, установить драйвер Directx, если нужен. Или же установить Windows на виртуальную машину. В общем, опять настройка.
- Не все программы можно установить из центра приложений. Некоторые придется скачивать из Интернета вручную, и часть их не в формате deb (установочный пакет Debian, установка анологична установке exe), а в формате tar.bz2, то есть, в архивах. Распаковывать и устанавливать их придется вручную.
- У любителей игры могут возникнуть проблемы. Конечно, игр выпускают на Ubuntu много, но чтобы вы получили доступ к своему Steam , например, вам придется либо ставить Windows на виртуальную машину, либо настроить Wine.
Mac OS
Операционная система, созданная корпорацией Apple. Подробно ее разбирать не будем, опишем ее в общих чертах, не затрагивая отдельные дистрибутивы, так как позволить ее себе может не каждый, только если пиратскую копию, установить которую не так просто. Саму операционную систему отдельно не продают, продается она только с ноутбуками и настольными компьютерами Apple. Один такой ноутбук будет стоить вам примерно 50 000 рублей, понятно, что идет переплата за бренд, но не смотря на такую цену их покупают, значит что-то примечательное все-таки в ней есть.
Плюсы Mac OSX
- Приятный интерфейс. Все в ней рассчитано на то, чтобы вам было удобно ей пользоваться.
- Отсутствие вирусов. Даже если они и есть, стоит мощная система защиты.
- Известные программы существующие на Windows обычно выпускаются и для Mac, потому что разработчикам это выгоднее, чем выпускать их на Linux.
Минусы Mac OSX
- Цена. Из-за большой цены она менее доступна, чем Windows и Linux.
- Не все игры, выпускаемые для Windows, выпускаются для Mac.
Выводы
Идеально конечно было бы взять Mac, но из-за его цены наша целевая аудитория вряд ли сможет ее себе позволить. Что касается Linux: несмотря на то, что Ubuntu считается самой дружелюбной для обычных пользователей, она все равно остается Linux`ом. Минусов достаточно. С Linux`ом всегда были и будут проблемы у обычных пользователей, которые привыкли к Windows. Поэтому, если вы не хотите прощаться со своей спокойной жизнью на Windows и переходить на беспокойную жизнь с Ubuntu, то эта система для вас. Иначе говоря, Ubuntu — операционная система, с которой вам придется возиться, если вы используете компьютер не только для выхода в Интернет.