Distribuição Linux voltada para desenvolvedores [fechado]

49

Estou procurando o melhor sabor do Linux que agrade ao meu lado do desenvolvedor. Eu sou um amante de código aberto e uso vários idiomas diferentes.

Existe um Linux voltado para desenvolvedores?

Jaison Justus
fonte
11
Discussões abertas não são apropriadas para postar aqui.
Ignacio Vazquez-Abrams,
12
Você deve especificar um pouco o que quer dizer - os desenvolvedores têm visões muito fortes (e muitas vezes opostas) do que constitui uma distribuição amigável ao desenvolvedor.
L0b0
11
@ l0b0: Os desenvolvedores precisam de uma grande variedade de pacotes atualizados. Atualizar pacotes manualmente porque eles são muito antigos, não são suficientes o suficiente ou simplesmente não estão no repositório da distribuição, é uma perda de tempo. Os usuários finais geralmente não se importam se o pacote libxyz-dev atualizado estiver dentro do repositório.
Philip
dê uma olhada no FreeBSD
Rui F Ribeiro

Respostas:

44

Na prática, todas as distros usam praticamente a mesma cadeia de ferramentas de desenvolvimento, portanto não diferem significativamente como uma plataforma para o trabalho geral de desenvolvimento. Alguns, no entanto, têm vantagens específicas que podem ser relevantes para certos tipos de trabalho de desenvolvimento:

  • As distros comerciais (RHEL, SLES) têm o melhor suporte de fornecedores de código fechado de terceiros. Se você deseja trabalhar com (digamos) Oracle, pode ser melhor usar um deles, embora o Oracle possa funcionar com a maioria das distribuições se você instalar as bibliotecas corretas. O CentOS é compilado a partir de fontes RHEL e funcionará bem com a maioria, se não com todos os softwares comerciais criados para RHEL.

  • Se você quiser mexer, tente o Linux From Scratch. É um bom tutorial sobre como uma distribuição linux se mantém unida.

  • Se você quer algo para o qual praticamente tudo que é ou já foi de código aberto está disponível nos repositórios, uma distribuição baseada no Debian (Debian ou Ubuntu) pode ser uma vitória. Há uma razão pela qual a Canonical escolheu o .deb para usá-lo como sistema de gerenciamento de pacotes para o Ubuntu.

  • Se você deseja ajustar tudo no n-ésimo grau, o Gentoo permite que você reconstrua todo o sistema para sua arquitetura específica de processador.

  • Se você quer uma experiência 'tradicional do unix', pode experimentar o Slackware ou o FreeBSD (que não é uma distribuição Linux, mas pode ser de interesse do OP). Além disso, a família BSD é particularmente forte em redes, por isso pode oferecer vantagens sobre o Linux para desenvolvedores que trabalham neste campo.

Dessas, usei o CentOS, Debian, Fedora, Ubuntu, Slackware e FreeBSD em vários momentos no passado, além de alguns outros (Vector, SLS, Yggdrasil e versões variadas do Redhat a partir do 4.0). Como um ambiente de desenvolvimento 'unix', todos eles ofereceram as ferramentas da época e poderiam ter sido usados ​​para o trabalho de desenvolvimento com o conjunto de ferramentas ou baixando e construindo o que mais você precisasse.

O Unix já foi descrito como um IDE mascarado como um sistema operacional, ou palavras para esse efeito. Qualquer variante unix ou linux pode oferecer a experiência do desenvolvedor unix, se você desejar. Em um ponto, eu realmente não me importo muito com o meio ambiente. Eu realmente apenas usei o gerenciador de janelas para abrir janelas xterm e iniciar alguns aplicativos; todo o resto foi praticamente feito a partir da linha de comando. A maioria das variedades de unix ou linux pode fazer isso.

Se você gosta de C, vim ou emacs com ctags, make e gcc funcionam muito bem; você pode usar o gdb com ou sem um frontend. Essa cadeia de ferramentas também fornece um bom suporte para linguagens como perl ou python e vem com um rico ecossistema de suporte de ferramentas de terceiros.

