Дистрибутив Linux предназначен для разработчиков [закрыто]


49

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

Есть ли такая вещь, как Linux, ориентированная на разработчиков?


1
Открытые обсуждения не подходят для публикации здесь.
Игнасио Васкес-Абрамс

12
Вы должны немного уточнить, что вы имеете в виду - разработчики имеют очень сильные (и часто противоположные) взгляды на то, что составляет дружественный для разработчиков дистрибутив.
10

1
@ l0b0: разработчикам нужен большой выбор современных пакетов. Обновление пакетов вручную, потому что они слишком старые, недостаточно ванильные или просто отсутствуют в репозитории дистрибутива - пустая трата времени. Конечным пользователям обычно все равно, находится ли в репозитории обновленный пакет libxyz-dev.
Филипп

взглянуть на FreeBSD
Rui F Ribeiro

Ответы:


44

На практике все дистрибутивы используют одну и ту же цепочку инструментов разработки, поэтому они не сильно отличаются в качестве платформы для общей разработки. У некоторых, однако, есть определенные преимущества, которые могут иметь отношение к определенным типам работ по разработке:

  • Коммерческие дистрибутивы (RHEL, SLES) имеют лучшую поддержку от сторонних поставщиков закрытых источников. Если вы хотите работать с (скажем) Oracle, вам лучше использовать один из них, хотя Oracle можно настроить для работы с большинством дистрибутивов, если вы установите правильные библиотеки. CentOS скомпилирован из исходных текстов RHEL и будет прекрасно работать с большинством, если не со всем коммерческим программным обеспечением, созданным для RHEL.

  • Если вы хотите повозиться, вы можете попробовать Linux From Scratch. Это довольно хороший урок о том, как дистрибутив Linux висит вместе.

  • Если вы хотите что-то, для чего практически все, что есть или когда-либо было с открытым исходным кодом, доступно из репозиториев, тогда дистрибутив на основе Debian (либо Debian, либо Ubuntu) может быть выигрышным. Canonical выбрала .deb для использования в качестве системы управления пакетами для Ubuntu.

  • Если вы хотите настроить все на n-й уровень, то Gentoo позволит вам перестроить всю вашу систему под конкретную архитектуру вашего процессора.

  • Если вам нужен опыт «традиционного Unix», вы можете попробовать Slackware или FreeBSD (который не является дистрибутивом Linux, но может представлять интерес для OP). Кроме того, семейство BSD особенно хорошо работает в сети, поэтому может предложить преимущества перед Linux разработчикам, работающим в этой области.

Из них в прошлом я неоднократно использовал CentOS, Debian, Fedora, Ubuntu, Slackware и FreeBSD, а также несколько других (Vector, SLS, Yggdrasil и различные версии Redhat начиная с версии 4.0). В качестве среды разработки «unix» все они предлагали инструменты той эпохи и могли быть использованы для разработки с помощью комплектного инструментария или для загрузки и сборки всего, что вам нужно.

Unix был когда-то описан как IDE, маскирующийся под операционную систему, или слова на этот счет. Любой вариант Unix или Linux может дать вам опыт разработчика Unix, если вы этого хотите. В какой-то момент я не особо заботился об окружающей среде. Я действительно использовал оконный менеджер, чтобы открыть окна xterm и запустить несколько приложений; все остальное в значительной степени было сделано из командной строки. Большинство разновидностей Unix или Linux могут это сделать.

Если вы в C, то vim или emacs с ctags, make и gcc работают довольно хорошо; Вы можете использовать GDB с или без интерфейса. Эта цепочка инструментов также обеспечивает хорошую поддержку таких языков, как perl или python, и поставляется с богатой экосистемой поддержки сторонних инструментов.

Для более ориентированного на GUI рабочего процесса все сводится к личному выбору оконного менеджера, среды рабочего стола и средств разработки. Если вы в Java, то Eclipse и NetBeans основаны на большинстве основных дистрибутивов. Существуют различные традиционные IDE с поддержкой C / C ++, Perl, Python и других языков сценариев. Они могут работать на большинстве, если не на всех дистрибутивах Linux. Java поддерживается только на BSD через сторонние порты, поэтому вам лучше использовать Linux, если вы работаете с этим.


Конечно, FreeBSD не является системой Linux. Это может не иметь значения для целей ОП. Обратите внимание, что есть несколько других дистрибутивов BSD (OpenBSD, NetBSD, и я, вероятно, пропустил некоторые). Есть также бесплатная версия Solaris, если вам нравятся подобные вещи.
Кит Томпсон

Нет, это не так, и я предполагаю, что это может иметь или не иметь значение по тем же причинам. Я выбрал этот, потому что большинство других дистрибутивов BSD довольно специализированы, возможно, за исключением Dragonfly или PC-BSD. Я полагаю, что FreeBSD является наиболее распространенным из BSD.
ConcernedOfTunbridgeWells

