web-dev-qa-db-fra.com

Distribution Linux orientée vers les développeurs

Je recherche la meilleure saveur de Linux qui plairait au côté développeur de moi. Je suis un amoureux de l'open source et j'utilise plusieurs langues différentes.

Existe-t-il un Linux orienté vers les développeurs?

49
Jaison Justus

En pratique, les distributions utilisent toutes à peu près la même chaîne d'outils de développement, de sorte qu'elles ne diffèrent pas vraiment de manière significative en tant que plate-forme pour le travail de développement général. Certains ont cependant des avantages spécifiques qui peuvent être pertinents pour certains types de travail de développement:

  • Les distributions commerciales (RHEL, SLES) bénéficient de la meilleure assistance des fournisseurs tiers de sources fermées. Si vous voulez travailler avec (disons) Oracle, vous pourriez être mieux avec l'un d'entre eux, bien qu'Oracle puisse fonctionner avec la plupart des distributions si vous installez les bonnes bibliothèques. CentOS est compilé à partir de sources RHEL et fonctionnera parfaitement avec la plupart, sinon tous les logiciels commerciaux conçus pour RHEL.

  • Si vous voulez bricoler, vous pouvez essayer Linux From Scratch. C'est un très bon tutoriel sur la façon dont une distribution Linux se tient.

  • Si vous voulez quelque chose pour lequel à peu près tout ce qui est ou a été open-source est disponible dans les référentiels, alors une distribution basée sur Debian (Debian ou Ubuntu) peut être une victoire. Il y a une raison pour laquelle Canonical a choisi .deb pour l'utiliser comme système de gestion de paquets pour Ubuntu.

  • Si vous souhaitez tout régler au nième degré, Gentoo vous permet de reconstruire votre système entier pour votre architecture de processeur spécifique.

  • Si vous voulez une expérience "Unix traditionnelle", vous pouvez essayer Slackware ou FreeBSD (qui n'est pas une distribution Linux mais qui pourrait intéresser l'OP). De plus, la famille BSD est particulièrement forte en réseau, elle peut donc offrir des avantages par rapport à Linux aux développeurs travaillant dans ce domaine.

Parmi ceux-ci, j'ai utilisé CentOS, Debian, Fedora, Ubuntu, Slackware et FreeBSD à plusieurs reprises dans le passé, ainsi que quelques autres (Vector, SLS, Yggdrasil et diverses versions de Redhat à partir d'environ 4.0). En tant qu'environnement de développement "unix", ils offraient tous les outils de l'époque et auraient pu être utilisés pour le travail de développement avec les outils fournis ou en téléchargeant et en construisant tout ce dont vous aviez besoin.

Unix était autrefois décrit comme un IDE se faisant passer pour un système d'exploitation, ou des mots à cet effet. Toute variante unix ou linux peut vous offrir une expérience de développeur unix si vous le souhaitez. À un moment donné, je ne l'ai pas fait Je ne me soucie pas vraiment de l'environnement. J'ai simplement utilisé le gestionnaire de fenêtres pour ouvrir des fenêtres xterm et démarrer quelques applications; tout le reste a été fait à peu près à partir de la ligne de commande. La plupart des variétés d'Unix ou de Linux peuvent le faire.

Si vous êtes en C, alors vim ou emacs avec ctags, make et gcc fonctionnent plutôt bien; vous pouvez utiliser gdb avec ou sans interface. Cette chaîne d'outils fournit également un bon support pour des langages tels que Perl ou python et est livré avec un riche écosystème de support à partir d'outils tiers.

Pour un flux de travail plus axé sur l'interface graphique, cela se résume vraiment à un choix personnel de gestionnaire de fenêtres, d'environnement de bureau et d'outils de développement. Si vous êtes dans Java alors Eclipse et netbeans ont construit sur la plupart des distributions principales. Divers IDE conventionnels existent avec le support de C/C++, Perl, python et d'autres langages de script. Ceux-ci peuvent être faits pour fonctionner sur la plupart sinon toutes les distributions Linux. Java est uniquement pris en charge sur BSD via des ports tiers, donc vous êtes probablement mieux avec linux si vous êtes travailler avec ça.

Existe-t-il un Linux orienté vers les développeurs?

Oui. Cela s'appelle Linux.

Fedora (ou tout dérivé de Red Hat) est aussi bon que n'importe quel Debian, Slackware, Gentoo ou autre. Sérieusement, vous pouvez développer avec n'importe quelle distribution majeure, c'est une question idiote de demander un Linux "orienté développeur".

Il est également stupide de dire que l'une de ces distributions est meilleure que les autres pour les développeurs. Ce n'est tout simplement pas sérieux.

Cette question demande vraiment des arguments.

12
ata

J'ai essayé pas mal de distributions car j'aime vraiment le faire.

Je suis développeur et je me suis également interrogé sur un bon Linux pour les développeurs, et d'après mon expérience, il n'y a pas de distributions Linux spécialement conçues pour les développeurs.

La raison en est qu'en tant que développeur, non seulement vous pourrez personnaliser n'importe quelle distribution en fonction de vos besoins, mais vous aurez certainement besoin de savoir comment effectuer une telle personnalisation.

Donc, fondamentalement, si vous n'êtes pas familier avec Linux:

1) Debian, car de nombreux serveurs Web de production exécutent Debian, c'est donc probablement une bonne idée de savoir comment les machines Debian sont organisées. La bonne chose à propos de Debian est que comme c'est définitivement le Linux le plus largement utilisé (y compris ses dérivés comme Ubuntu), le support, la communauté et le nombre de paquets précompilés disponibles sont extrêmement étendus. La mauvaise chose à propos de Debian est qu'il est conçu pour être un environnement de production stable et, en tant que tel, vous offre rarement les derniers trucs de pointe que vous voudrez peut-être essayer en tant que développeur.

2) Arch-Linux (ArchBang en fait) est mon préféré actuel pour 3 raisons: - Il ne fournit pas beaucoup d'installation et de configuration faciles en un clic, mais a un excellent tutoriel pour vous aider à tout configurer comme vous voulez, cette approche vous permet d'en apprendre beaucoup sur la façon dont les choses fonctionnent en arrière-plan et signifie que lorsque vous aurez tout configuré correctement, vous vous sentirez très à l'aise avec un système Linux/Unix. - C'est une version progressive, ce qui signifie que vous n'aurez jamais à télécharger la nouvelle version et à tout réinstaller, il vous suffit de mettre à jour le système et Voila!. - Il essaie d'implémenter tous les derniers trucs Edge qui saignent afin que vous soyez toujours au courant des nouvelles améliorations du logiciel, et en tant que développeur, c'est vraiment appréciable. -Oh et il a aussi une grande communauté.

Mais de toute façon, c'est à vous d'essayer quelques trucs et de décider ce qui fonctionne le mieux pour vous, ce que je peux garantir, c'est que peu importe le Linux que vous finissez par lier, il y a toujours un moyen de configurer/personnaliser des trucs à votre goût, donc le gros problème est d'apprendre à faire cette personnalisation, puis vous choisissez quelque chose qui est déjà préconfiguré aussi près que possible de ce que vous voulez finir.

5
Alexis Finn

Il existe de plus en plus de saveurs différentes dans les distributions Linux - par exemple, il existe des distributions comme Qimo ou DoudouLinux qui sont destinées aux enfants.

Bien sûr, vous pouvez les modifier pour répondre à vos besoins (nous parlons de Linux, à droite:]), mais vous perdrez quand même beaucoup de temps.

Certains diront que c'est un excellent moyen d'apprendre de nouvelles choses. Cependant, vous devrez prendre un certain temps pour creuser dans la distribution et régler les choses de toute façon, c'est inévitable avec n'importe quelle distribution.

Mais le plus important, ce sont les packages.

Certains vous en apportent de nouveaux (par exemple: Arch) et d'autres très stables (par exemple: Debian).

La documentation varie également beaucoup, comme pour le support matériel (pilotes, pilotes, pilotes!).

Compte tenu de ces 3 points (packages, documentation, pilotes) et de vos propres compétences, vous devriez prendre un peu de temps pour découvrir quelques distributions courantes.

Un bon début pourrait être ici: http://distrowatch.com/

4
avetis.kazarian

Fedora est un des premiers à adopter les nouvelles technologies, vous permettant de les expérimenter et de les développer des mois avant qu'elles ne soient disponibles dans la plupart des autres distributions. Il prend en charge de nombreux langages de programmation et bibliothèques prêts à l'emploi et facilite l'ajout à votre système de tous les éléments manquants. Il a une philosophie open source pure, choisissant d'autoriser des tiers à fournir des packages pour des fonctionnalités contraires à cela. Il suffit de ne pas l'appeler "Fedora Core" (il a perdu le "Core" après la fusion de Core et Extras pour Fedora 7).

Je pense, sur la base de ma propre expérience et des réponses ici, que vous recherchez davantage une suite d'applications et d'outils qui rendront le développement plus facile et plus pratique.

La chose intéressante à propos de Linux est que toute distribution est très facile à personnaliser. Je vous recommande de trouver une liste des logiciels que vous utilisez le plus souvent lors du développement et de créer une grande archive tar que vous pouvez apporter d'un ordinateur à l'autre (si vous changez beaucoup d'espaces de travail).

1
n0pe

Pour le développement Java/Eclipse, pensez à Debian sur Ubuntu/Linux Mint (et peut-être même 32 bits sur 64 bits).

Contexte: J'ai fait du développement Java/Eclipse RCP * et j'ai utilisé Ubuntu et plus tard Linux Mint, mais j'ai rencontré toutes sortes de bogues ennuyeux, liés aux instabilités de l'environnement de bureau) (Cinnamon on Linux Mint), ou une procédure quelque peu compliquée pour installer Sun Java6 JDK (qui est utilisé par notre projet ... Ubuntu/Linux Mint n'est livré qu'avec OpenJDK dans leurs dépôts).

J'ai récemment lancé Debian 6 Squeeze sur une machine virtuelle et j'ai réalisé que ces choses fonctionnaient beaucoup mieux. L'installation de Sun Java nécessite uniquement l'ajout du mot clé "non-free" après la chaîne de référentiel principal dans /etc/apt/sources.list, puis l'installation via apt-get et le (Gnome2) le bureau livré avec lui est également beaucoup plus stable que les alternatives Gnome3/Unity/Cinnamon dans Ubuntu/LinuxMint.

[*] Eclipse RCP signifie que vous utilisez Eclipse non seulement comme une interface graphique, mais également comme une bibliothèque pour créer votre propre interface graphique, en quelque sorte.

0
Samuel Lampa