Para um fluxo de trabalho mais GUI, ele se resume a uma escolha pessoal de gerenciador de janelas, ambiente de desktop e ferramentas de desenvolvimento. Se você gosta de Java, o Eclipse e o netbeans são construídos na maioria das principais distribuições. Existem vários IDEs convencionais com suporte para C / C ++, perl, python e outras linguagens de script. Isso pode ser feito para funcionar na maioria das distros do Linux, se não em todas. O Java é suportado apenas no BSD por meio de portas de terceiros, então você provavelmente estará melhor com o linux se estiver trabalhando com isso.

ConcernedOfTunbridgeWells
fonte
Claro que o FreeBSD não é um sistema Linux. Isso pode não importar para os propósitos do OP. Note que existem várias outras distribuições BSD (OpenBSD, NetBSD e provavelmente perdi algumas). Há também uma versão gratuita do Solaris, se você gosta desse tipo de coisa.
9788 Keith Thompson #
Não, não é, e acho que isso pode ou não importar pelas mesmas razões. Eu escolhi esse porque a maioria das outras distros do BSD é bem especializada, talvez com exceção do Dragonfly ou PC-BSD. O FreeBSD é o mais popular dos BSDs, eu acho.
ConcernedOfTunbridgeWells
3
Apenas os pontos 1 e 3 do IMHO são relevantes para os desenvolvedores. A experiência com Tuning ou Unix é interessante apenas para usuários avançados e administradores de sistemas. Eles levam a incompatibilidades (Unix) e instabilidades imprevisíveis (Tuning), ambas venenosas para desenvolvedores.
22711 Philip
11
Os BSDs e o Solaris estão com uma grande falta de suporte de hardware e, depois de terem tido uma vantagem nas redes, os BSDs também perderam esse objetivo.
vonbrand
12

Existe um Linux voltado para desenvolvedores?

Sim. Chama-se Linux.

O Fedora (ou qualquer derivado da Red Hat) é tão bom quanto qualquer Debian, Slackware, Gentoo ou qualquer outra coisa. Sério, você pode desenvolver com qualquer distribuição importante; é uma pergunta boba pedir um Linux "orientado ao desenvolvedor".

Também é bobagem dizer que qualquer uma dessas distribuições é melhor que as outras para os desenvolvedores. Isso não é sério.

Esta questão realmente implora por argumentos.

ata
fonte
15
É tolice dizer que é uma pergunta tola pedir um Linux "orientado para o desenvolvedor", a menos que você forneça bons argumentos sobre por que ele é tolo.
NN
4
Para ser justo, juaco está certo. Linux é bom para desenvolvedores, ponto final.
Sirex em
7
Você realmente precisa se qualificar "O Fedora é tão bom quanto qualquer Debian, Slackware ...". Certamente deve haver razões pelas quais existem diferentes distros, e isso significa que elas não podem ser igualmente boas em qualquer tarefa para pessoas diferentes.
tshepang
11
@Tshepang: Você está certo, eles não são igualmente bons "para qualquer tarefa", exceto para o desenvolvimento. Para outras tarefas, às vezes mostram diferenças, mas para o desenvolvimento, todas as principais distribuições são igualmente boas.
ata
6
Fazendo meu trabalho, preciso de um ambiente estável. Considerando isso, por exemplo. O Fedora e o Ubuntu estão longe de ser estáveis ​​e eu não os recomendo. Você pode dizer "O Linux é bom para desenvolvedores" para o usuário do Windows porque é um estado geral. Quando você está conversando com usuários do Linux, eles provavelmente estão interessados ​​em coisas mais específicas que melhorariam sua eficiência.
marines
5

Eu tentei algumas distribuições porque realmente gosto de fazê-lo.

Sou desenvolvedor e também me perguntei sobre um bom Linux para desenvolvedores. Na minha experiência, não existem distribuições Linux voltadas especificamente para desenvolvedores.

O motivo é que, como desenvolvedor, você não apenas poderá personalizar qualquer distribuição para atender às suas necessidades, mas também precisará definitivamente saber como fazer essa personalização.

Então, basicamente, se você não estiver familiarizado com o Linux:

1) Debian, porque muitos servidores Web de produção estão executando o Debian, então provavelmente é uma boa idéia conhecer como as máquinas Debian estão organizadas. O lado bom do Debian é que, como é definitivamente o Linux mais amplamente usado (incluindo derivados como o Ubuntu), o suporte, a comunidade e o número de pacotes pré-compilados disponíveis são extremamente extensos. O lado ruim do Debian é que ele é voltado para um ambiente de produção estável e, como tal, raramente oferece as últimas novidades que você pode querer experimentar como desenvolvedor.