3
ИМХО только пункты маркированного списка один и три имеют отношение к разработчикам. Опыт настройки или Unix интересен только для опытных пользователей и системных администраторов. Они приводят к несовместимости (Unix) и непредсказуемой нестабильности (Tuning), оба отравляют разработчиков.
Филипп

1
BSD и Solaris крайне не хватает аппаратной поддержки, и после того, как у них появилось какое-то преимущество в сетевом взаимодействии, BSD также проиграли на этом.
vonbrand

12

Есть ли такая вещь, как Linux, ориентированная на разработчиков?

Да. Это называется Linux.

Fedora (или любая производная от Red Hat) так же хороша, как любой Debian, Slackware, Gentoo или любой другой. Серьезно, вы можете разрабатывать с любым крупным дистрибутивом, глупо задавать вопрос о «ориентированной на разработчика» Linux.

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

Этот вопрос действительно требует аргументов.


15
Это глупо говорить , что это глупый вопрос , чтобы спросить для «разработчика ориентированного» Linux , если вы не предоставите хорошие аргументы для почему это глупо.
NN

4
Справедливости ради, Джуако прав. Линукс хорош для разработчиков, и точка.
Sirex

7
Вам действительно нужно квалифицировать "Fedora так же хороша, как любой Debian, Slackware ...". Конечно, должны быть причины, по которым существуют разные дистрибутивы, и это означает, что они не могут быть одинаково хорошими в любой заданной задаче для разных людей.
Чепанг

1
@ Чепанг: Вы правы, они не одинаково хороши «для любой задачи», кроме разработки. Для других задач они иногда показывают различия, но для разработки все основные дистрибутивы одинаково хороши.
ата

6
Для работы мне нужна стабильная обстановка. Учитывая это, например. Fedora и Ubuntu далеко не стабильны, и я их не рекомендую. Вы можете сказать «Linux хорош для разработчиков» пользователю Windows, потому что это общее состояние. Когда вы разговариваете с пользователями Linux, они, вероятно, интересуются более конкретными вещами, которые повысят их эффективность.
морпехи

5

Я попробовал довольно много дистрибутивов, потому что мне действительно нравится это делать.

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

Причина в том, что как разработчик вы не только сможете настроить любой дистрибутив в соответствии с вашими потребностями, но вам определенно нужно будет знать, как выполнить такую ​​настройку.

В общем, если вы не знакомы с Linux:

1) Debian, потому что многие производственные веб-серверы работают под управлением Debian, поэтому, возможно, стоит узнать, как организованы машины Debian. Хорошая вещь о Debian состоит в том, что, поскольку он определенно является наиболее широко используемым Linux (включая его производные, такие как Ubuntu), поддержка, сообщество и количество доступных предварительно скомпилированных пакетов чрезвычайно обширны. Плохая вещь в Debian заключается в том, что он нацелен на то, чтобы быть стабильной производственной средой, и поэтому редко предлагает вам самые последние новинки, которые вы, возможно, захотите попробовать в качестве разработчика.

2) Arch-Linux (на самом деле ArchBang) - мой любимый в настоящее время по трем причинам: - Он не дает много простых способов установки и настройки одним щелчком, но имеет отличный учебник, который поможет вам настроить все как вы Если хотите, этот подход позволяет вам многое узнать о том, как все работает в фоновом режиме, и означает, что к тому времени, когда вы все настроите правильно, вы будете чувствовать себя чертовски комфортно, используя систему Linux / Unix. - Это релиз, который означает, что вам никогда не придется загружать новую версию и все переустанавливать, вы просто обновляете систему и вуаля! - Он пытается реализовать все самые последние новинки, так что вы всегда будете в курсе новых улучшений программного обеспечения, и как разработчик, это действительно заметно. -О, и у него тоже отличное сообщество.

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


4

В дистрибутивах Linux появляется все больше и больше разных вариантов - например, есть такие дистрибутивы, как Qimo или DoudouLinux, которые ориентированы на детей.

Конечно, вы можете изменить их в соответствии со своими потребностями (мы говорим о Linux, верно:]), но, тем не менее, вы потратите огромное количество времени.

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

Но самое главное это пакеты.

Некоторые приносят вам свежие (например, Arch), а другие - очень стабильные (например, Debian).

Документация также сильно различается, что касается аппаратной поддержки (драйверы, драйверы, драйверы!).

Учитывая эти 3 пункта (пакеты, документация, драйверы) и ваши собственные навыки, вам нужно некоторое время, чтобы открыть для себя некоторые основные дистрибутивы.

Хорошее начало может быть здесь: http://distrowatch.com/


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

3

