Mac VS PC - с точки зрения программиста
Всем привет. Сижу тут работаю, никому не мешаю, мак опять завис и решил перезагрузиться. Ну бывает. Пока он грузился, вспомнил холивары по этой теме и решил что-то написать, тем более что тут периодически эта тема всплывает и ничем не заканчивается. :)
Бесит иногда, да, но все-же.. Как в том стишке, "никогда его не брошу, потому что он хороший..".
Ладно, все это лирика, давайте по пунктам.
Немного предыстории.
Я - айтишник, уже много-много лет. Динозавр, можно сказать. Свои первые потуги программирования исполнял на OS/2 , потом был VAX от всеми забытой Digital.. Потом в лаборатории универа был Sun UltraSparc с непревзойденной на тот момент Solaris. Мощь.. Конечно, параллельно был и собственный целый пентиум с модной на тот момент 98й виндой, но это для кармагеддона и кваки, что-то еще в тот момент на винде делать было сложно. Хотя, Borland со своим дельфи нормально работал, практикумы можно было делать. На том и стояли.
Дома - игрушки и практикумы, на винде. В универе - вся мощь мэйнфрэймов для "реальных задач" и понимание что такое программирование как таковое. Конечно, скорее всего и на винде можно бы было делать тоже самое (в конце концов, это просто ОС), но не было инструментария, от слова вообще. Это была оболочка для условно офисного пользователя. Поэтому, в академической среде она так и не прижилась, вплоть до начала нулевых.
Даже взять вот инструменты написания научных статей, Майкрософт и пальцем не пошевелил чтобы что-то сделать в этом направлении. И бедные наши доценты так все и набирали по-старинке в древнем LaTeX превдоформатирование, чтобы их формулы хоть как-то выглядели..
По моему мнению, MS допустило огромную ошибку, оставив академическую среду за бортом. Ибо именно оттуда выходят специалисты, которые являются движителем прогресса, в том числе с точки зрения пользователей.
Что же мы имеем ? На начало нулевых, целое поколение молодых специалистов, привыкших работать на юникс-подобных системах (в том числе линуксы), обученных пользоваться крайне ограниченным, но, в тоже время, очень эффективным набором инструментов. А на платформе MS этих инструментов не было от слова вообще.
То есть, повторюсь, MS не давало ничего специалистам, сфокусировавшись на среднестатистическом пользователе.
В то же самое время, под конец 90х, в Apple возвращается Стив Джобс с Джонни Айвом и делает сразу три шикарнейших хода:
0) Продает пиксар за дохуллион денег
1) Вместо опостылевших и однообразных серых ящиков привносит на рынок "статусные" мыльницы, которые сразу разлетаются по всем дизайнерским студиям, адвокатским бюро и тд
2) Полностью переделывается MacOS , которая застряла во времени, выдавая на гора MacOS X на базе юникса Next.
Без прикрас, эти три шага, сделанные в небольшой срок, стали революцией на рынке. Я даже не постесняюсь сказать что именно они определили облик всей IT-индустрии на данный момент.
Поясню.
0) Продажа пиксара дала возможность влить денег в достаточно спорный ход с дизайном и операционкой, в тот момент никто не верил в дизайн и функциональность.
1) Эксклюзивный и узнаваемый дизайн в итоге привлек адептов эппла практически во всех узкоспециализированных (и денежных) секторах, как то: финансы, архитектура, графический дизайн, веб-дизайн, музыка (да, RISC архитектура этому сильно способствовала изначально). Профильные компании, такие как Adobe, Autodesk, Macromedia и тд, сфокусировались именно на разработке инструментов для пользователей Mac и оптимизировали свои продукты для них, оставляя пользователей Windows на потом. Это, в свою очередь, заставляло все новых специалистов приобретать маки, чтобы иметь возможность работать полноценно.. Получился замкнутый круг.
2) Тот факт что MacOS X базировался на юниксе NeXT, привлек много пользователей из админской и девелоперской среды того времени, ибо портативной альтернативы на базе юникса не существовало. Да, были первые версии линукса (как Red Hat, например), но не было нормальных лаптопов. Напомню, именно Эппл выпустило первый лаптоп с вайфаем. Мак стал именно рабочим инструментом администраторов сетей и узких специалистов.
То есть, как бы не хайпили по поводу псевдо-статусности устройств эппл, они изначально делали решения именно для специалистов, заворачивая все это в привлекательный дизайн. В западных странах в то время именно специалисты имели потребительскую способность выше среднего, поэтому покупали это спокойно и с удовольствием. Так что статус появился позже чем функционал, это важно.
Сам я, кстати, до 2010 года, был ярым противником Apple, сейчас уже не помню почему. Для игр у меня была винда, для работы - линукс, работал на Fedora, потом Ubuntu. На MS инструментов так не хватало, даже нормального ssh shell так и не появилось до сих пор. Хотя и были проекты на чисто MS архитектуре (.NET + MSSQL), но это были исключения. На линуксе было комфортно.
Потом сам для себя решил попробовать Мак, ибо появились первые айфоны и айпады, мобильная тема стала интересна. А для них можно разрабатывать только на Маке. Ок, купил подержанный Mac Mini Server 2011 и пошло-поехало.
Привык быстро, тем более что моя любимая командная строка на месте. Весь инструментарий разработчика, тот-же что и для линукса. Бонусом - красивый интерфейс для повседневных задач. Ну и, самое главное - моментальная гибернация.
Этот пункт, мне кажется, один из самых важных, кстати.
Помню, на Windows гибернация появилась в Vista, если я не ошибаюсь. И это работало, но через боль. Нажимаешь, минуту что-то там крутится, вроде уснуло. Включаешь - еще пара минут загрузки, с переменным успехом. В половине случаев не получалось вернуться к предыдущему состоянию, приходилось перезагружаться еще раз, на "чистую". В итоге, я потом так никогда и не пользовался этой фичей, в виду ее геморойности.
На маках изначально эта проблема была решена шикарно. На мак-мини, просто нажимаешь кнопку, две секунды - отключаешь его, несешь домой, включаешь - 2 секунды и все работает как было. На лаптопах вообще ничего нажимать не нужно, просто крышку закрыл, поехал-полетел-забыл - открываешь экран и продолжаешь работать как ни в чем ни бывало хоть через месяц.
Для меня лично это очень удобно и , мне кажется, все пользователи мака именно этим довольны в первую очередь.
Далее, командная строка. Как бы PuTTy ни старался, но до простого терминала ему далеко. Даже не знаю в чем именно проблема, но PuTTy это боль, а альтернатив особо и нет. Но ssh нужен постоянно, поэтому тут без вариантов.
Поиск: я хз как они это делают, но на маке поиск по всему компу очень быстр (причем, всегда был таковым). То есть, я знаю как они это делают (индексирование всего и вся, по умолчанию), я не понимаю почему винда этого не делает. Любой файл находится за 1-2 секунды. Это реально помогает.
Мультискрин: это даже на линуксах есть уже давно. Несколько рабочих областей, с простым переключением. Очень удобно, даже работая с несколькими мониторами.
Как результат: у меня дома много компьютеров и систем, в том числе и на Windows 10, но для работы я все-же использую Мак, уже 5й за последние 10 лет. Всего хватает, все шустро, батарея вечная. Иногда бесит, но не сильно. Винда бесила (и бесит периодически) намного сильнее.
Мой стэк: Android, iOS+XCode, VSCode+Python, Node.js ну и разные БД (PostgreSQL, MongoDB, ...)
Пишите в комментариях ваши мысли по этому поводу, обсудим.