Преимущества использования Linux в качестве основного рабочего стола разработчика
Я хочу получить некоторые сведения о некоторых преимуществах того, почему разработчикам необходимо и нужно использовать Linux в качестве основного рабочего стола для разработки на повседневной основе, а не на Windows. Это особенно полезно, когда ваши среды Dev, QA и Production являются Linux.
Текущая аналогия, к которой я все время возвращаюсь, есть. Если я создам свой демо-автомобиль как Ford Escort, но мой проектный автомобиль - Ford Mustang, это не имеет никакого смысла.
В настоящее время я нахожусь в ИТ-отделе, который позволяет выполнять двойную загрузку с Windows и Linux, но некоторые из них запускают Linux, а большинство из них использует Windows.
Вот несколько преимуществ, с которыми я столкнулся, поскольку Linux используется в качестве основного рабочего стола.
- То же Точная операционная система как Dev, QA и Production
- Same Scripts (.sh) вместо сохранения (.bat и *.sh). Несколько смягчено с помощью cygwin, но все же немного отличается.
- Команда изучает простые команды, такие как: cd, ls, cat, top
- Команда изучает расширенные команды: pkill, pgrep, chmod, su, sudo, ssh, scp
- Полный доступ к установкам, как правило, для Linux, такой как RPM, DEB устанавливается так же, как и в целевых средах.
Список можно продолжать и продолжать, но я хочу получить некоторую обратную связь от всего, что я, возможно, пропустил, или даже любые недостатки (конечно, некоторые из них). Для меня имеет смысл перенести всю команду на использование Linux и использовать Virtual Box, используя виртуальную машину Windows XP для тестирования функциональных элементов, которые используют 95% большей части мира.
Это похоже, но немного другой поток идет здесь.
текст ссылки
Ответы
Ответ 1
Я только что переключился на использование Ubuntu из Windows XP, вот что я нашел:
Pro Linux
- У Linux меньше вероятность заражения вирусами. Я потерял время на вирусы, когда использовал XP.
- Как вы сказали, такая же среда, как Dev/QA/Prod, которая хороша. Это уже не изменение мышления, когда я подключаюсь к одной из этих машин.
- Linux более стабилен. Обычно я перезагружаю XP каждую неделю или две.
- Вы можете использовать инструменты unix (find, pkill, grep и т.д.). Cygwin - это обходной путь, но кажется немного медленнее, чем запуск unix изначально.
- Производительность кажется немного лучше в Linux. Это, наверное, самая большая победа для меня, у меня есть среда с интенсивным использованием памяти.
Недостатки Linux
- Open Office немного шокирует систему по сравнению с Word/Excel (который я использую в течение многих лет).
- Я пропускаю Notepad ++
- Мне нужно запустить VirtualBox для размещения моей локальной базы данных Sql Server Dev
- Мне нужно запустить VirtualBox при запуске Internet Explorer
- Больше боли для копирования/вставки текста между студией Sql Server Management и IE, если это необходимо, потому что они запускаются в VirtualBox
- Удаленный рабочий стол больше болит. Удаленный рабочий стол Microsoft позволил мне не выходить из работы, прежде чем работать дома и наоборот.
- У меня есть одно приложение, которое работает только с эмулятором Wine и не будет работать вообще для меня, когда удаленный рабочий стол на linux
Я согласен с плакатом, который сказал, что хорошо дать разработчикам выбор - они по достоинству оценят, что вместо того, чтобы одна или другая ОС врезалась в их горло. Дополнительным преимуществом является то, что вы сможете отличить хороших разработчиков от плохого:) Просто шутите.
Ответ 2
Я должен сказать, что принуждение к SSH-доступу к коробке разработки Linux для разработки PHP/MySQL явилось одним из моих самых больших и быстрых опытов роста как разработчик (который раньше работал только в Windows XP как среда для разработчиков) как преодоление некоторого пробела в знаниях между задачами разработки и sysadmin, что отлично подходит разработчикам для понимания большего, особенно если вы когда-нибудь окажетесь в ситуации с одним человеком.
Я был все о windows/eclipse и point и click, и теперь я все о VIM и быстрых клавишах. В настоящее время полноцветная кодировка/автоматическая вкладка очень хороша.
Где я работаю, мы используем серверы Rackspace Cloud для производства и разработки. Я отобразил производственный сервер (2G ram/CentOS 5.2 stack) для dev-сервера (поэтому среда ТОЧНО ИМЕЕТ НЕ ТОЛЬКО, но EXACT) и запускает его на самом маленьком экземпляре (256M ram), который составляет всего около 12 месяцев для моего dev коробка. У моего приятеля был mac, который он сделал локальным разработчиком для одной и той же кодовой базы, и он испытывал тонкие ошибки в коде из-за среды Mac, которые я не испытываю в своем облачном dev box (или производстве).
Так что я получаю доступ к этому типу сдвига (к облачному графическому интерфейсу linux dev без GUI), а также к быстрому восстановлению из-за сбоя оборудования, а производительность (правило сочетания клавиш над выбором точки/щелчка/перетаскивания) - это некоторые другие основные преимущества. Obvs вы также можете научиться сочетания клавиш в Windows, но, когда вы вынуждены работать только в терминальном окне, вы узнаете гораздо больше из них по необходимости. Я запускаю Windows 7 на ноутбуке (по сути, как тупой терминал для моего облачного devbox), но я SSH в свой devbox с помощью шпатлевки и работаю над кодом с VIM и управляю им с помощью git. Если мой ноутбук когда-либо терпит неудачу или украден, все, что мне действительно нужно, это ЛЮБОЙ компьютер с SSH-клиентом (и подключение к Интернету), и я могу быть продуктивным на временном сданном взаймы компьютере в течение 30 минут, пока мое предпочтительное оборудование не будет исправлено/заменено. (все мои пароли на ноутбуке находятся в зашифрованном db файле, который резервируется на Dropbox.com, а также на внешнем HD, случайный gmail для себя). И, конечно, настройте шпатлевку с хорошими шрифтами/размером шрифта и размером экрана в полноэкранном режиме.
В отличие от того, что окно окна с чистой установкой в среду разработки Dev tweaked точно так, как вы хотите, может занять пару полных рабочих дней плюс пару часов здесь и там в течение месяца и не реплицировать производственную среду в соответствии с вашими потребностями.
Хорошо, конец предвзятого разглагольствования - я думаю, моя точка зрения заключается в том, что я не знал, чего я отсутствовал, как парень из окна, и простые инструменты для Linux без использования GUI оказались для меня выше, чем мы работаем. Но также обратите внимание, что мой ноутбук - это Windows 7, поэтому, когда работа выполняется или нужно выполнить некоторые тесты IE, я нахожусь в "нормальной" ОС. Однако я сомневаюсь, что многие люди захотят сделать такое изменение, если не будет ощутимого выигрыша или немедленной необходимости.
Ответ 3
Во время моей первой работы мы работали над системами HP UX. Поэтому я действительно научился любить силу консоли и ее элегантность:
- Использовать find для работы с множеством файлов.
- меньше для действительно больших файлов журнала или данных без задержки
- для циклов с обработкой подстроки для переименования тысяч файлов за считанные секунды.
- и многие другие приятные махинации, чтобы сэкономить вам время и нервы...
Но не многие люди, похоже, согласились на мои более поздние занятия...
Однако. Я только однажды имел возможность использовать Fedora Linux для разработки несколько лет назад. Это была 64-битная система в первые годы их существования. Возможно, это была проблема. Я с нетерпением ждал снова использовать правильную оболочку, но был разочарован, так как Eclipse не работал стабильно и имел много ошибок. Это было жалкое, и нет. С тех пор у меня никогда не было возможности использовать Linux в качестве ОС разработки.
Когда я начинаю работать в новой работе в некоторые дни, я действительно думаю о том, чтобы дать ему другую попытку. Как вы думаете, неужели он все еще нестабилен? Я почти не могу себе представить.
Ответ 4
Вам не придется использовать Visual Studio.
Так как это не кажется вам проблемой, вы можете предоставить более подробную информацию о том, на каких языках вы разрабатываете? Если это Java, то вы будете тратить большую часть своего времени на Eclipse, Netbeans и т.д., Так что это действительно не будет иметь большого значения. Каков ваш бюджет для перехода или какие сбережения вы надеетесь получить?
Из-за ваших причин кажется, что вы уже довольно быстро подключились к UNIX.
Почему бы не дать разработчикам выбор?
Ответ 5
git работает быстрее.
...
Хорошо, не так много преимуществ...
Ответ 6
Ящики Linux легче контейнеризировать с такими решениями, как Docker, чтобы вы могли более легко обмениваться своей средой с другими разработчиками или QA.
Кроме того, если вам нужны несколько ящиков, говорящих друг с другом для вашей установки dev, то Linux является более практичным решением. Я работал на Windows-машине с решением .Net, которое должно было поговорить с службами в другой коробке. Я решил установить пару виртуальных машин, используя описанные здесь шаги (http://mytakeon.it/the-complete-steps-to-having-a-virtual-box-up-and-running-on-your-computer/). Виртуальные машины Linux были настолько легки, легки в управлении и быстрее загружались.