Une distribution Linux destinée aux développeurs [fermée]

49

Je recherche la meilleure version de Linux qui plairait à mon côté développeur. Je suis un amoureux de l'open source et utilise plusieurs langues.

Existe-t-il un système Linux destiné aux développeurs?

Jaison Justus
la source
1
Les discussions ouvertes ne sont pas appropriées pour poster ici.
Ignacio Vazquez-Abrams
12
Vous devez préciser un peu ce que vous voulez dire - Les développeurs ont des points de vue très forts (et souvent opposés) sur ce qui constitue une distribution conviviale pour les développeurs.
l0b0
1
@ l0b0: Les développeurs ont besoin d'un grand choix de packages mis à jour. Mettre à jour les paquets manuellement parce qu'ils sont trop vieux, pas assez vanillés ou tout simplement pas dans le dépôt de la distribution est une perte de temps. Les utilisateurs finaux ne se soucient généralement pas de savoir si le paquet libxyz-dev mis à jour se trouve dans le référentiel.
Philip
consultez FreeBSD
Rui F Ribeiro

Réponses:

44

En pratique, les distributions utilisent toutes à peu près la même chaîne d'outils de développement. Elles ne diffèrent donc pas beaucoup en tant que plate-forme de travail de développement général. Certains présentent toutefois des avantages spécifiques qui peuvent être pertinents pour certains types de travaux de développement:

  • Les distributeurs commerciaux (RHEL, SLES) bénéficient de la meilleure assistance de fournisseurs tiers fermés. Si vous voulez travailler avec (disons) Oracle, il serait peut-être préférable d’utiliser l’un d’eux, bien qu’on puisse faire en sorte qu’Oracle fonctionne 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 des logiciels commerciaux construits pour RHEL.

  • Si vous voulez bricoler, vous pouvez essayer Linux From Scratch. C'est un bon tutoriel sur la manière dont une distribution Linux se bloque.

  • Si vous voulez quelque chose pour lequel presque tout ce qui est ou a été open-source est disponible dans les dépôts, une distribution basée sur Debian (Debian ou Ubuntu) peut être gagnante. Il y a une raison pour laquelle Canonical a choisi .deb comme système de gestion de paquets pour Ubuntu.

  • Si vous souhaitez tout ajuster au nième degré, Gentoo vous permet de reconstruire tout votre système 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). En outre, la famille BSD est particulièrement performante dans la mise en réseau et peut donc offrir des avantages sur 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 des versions assorties de Redhat à partir de la version 4.0 environ). En tant qu’environnement de développement «unix», ils offraient tous les outils de l’époque et auraient pu être utilisés pour des travaux 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 un mot à cet effet. Toute variante unix ou linux peut vous donner l'expérience de développeur unix si vous le souhaitez. À un moment donné, je me souciais peu de l'environnement. J'ai vraiment utilisé le gestionnaire de fenêtres pour ouvrir des fenêtres xterm et lancer quelques applications; tout le reste a été fait depuis la ligne de commande. La plupart des variétés d'Unix ou de Linux peuvent le faire.

Si vous aimez 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 s’ajoute à un écosystème riche en support provenant d’outils tiers.

Pour un flux de travail plus centré sur l'interface graphique, il s'agit vraiment d'un choix personnel de gestionnaire de fenêtres, d'environnement de bureau et d'outils de développement. Si vous aimez Java, Eclipse et Netbeans s'appuient sur la plupart des principales distributions. Il existe divers IDE classiques prenant en charge C / C ++, Perl, Python et d’autres langages de script. Celles-ci peuvent être conçues pour fonctionner sur la plupart, voire toutes les distributions Linux. Java n'est pris en charge que par BSD via des ports tiers. Vous êtes donc probablement mieux avec linux si vous travaillez avec cela.