2) O Arch-Linux (ArchBang, na verdade) é o meu favorito atual por 3 razões: - Ele não fornece muito em termos de instalação e configuração fáceis com um clique, mas possui um ótimo tutorial para ajudá-lo a configurar tudo como você Se você quiser, essa abordagem permite que você aprenda muito sobre como as coisas funcionam em segundo plano e significa que, durante o tempo em que você tiver configurado tudo corretamente, você estará se sentindo muito à vontade usando um sistema Linux / Unix. - É um lançamento contínuo, o que significa que você nunca precisará baixar a nova versão e reinstalar tudo, basta atualizar o sistema e o Voila! - Ele tenta implementar todas as últimas novidades, para que você esteja sempre atualizado com as novas melhorias do software e como um desenvolvedor realmente apreciável. -Ah, e tem uma ótima comunidade também.

De qualquer forma, basicamente depende de você experimentar algumas coisas e decidir o que funciona melhor para você, o que posso garantir é que, independentemente do Linux que você acabar vinculando, sempre há uma maneira de configurar / personalizar as coisas ao seu gosto, então o importante é aprender como fazer essa personalização e, em seguida, você escolhe algo que já está pré-configurado o mais próximo possível do que deseja terminar.

Alexis Finn
fonte
4

Há cada vez mais sabores diferentes nas distribuições Linux - por exemplo, distribuições como Qimo ou DoudouLinux, orientadas para crianças.

É claro que você pode alterá-las para atender às suas necessidades (estamos falando sobre Linux, certo:]), mas ainda assim, você perderá muito tempo.

Alguns argumentam que é uma ótima maneira de aprender coisas novas. No entanto, você terá que levar algum tempo para cavar a distribuição e ajustar as coisas de qualquer maneira, é inevitável em qualquer distribuição.

Mas o mais importante são os pacotes.

Alguns traz para você novos (por exemplo: Arch) e outros muito estáveis ​​(por exemplo: Debian).

A documentação também varia muito, quanto ao suporte de hardware (drivers, drivers, drivers!).

Considerando esses 3 pontos (pacotes, documentação, drivers) e suas próprias habilidades, você deve dedicar algum tempo para descobrir algumas distribuições principais.

Um bom começo pode estar aqui: http://distrowatch.com/

avetis.kazarian
fonte
Eu disse grandes distribuições ie. mainstream, para se referir ao fato de que não há grandes diferenças entre elas quando se trata de desenvolvimento. Não estou me referindo a nichos de distribuição.
ata
3

O Fedora é um dos primeiros a adotar novas tecnologias, permitindo que você experimente e desenvolva com elas meses antes de estarem disponíveis na maioria das outras distros. Ele suporta muitas linguagens de programação e bibliotecas prontas para uso e torna relativamente fácil adicionar ao seu sistema as que estiverem faltando. Ele tem uma filosofia pura de código aberto, optando por permitir que terceiros forneçam pacotes para recursos contrários a isso. Apenas não o chame de "Fedora Core" (ele perdeu o "Core" após a fusão do Core e Extras para o Fedora 7).

