Преимущества использования 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 были настолько легки, легки в управлении и быстрее загружались.