Préoccupé parTonbridgeWells
la source
Bien entendu, FreeBSD n’est pas un système Linux. Cela n’a peut-être pas d'importance pour les objectifs du PO. Notez qu'il existe plusieurs autres distributions BSD (OpenBSD, NetBSD et j'en ai probablement oublié certaines). Il existe également une version gratuite de Solaris si vous aimez ce genre de chose.
Keith Thompson
Non, ce n'est pas le cas, et j'imagine que cela pourrait avoir une importance quelconque pour les mêmes raisons. J'ai choisi celle-ci parce que la plupart des autres distributions BSD sont assez spécialisées, à l'exception peut-être de Dragonfly ou de PC-BSD. FreeBSD est à peu près le plus répandu des BSD, je suppose.
ConcernedOfTunbridgeWells
3
IMHO seuls les points 1 et 3 sont pertinents pour les développeurs. L’optimisation ou l’expérience Unix ne sont intéressantes que pour les utilisateurs expérimentés et les administrateurs système. Ils entraînent des incompatibilités (Unix) et des instabilités imprévisibles (Tuning), deux poisons pour les développeurs.
Philip
1
Les BSD et Solaris manquent cruellement de prise en charge matérielle. Après avoir eu un avantage certain en matière de mise en réseau, les BSD ont également perdu de leur potentiel.
vonbrand
12

Existe-t-il un système Linux destiné aux développeurs?

Oui. Cela s'appelle Linux.

Fedora (ou tout dérivé de Red Hat) est aussi performant que n’importe quelle 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 ridicule de dire qu’une de ces distributions est meilleure que les autres pour les développeurs. Ce n'est pas grave.

Cette question demande vraiment des arguments.

à
la source
15
Il est ridicule de dire que poser une question stupide est de demander un Linux "orienté développeur" à moins que vous ne fournissiez de bons arguments pour expliquer pourquoi c'est ridicule.
NN
4
En toute justice, Juan a raison. Linux est bon pour les développeurs, point à la ligne.
Sirex
7
Vous devez vraiment vous qualifier "Fedora est aussi bon que n'importe quelle Debian, Slackware ...". Il y a sûrement des raisons pour lesquelles il existe différentes distributions, ce qui signifie qu'elles ne peuvent pas être aussi performantes dans n'importe quelle tâche donnée pour différentes personnes.
Tshepang
1
@Tshepang: Vous avez raison, ils ne sont pas aussi bons "pour une tâche donnée" sauf pour le développement. Pour les autres tâches, ils montrent parfois des différences, mais pour le développement, toutes les distributions principales sont également bonnes.
Ata
6
Faire mon travail, j'ai besoin d'un environnement stable. Considérant ceci par exemple. Fedora et Ubuntu sont loin d’être stables et je ne les recommande pas. Vous pouvez dire "Linux est bon pour les développeurs" à un utilisateur Windows car il s'agit d'un état général. Lorsque vous parlez à des utilisateurs de Linux, ils sont probablement intéressés par des choses plus spécifiques qui amélioreraient leur efficacité.
marines
5

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

Je suis un développeur et je me suis aussi demandé si un bon Linux était conçu pour les développeurs. D'après mon expérience, aucune distribution Linux n'est spécialement conçue pour les développeurs.

La raison en est qu’en tant que développeur, vous pourrez non seulement personnaliser n’importe quelle distribution, mais vous devrez absolument savoir comment procéder.

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

1) Debian, étant donné que de nombreux serveurs Web de production exécutent Debian, il est donc probablement judicieux de connaître l’organisation des machines Debian. La bonne chose à propos de Debian est que, comme il s’agit du système Linux le plus largement utilisé (y compris ses dérivés tels que Ubuntu), le support, la communauté et le nombre de paquets précompilés disponibles sont extrêmement étendus. Le problème avec Debian, c’est qu’il est conçu pour être un environnement de production stable et qu’il vous offre donc rarement les dernières avancées technologiques que vous voudrez peut-être essayer en tant que développeur.

2) Arch-Linux (ArchBang en fait) est mon favori actuel pour 3 raisons: - Il ne fournit pas beaucoup de choses faciles à installer et à configurer en un clic, mais propose un excellent tutoriel pour vous aider à tout configurer comme vous le souhaitez. Si vous le souhaitez, cette approche vous permet d’apprendre beaucoup de choses sur le fonctionnement de l’arrière-plan et signifie que lorsque vous aurez tout configuré correctement, vous vous sentirez très à l’aise avec l’utilisation d’un système Linux / Unix. - C'est une version mobile, 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 voilà. - Il essaie d’implémenter les dernières avancées technologiques pour que vous puissiez toujours vous tenir au courant des nouvelles améliorations apportées au logiciel, et en tant que développeur, ce qui est vraiment appréciable. -Oh et il a une grande communauté aussi.

Mais de toute façon, c’est à vous d’essayer quelques trucs et de décider ce qui vous convient le mieux. Ce que je peux vous garantir, c’est que peu importe le type de Linux que vous finissez par lier, il existe toujours un moyen de configurer / personnaliser des trucs à votre goût, alors le gros problème consiste à apprendre à personnaliser les paramètres, puis à choisir quelque chose qui est déjà préconfiguré aussi proche que possible de ce que vous souhaitez obtenir.

Alexis Finn
la source
4

Il y a de plus en plus de versions 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 néanmoins beaucoup de temps.

Certains diront que c'est un excellent moyen d'apprendre de nouvelles choses. Cependant, vous devrez prendre le temps de creuser dans la distribution et d’accorder des choses de toute façon, c’est inévitable avec toute distribution.

Mais le plus important, ce sont les forfaits.

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, prenez le temps de découvrir quelques distributions grand public.

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

avetis.kazarian
la source
J'ai dit les distributions majeures c'est-à-dire. grand public, pour faire référence au fait qu’il n’ya pas de grandes différences en matière de développement. Je ne fais pas référence aux distributions de niche.
Ata
3

Fedora est l’un des premiers à adopter les nouvelles technologies, ce qui vous permet d’expérimenter et de développer avec elles des mois avant qu’elles soient disponibles dans la plupart des autres distributions. Il prend en charge de nombreux langages de programmation et bibliothèques et facilite l'ajout à votre système de tous les éléments manquants. Il a une philosophie purement open-source, en choisissant d'autoriser des tiers à fournir des packages pour des fonctionnalités qui vont à l'encontre de cela. N'appelez pas simplement cela "Fedora Core" (il a perdu le "Core" après la fusion de Core et des Extras pour Fedora 7).

