Na prática, todas as distribuições usam a mesma cadeia de ferramentas de desenvolvimento, portanto, elas 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 distribuições comerciais (RHEL, SLES) têm o melhor suporte de fornecedores de código fechado de terceiros. Se você quiser trabalhar com (digamos) o Oracle, você pode ficar melhor com um desses, embora o Oracle possa trabalhar com a maioria das distros se você instalar as bibliotecas certas. O CentOS é compilado a partir de fontes RHEL e funcionará bem com a maioria, se não com todos os softwares comerciais criados para o RHEL.
-
Se você quiser mexer, pode experimentar o Linux From Scratch. É um tutorial muito bom sobre como uma distribuição linux fica junto.
-
Se você quer algo para o qual praticamente tudo o que é ou sempre foi open-source está disponível nos repositórios, então uma distro baseada no Debian (Debian ou Ubuntu) pode ser uma vitória. Há uma razão pela qual a Canonical escolheu o .deb para usar como o sistema de gerenciamento de pacotes para o Ubuntu.
-
Se você quiser ajustar tudo ao n-ésimo grau, o Gentoo permite que você reconstrua todo o seu sistema para sua arquitetura de processador específica.
-
Se você quer uma experiência 'unix tradicional', então você pode experimentar o Slackware ou o FreeBSD (que não é uma distro Linux, mas pode ser interessante para o OP). Além disso, a família BSD é particularmente strong em redes, portanto, pode oferecer vantagens sobre o Linux para desenvolvedores que trabalham neste campo.
Destes, eu usei 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 de 4.0 em diante). Como um ambiente de desenvolvimento 'unix', todos eles ofereciam as ferramentas da época e poderiam ter sido usados para o trabalho de desenvolvimento com o conjunto de ferramentas ou fazendo o download e construindo o que você precisava.
O Unix já foi descrito como um IDE disfarçado de sistema operacional ou palavras para esse efeito. Qualquer variante unix ou linux pode dar-lhe a experiência do desenvolvedor unix se você quiser isso. Em um ponto eu realmente não me importo muito com o meio ambiente. Eu realmente só usei o gerenciador de janelas para abrir janelas do xterm e iniciar alguns aplicativos; tudo o mais foi feito na 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 centrado na GUI, isso se resume a uma escolha pessoal de gerenciador de janelas, ambiente de área de trabalho 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, se não em todas as distribuições Linux. Java é suportado apenas no BSD através de portas de terceiros, então você provavelmente estará melhor com o Linux se estiver trabalhando com isso.