Pourquoi certains programmeurs préfèrent-ils le système d’exploitation Linux plutôt que Windows ou macOS ?


Beaucoup de réponses semblent être des "Fans" ou des "Haineux" de chaque système d'exploitation.

Donc, en tant que personne qui développe en utilisant Windows, OSX et Linux, voici une raison beaucoup moins opinionniste.


Pourquoi je développe en utilisant Linux ?

Lorsque je travaille sur des serveurs LAMP, j'aime avoir autant que possible un environnement de test local.
Je peux avoir tous les mêmes logiciels, et les mêmes versions des logiciels, fonctionnant sur mon OS de développement, que ceux qui fonctionneront sur le serveur réel lorsque le site/application sera hébergé.
J'adore apt-get... J'adore l'adore, et tant d'autres le font !


Pourquoi est-ce que je développe en utilisant Windows ?

Lorsque je veux développer un programme pour windows, je pourrais développer sur n'importe quelle autre plateforme, mais comme cela ne serait probablement pas une surprise, Visual Studio, et tous les outils qui vont avec, sont, sans aucun doute, les meilleurs outils pour le travail.
En outre, beaucoup des meilleurs outils, et des outils les plus polis, sont disponibles pour windows !

Pourquoi est-ce que je développe en utilisant OSX ?

Bien que je n'aie rien à voir avec iOS, c'est une raison pour beaucoup, mais ma raison est en fait très différente.
OSX a des programmes vraiment beaux et polis pour le développement. Beaucoup sont disponibles sur windows, et certains sont disponibles sur Linux.
Mais, vous avez un terminal, avec un vrai support SSH natif, vous avez homebrew, fondamentalement, c'est un excellent moyen terme. Une interface agréable, avec de grands outils, et un terminal dans lequel vous pouvez vous rabattre, pour faire du vrai travail.

Pourquoi je n'utilise PAS OSX pour le développement ?

Matériel, alors que hackintosh est génial pour un ordinateur de bureau, les iMacs sont de la camelote hors de prix, et les Mac Pro sont encore plus une blague. Les ordinateurs portables sont bien, mais sévèrement hors de prix.
Vous devez être logique là où vous dépensez de l'argent, surtout lorsque vous avez un budget limité.

Pourquoi ne dois-je PAS utiliser Windows pour le développement ?

SSH, honnêtement, c'est la clé. Bien que vous puissiez utiliser Putty, et d'autres choses, il a besoin de SSH natif, c'est une douleur absolue d'essayer de gérer les serveurs sans cela. Mineure, mais une douleur énorme. De plus, il est peu performant. Les performances sur du matériel identique, il tombe derrière OSX et Linux

Pourquoi je n'utilise PAS Linux pour le développement ?

Alors que presque tout est disponible, et fonctionne aussi bien qu'OSX et Windows, il y a certains outils qui sont juste de la camelote. Certaines applications n'ont tout simplement pas été optimisées, et fonctionnent comme des déchets par rapport à leurs homologues OSX et Windows, et beaucoup d'entre elles pourraient même être l'application Java identique !!!
Le support matériel peut être bizarre et une source de tracas.

Alors, qu'est-ce qu'un développeur comme moi utilise ?

Tous !

OSX est mon OS principal car c'est le meilleur moyen terme, avec 1 moniteur dédié à Ubuntu dans une machine virtuelle, et Windows dans une autre machine virtuelle.
J'ai besoin de tester sur toutes les plateformes, donc Windows est là quand j'en ai besoin.
J'ai un vrai Linux, pour tous ses outils formidables, et des logiciels équivalents aux serveurs pour le développement local.
J'ai OSX, qui est bien plus performant que Windows pour héberger des machines virtuelles, avec tous les meilleurs outils disponibles fonctionnant dessus.

Pour les ordinateurs portables, j'ai un Macbook Pro (fonctionnant sous OSX), et un Dell Alienware (fonctionnant sous Linux)

La plupart des développeurs web font des choses très similaires à moi.
Beaucoup d'autres développeurs, utilisent ce qu'ils aiment, le goût personnel est un facteur important, et pour la plupart des développeurs, cela signifie plus que tout le reste.
Souvent, la plateforme pour laquelle vous développez, est un facteur plus important que tout le reste.

WebApp == Linux
Mobile == Apple
Desktop == Windows

Si vous développez une application de bureau, le plus souvent, 80% de votre base de clients sont des fenêtres, donc, vous voulez donner à la majorité de vos clients la meilleure expérience possible, donc vous développez pour leur convenir.

Avec Mobile, XCode est bien meilleur que les work arounds pour compiler et travailler dans Windows, et Android a les mêmes outils sur OSX que Windows, cloué les deux en 1 coup.

Avec WebApp, toutes les raisons que j'ai mentionnées ci-dessus.

Ce qui n'est PAS vrai ?

"Je peux pirater mon OS sur Linux" - Le fait est qu'ils ne l'ont probablement jamais fait, et juste parce qu'ils sont des programmeurs, n'ont probablement aucune idée de comment

"S'il y'a un bug, je peux le corriger" - Douteux, voir ci-dessus

"Les programmes sont open source" - La plupart le sont, mais la plupart des mêmes outils que vous utilisez sur OSX et Windows le sont aussi. Leur code est-il Open Source ? La plupart de ces personnes sont de vrais hypocrites 🙁

"Plus stable" - Déclaration de fanboy, les gens de Windows prétendent la même chose, tout comme les gens d'OSX. Ce sont tous d'excellents OS stables, je passe plusieurs mois sur les 3, ne rebootant jamais que pour des mises à jour matérielles ou logicielles majeures. C'est un argument idiot.

Qu'est-ce qui est vrai ?

Le goût, c'est un énorme facteur !