Ignacio Vazquez-Abrams
la source
1
Qui l'a appelé Fedora Core?
Tshepang
1
Beaucoup de gens. Pendant des années.
Ignacio Vazquez-Abrams
1
@ IgnacioVazquez-Abrams Qu'en est-il de gentoo et archlinux
Jaison Justus
Je ne peux pas vous parler de distributions que je n'utilise pas. Mais n'essayez certainement pas de mettre en corrélation les "versions à partir de la source" avec "bonnes pour la programmation".
Ignacio Vazquez-Abrams
3
@ IgnacioVazquez-Abrams: Vous ne devez pas non plus corréler les nouvelles technologies avec celles sur lesquelles il est préférable de développer . En tout cas, la question n’est pas assez précise… cela dépend de ce que vous développez. Je parie que l'essentiel du développement mondial repose sur une technologie de pointe. OTOH, Fedora est la distribution que je suggèrerais si on voulait faire du développement GNOME , comme SuSE pour le développement Mono et KDE (basé sur le fait que SuSE est le bailleur de fonds initial du projet Mono et fait partie des rares distributions majeures à adopter. KDE en tant que bureau par défaut.
tshepang
1

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

La bonne chose à propos de Linux est que toute distribution est très facile à personnaliser. Je vous recommanderais de trouver une liste des logiciels que vous utilisez le plus souvent pendant le développement et de créer une grande archive que vous pouvez emporter d’un ordinateur à l’autre (si vous changez beaucoup d’espaces de travail).

n0pe
la source
0

Pour le développement Java / Eclipse, considérez Debian sur Ubuntu / Linux Mint (et éventuellement même 32 bits sur 64 bits).

Contexte: Je développe Java / Eclipse RCP *, j'utilise Ubuntu et, plus tard, Linux Mint, mais j'ai rencontré toutes sortes de bugs gênants, liés à des instabilités dans l'environnement de bureau (Cinnamon sur Linux Mint) ou à une procédure un peu compliquée pour installer Sun Java6 JDK (qui est utilisé par notre projet ... Ubuntu / Linux Mint est livré uniquement avec OpenJDK dans leur dépôt).

J'ai récemment lancé Debian 6 Squeeze dans une machine virtuelle et me suis rendu compte 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 bureau (Gnome2) livré avec est également beaucoup plus stable. que les alternatives Gnome3 / Unity / Cinnamon dans Ubuntu / LinuxMint.

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

Samuel Lampa
la source
-2

Ubuntu est génial, sérieusement.

Ils ont tous les paquets, mis à jour et faciles à installer. Utilisez la configuration par défaut (= Gnome) et vous passerez le plus clair de votre temps à programmer et non à configurer.

L'installation de la suite du compilateur gcc, make, autoconf, etc. prend 5 minutes avec une connexion Internet correcte. Encore trente minutes et Ruby, Python, la JVM de Sun et Eclipse sont prêts à être utilisés.

Edit: Ubuntu fournit des paquets supplémentaires avec des symboles de débogage pour de nombreuses bibliothèques. C'est bien d'avoir pour les développeurs C / C ++.

Philippe
la source
1
Vos commentaires s'appliquent à presque toutes les autres distributions Linux!
Fpmurphy
1
Intéressant ... go2linux.org/debian-ubuntu-centos-fedora-comparison et oswatershed.org (colonne de droite) Faites-moi confiance, Ubuntu est l'ami du développeur.
Philip
-3

La réponse est qu’il n’existe pas de bon Linux pour le développement sans en créer un et aucun autre Linux ne fournit autant dans ce domaine que gentoo. Vous compilez tout depuis la source (quelque chose avec lequel vous devriez être moins sérieux. Le processus d’installation vous en apprend plus sur le système que toute autre distribution répondant à de nombreuses questions que vous vous poserez lors de la création d’applications.

La meilleure partie est que vous pouvez choisir le type de programmes que vous souhaitez développer. Si vous voulez java, installez javac ou gcj ou les deux. Le soutien de la communauté ne ressemble à aucun autre. Si vous avez des questions, vous obtiendrez une réponse ou vous conduira là où vous devez aller pour trouver la réponse.

Chaque IDE auquel vous pouvez penser est disponible pour "émerger" / installer dans gentoo. Bien que ce ne soit pas incroyablement facile à installer ou "simple" à comprendre, il est en train de programmer et si vous ne pouvez pas installer une copie de gentoo, je ne voudrais pas exécuter vos programmes sur ma machine. La plupart des difficultés rencontrées par les utilisateurs pour l’installer résultent d’un manque de connaissances fondamentales de Linux. Je vous promets que vous aimerez cela une fois que vous aurez tout configuré comme vous l’aimez.

Une fois que vous l'avez installé, vous pouvez faire une sauvegarde de l'archive et la placer sur tout ordinateur sur lequel vous avez le temps de reconfigurer un noyau ou de l'utiliser pour le restaurer lorsque les choses deviennent incontrôlables.

Joe
la source