Je vais jeter ma réponse sur le ring (même si je pense que ce sont aussi des bons).
La réponse la plus élémentaire que vous puissiez obtenir est que tout est une question de philosophie.
Dans le monde Microsoft, c'est un peu religieux - Vous avez les dieux au mont. Redmond qui doit être sollicité si vous voulez quelque chose mis en œuvre. Parfois, ils écouteront, d'autres fois, vos sacrifices et vos demandes tomberont dans l'oreille d'un sourd. Peut-être qu'ils étaient à la chasse. Microsoft contrôle l’ensemble de l’écosystème: il possède le système d’exploitation, l’IDE et les associe de manière probablement inappropriée pour un réseau SE. Même au sein des pièces IDE sont étroitement couplés - on peut l'appeler intégrémais je pense que couplé est plus précis. Si vous souhaitez modifier un peu les choses, Gates vous interdit de modifier quelque chose d'une manière que les concepteurs de Windows ou de Visual Studio ne l'ont pas expressément autorisée. Et ensuite, introduisez des technologies telles que IE, IIS, les serveurs Microsoft, MS SQL Server et Office ... et tout est une belle et grande famille heureuse. Mais si vous voulez laisser une partie de la famille derrière vous? frémir !
D'autre part, vous avez Linux, qui hérite de la philosophie Unix selon laquelle chaque composant devrait être responsable de sa propre petite sphère de responsabilité. Il devrait faire une chose et bien le faire. Et de préférence, la communication devrait se faire au moyen de chaînes de texte. Comme d' autres l' ont souligné, sed
, awk
, grep
, etc. sont des exemples parfaits de cela. Ils font la une chose qu'ils sont conçus pour faire, et ils le font très bien. Si vous devez faire deux choses, combinez les deux outils. Ce qui est très facile à faire.
Parce sed
que rien n’est prévu en dehors de l’entrée qui entrera dans le texte, cela signifie que tout ce qui peut produire du texte n’a pas à réinventer la roue. Ils peuvent simplement utiliser sed
. Et parce que sed
produit du texte, tout ce qui peut lire du texte peut utiliser la sortie sed
. Le texte est très universel (à quelques exceptions près), et il est très facile de combiner ce genre de choses.
Non seulement il est facile de les combiner, mais il est également très facile de les séparer - si je décide que je n'ai plus besoin de modifier un flux, mais que je souhaite filtrer les résultats plutôt que de transmettre mon texte sed
, je peux le passer. à la grep
place.
C’est là la philosophie fondamentale du développement dans un environnement Linux. Même si vous montez à partir de là, de nombreux outils fournissent des types d’interfaces similaires. Ils vous permettent de les décomposer en plusieurs parties ou d'interagir avec eux via la ligne de commande, les ports ou HTTP.
Et même si ce n'était pas le cas, vous avez également un logiciel open source. La plupart des logiciels (sinon tous) de la plate-forme Linux sont à code source ouvert. Donc, si vous n'aimez pas la façon dont vous écrivez, vous êtes tout à fait capable de changer le logiciel vous-même. C'est incroyablement habilitant. Vous ne pouvez pas séparer cet IDE comme vous le souhaitez? Effectuez les modifications et renvoyez-les en amont, ou branchez le projet. Vous ne savez pas pourquoi quelque chose se comporte comme ça? Utilisez la source, Luke! Besoin d'automatiser quelque chose via la ligne de commande? Modifiez le projet et collez vos modifications. Vous rencontrez un bogue ou un problème de sécurité? Hey, devinez quoi - vous pouvez résoudre ce problème vous-même, vous n'avez pas à attendre que le SP3.432vb89234.startdate1eQ soit publié.
Vous pouvez combiner les outils que vous voulez et dont vous avez besoin. Et si quelque chose se trouve sur votre chemin, vous êtes à 100% en mesure de faire changer cela. Même si vous n'en avez pas la capacité, vous pouvez certainement payer quelqu'un pour développer ce changement - ou même le suggérer à quelqu'un d'autre qui possède le savoir-faire.
La meilleure raison pour la programmation est que, lorsque vous rencontrez des difficultés , vous pouvez les éliminer de votre flux de travail. Parce que le développement est difficile, il faut penser à beaucoup de choses pour être un programmeur performant, et plus on doit penser à autre chose, plus il est difficile de penser à autre chose .
L'élimination des frictions est la clé.
Donc, si la religion Microsoft ecostystem est votre chez-vous, et que vous appréciez tellement les outils que cela ne vous cause pas beaucoup de frottements ... eh bien, c'est probablement très bien alors.
Mais si vous ne correspondez pas au Microsoft Mold (tm), brevet en instance, vous risquez des frictions. Le développement sera une douleur. Chaque fois que vous le souhaitez, vous pouvez faire quelque chose mais ne le pouvez pas, cela drainera de précieuses ressources cognitives. Et si tel est le cas, un environnement de développement Linux est probablement pour vous.
vim
qui leur plaisent . C'est un domaine très subjectif! Cependant, beaucoup de gens utilisent les IDE sous Linux, vous regroupez donc plusieurs choses ici.