Ignacio Vazquez-Abrams
fonte
11
Quem o chamou de Fedora Core?
tshepang
11
Muita gente. Por anos.
Ignacio Vazquez-Abrams
11
@ IgnacioVazquez-Abrams que sobre o Gentoo e archlinux
Jaison Justus
Não posso falar sobre distros que não uso. Mas certamente não tente correlacionar "builds from source" com "good for program".
Ignacio Vazquez-Abrams
3
@ IgnacioVazquez-Abrams: Você também não deve correlacionar o uso de tecnologias mais recentes com as melhores para desenvolver . De qualquer forma, a questão não é específica o suficiente ... depende do que você está desenvolvendo. Aposto que a maior parte do desenvolvimento do mundo depende de uma tecnologia sem ponta. OTOH, Fedora é a distribuição que eu sugeriria se alguém quisesse fazer o desenvolvimento do GNOME , o mesmo que o SuSE para o Mono e o KDE (isso se baseia no fato de que o SuSE é o financiador inicial do projeto Mono e está entre as poucas principais a serem adotadas. KDE como área de trabalho padrão.
tshepang
1

Penso que, com base na minha própria experiência e nas respostas aqui, você está procurando mais um conjunto de aplicativos e ferramentas que tornarão o desenvolvimento mais fácil e prático.

O legal do Linux é que qualquer distribuição é muito fácil de personalizar. Eu recomendo que você encontre uma lista de softwares que você usa com mais frequência durante o desenvolvimento e faça um tarball grande que você pode trazer de um computador para outro (se você alternar muito os espaços de trabalho).

n0pe
fonte
0

Para o desenvolvimento Java / Eclipse, considere o Debian sobre o Ubuntu / Linux Mint (e possivelmente até 32 bits acima de 64 bits).

Antecedentes: Estou desenvolvendo Java / Eclipse RCP * e usando o Ubuntu e o Linux Mint, mas encontrei todos os tipos de bugs irritantes, relacionados a instabilidades no ambiente de área de trabalho (Cinnamon on Linux Mint) ou um procedimento um pouco complicado para instalar o Sun Java6 JDK (que é usado pelo nosso projeto ... O Ubuntu / Linux Mint é fornecido apenas com o OpenJDK em seus repositórios).

Recentemente, iniciei o Debian 6 Squeeze em uma máquina virtual e percebi como essas coisas estavam funcionando muito melhor. A instalação do Sun Java requer apenas a adição da palavra-chave "non-free" após a cadeia principal do repositório em /etc/apt/sources.list e a instalação via apt-get, e a área de trabalho (Gnome2) fornecida com ela também é muito mais estável do que as alternativas Gnome3 / Unity / Cinnamon no Ubuntu / LinuxMint.

[*] Eclipse RCP significa que você usa o Eclipse não apenas como uma GUI, mas também como uma biblioteca para criar sua própria GUI, mais ou menos.

Samuel Lampa
fonte
-2

O Ubuntu é ótimo, sério.

Eles têm todos os pacotes, atualizados e fáceis de instalar. Use a configuração padrão (= Gnome) e você passará a maior parte do tempo programando e não configurando.

A instalação do conjunto de compiladores gcc, make, autoconf etc. leva 5 minutos com uma conexão decente à Internet. Mais trinta minutos e você tem Ruby, Python, Sun JVM e Eclipse prontos para execução.

Edit: O Ubuntu oferece pacotes extras com símbolos de depuração para muitas bibliotecas. É bom ter para desenvolvedores de C / C ++.

Philip
fonte
11
Seus comentários se aplicam a quase todas as outras distribuições Linux!
fpmurphy
11
Interessante ... go2linux.org/debian-ubuntu-centos-fedora-comparison e oswatershed.org (coluna da direita) Confie em mim, o Ubuntu é amigo do desenvolvedor.
22711 Philip
-3

A resposta é que não existe um bom Linux para desenvolvimento, a menos que você crie um e nenhum outro Linux realmente forneça tanto nessa área quanto o gentoo. Você compila tudo da fonte (algo com o qual você deve se dedicar mais para ser um desenvolvedor. O processo de instalação ensina mais sobre o sistema do que qualquer outra distribuição, respondendo a muitas perguntas que você terá ao criar aplicativos.

A melhor parte é que você pode escolher o tipo de programa que deseja desenvolver. Se você deseja java, instale o javac ou gcj ou ambos. O apoio da comunidade é como nenhum outro, por isso, se você tiver perguntas, elas serão respondidas ou o levarão para onde você precisa encontrar a resposta.

Todo IDE que você pode pensar está disponível para "emergir" / instalar no gentoo. Embora não seja incrivelmente fácil de instalar ou "simples" de entender, nether está programando e se você não pode instalar uma cópia do gentoo, eu não gostaria de executar seus programas na minha máquina. A maioria das dificuldades que as pessoas têm para instalá-lo é derivada da falta de conhecimento fundamental do Linux. Eu prometo que você vai gostar depois de ter tudo configurado do jeito que você gosta.

Depois de instalá-lo, você pode fazer um tar novamente e colocá-lo em qualquer computador para o qual tenha tempo de reconfigurar um kernel ou restaurá-lo quando as coisas ficarem fora de controle.

Joe
fonte