Fedora является одним из первых пользователей новых технологий, позволяющих вам экспериментировать и разрабатывать их за месяцы до того, как они появятся в большинстве других дистрибутивов. Он поддерживает множество языков программирования и библиотек "из коробки" и позволяет относительно легко добавлять в вашу систему любые файлы, которые могут отсутствовать. Он имеет чистую философию с открытым исходным кодом, позволяя третьим сторонам предоставлять пакеты для функций, которые противоречат этому. Только не называйте это «Fedora Core» (он потерял «Core» после слияния Core и Extras для Fedora 7).


1
Кто назвал это Fedora Core?
Чепанг

1
Много людей. Годами.
Игнасио Васкес-Абрамс

1
@ IgnacioVazquez-Abrams как насчет gentoo и archlinux
Джейсон Юстус

Я не могу рассказать вам о дистрибутивах, которые я не использую. Но, конечно, не пытайтесь соотносить «сборки из исходного кода» с «хорошими для программирования».
Игнасио Васкес-Абрамс

3
@ IgnacioVazquez-Abrams: Вы также не должны соотносить использование новых технологий с лучшими для разработки . В любом случае, вопрос недостаточно конкретен ... это зависит от того, что вы разрабатываете. Могу поспорить, что большая часть мирового развития опирается на новейшие технологии. OTOH, Fedora - это дистрибутив, который я бы предложил, если бы кто-то хотел заняться разработкой GNOME , так же, как SuSE для разработки Mono и KDE (это основано на том факте, что SuSE является первоначальным спонсором проекта Mono и входит в число немногих основных дистрибутивов, которые можно использовать KDE в качестве рабочего стола по умолчанию
tshepang

1

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

Крутая вещь в Linux заключается в том, что любой дистрибутив очень легко настроить. Я бы порекомендовал вам найти список программного обеспечения, которое вы чаще всего используете при разработке, и создать большой архив, который вы можете переносить с компьютера на компьютер (если вы часто переключаете рабочие пространства).


0

Для разработки Java / Eclipse рассмотрим Debian поверх Ubuntu / Linux Mint (и, возможно, даже 32-битные над 64-битными).

Предыстория: Я занимался разработкой Java / Eclipse RCP * и использовал Ubuntu и более позднюю версию Linux Mint, но столкнулся со всеми видами досадных ошибок, связанных с нестабильностью в среде рабочего стола (Cinnamon в Linux Mint), или несколько сложная процедура установки Sun Java6 JDK (которая используется нашим проектом ... Ubuntu / Linux Mint поставляется только с OpenJDK в их репозиториях).

Недавно я запустил Debian 6 Squeeze на виртуальной машине и понял, как эти вещи работают намного лучше. Установка Sun Java требует только добавления ключевого слова «non-free» после основной строки репозитория в /etc/apt/sources.list, а затем установки через apt-get, и рабочий стол (Gnome2), поставляемый с ним, также намного более стабилен чем альтернативы Gnome3 / Unity / Cinnamon в Ubuntu / LinuxMint.

[*] Eclipse RCP означает, что вы используете Eclipse не только как графический интерфейс, но и как библиотеку для создания своего собственного графического интерфейса.


-2

Ubuntu отлично, серьезно.

У них есть все пакеты, современные и простые в установке. Используйте конфигурацию по умолчанию (= Gnome), и вы будете тратить большую часть своего времени на программирование, а не на настройку.

Установка пакета компилятора gcc, make, autoconf и т. Д. Занимает 5 минут с приличным подключением к Интернету. Еще тридцать минут, и вы готовы к запуску Ruby, Python, Sun JVM и Eclipse.

Изменить: Ubuntu поставляет дополнительные пакеты с символами отладки для многих библиотек. Приятно иметь для разработчиков C / C ++.


1
Ваши комментарии относятся практически ко всем другим дистрибутивам Linux!
fpmurphy

1
Интересно ... go2linux.org/debian-ubuntu-centos-fedora-comparison and oswatershed.org (правая колонка) Поверьте мне, Ubuntu - друг разработчика.
Филипп

-3

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

Самое приятное, что вы можете выбрать, какие программы вы хотите разработать. Если вы хотите java, установите javac или gcj или оба. Поддержка сообщества не отличается от других, поэтому, если у вас есть вопросы, на них будут даны ответы или они помогут вам найти ответ.

Каждая IDE, о которой вы можете подумать, доступна для "появления" / установки в gentoo. Хотя это не невероятно легко установить или «просто» понять, ни программирование, и если вы не можете установить копию gentoo, я бы не хотел запускать ваши программы на моей машине. Большинство трудностей, с которыми люди сталкиваются при его установке, связаны с отсутствием фундаментальных знаний о Linux. Я обещаю, вам понравится после того, как вы все настроите так, как вам нравится.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.