3 raisons pour lesquelles Linux a fait de moi un meilleur développeur
Vous êtes peut-être un développeur ou avez-vous simplement une passion pour Linux? Bien que Linux signifie quelque chose de différent pour tout le monde, une chose que je croyais, c'est que la liberté d'élaborer un système personnalisé permet aux utilisateurs de Linux de s'épanouir. Je décris trois raisons pour lesquelles Linux m'a permis de prospérer.
Sommaire
3
Je peux construire un système à partir de zéro
Je n'étais pas développeur lorsque j'ai commencé à utiliser Linux il y a plusieurs lunes. J'ai toléré dans Python et j'ai écrit beaucoup de scripts bash, mais je n'ai jamais été développeur. Cependant, après ma première année sur Ubuntu, par pure curiosité (et ego), je suis passé à Arch Linux. Arch m'a appris à gérer et à construire des systèmes minimalistes. Après de nombreuses installations, j'ai réalisé que l'installation d'Arch n'est pas très difficile – il s'agit principalement de prendre des décisions de système de base (comme la disposition de partition) et de sélectionner la façon dont vous souhaitez configurer votre environnement graphique. La répétition de ce processus m'a rendu à la fois confortable et familier avec une coque Linux nue. Pour les deux prochaines années, j'ai taillé dans des projets plus complexes, tels que Gentoo et la construction de systèmes Linux fabriqués à but. C'était crucial et amusant.
Avec le recul, j'obtenais une expérience pratique essentielle. Je ne m'en suis pas rendu compte à l'époque, mais je créerais plus tard des applications à l'intérieur des images Docker afin que je puisse les déployer n'importe où avec une cohérence fiable. Maintenant que j'apprends Kubernetes, je suis très reconnaissant d'avoir pris le temps d'apprendre Linux à partir de zéro. Cela signifie que je peux déployer des applications dans n'importe quelle langue et dans n'importe quel environnement, ce qui s'appuie fortement sur mon expérience pratique antérieure, et je n'aurais pas pu le faire de manière experte sans Linux.
Récemment, j'ai contrasté Linux avec Windows à cet égard, et il est clair que Windows ne fournit pas le même type d'environnement d'incubation – un où je suis libre de construire un système, pièce par pièce, exactement comme j'ai besoin.
2
Une liste sans fin d'utilitaires de support
Comparer Linux aux fenêtres, c'est comme la comparaison des pommes aux oranges. Bien que les deux soient des systèmes d'exploitation, l'environnement technique de Linux a des décennies d'avance sur Windows. Linux a commencé comme un système technique depuis sa création et a maintenu cette identité tout au long de sa vie.
Pour toute tâche, il existe un utilitaire qui peut le gérer. Si ce n'est pas dans le système de base, il est facile à installer – juste une chose de plus que Linux fait extrêmement bien.
Des outils comme SED, awk, tête, chat et grep facilitent le traitement du texte. Des outils tiers comme JQ ou YQ facilitent le travail avec des données structurées complexes (telles que JSON et YAML) extrêmement faciles. Les tuyaux me permettent de chaîner les commandes ensemble sans limites, tandis que Bash me donne la possibilité de les combiner tous dans un script reproductible. Le shell – avec ses fichiers de configuration, ses plugins et plus encore – fait le traitement des données et la gestion de mes projets un jeu d'enfant. Linux est comme un couteau suisse pour mon code, et il a facilité la résolution de certains problèmes 10 fois.
Windows a certainement ses avantages, mais l'introduction du sous-système Windows pour Linux renforce simplement mon point – les utilitaires standard linux ne peuvent tout simplement pas être égalés. La suite Sysinternals propose de nombreux outils utiles, mais ce n'est pas dans la même ligue. Je n'abandonnerai pas mon système Linux aussi rapidement que j'ai abandonné des fenêtres.
1
Toujours scripter pour améliorer mon environnement
Environ un an ou deux après avoir déménagé à Linux, j'ai commencé à écrire des scripts bash, et quand je suis allé à l'université, j'ai également ramassé Python. Depuis lors, j'ai écrit suffisamment de scripts Python et Bash pour porter les touches de mon clavier.
L'environnement Linux est particulièrement bien adapté aux scripts. Sur Windows, tout est une icône ou un menu; Sur Linux, c'est bash et commandes.
Les commandes et les scripts rendent Linux incroyablement composable, suffisamment pour résoudre tout problème, et c'est exactement ce que je fais. Que j'étende le gestionnaire de fenêtres i3 ou que je gére les machines virtuelles, l'écriture de scripts est toujours mon approche par défaut. L'environnement dans lequel je travaille ressemble étroitement à un environnement de développement, ce qui rend mes compétences plus nettes et mon expérience de développement plus efficace. Dans un autre article, j'ai expliqué pourquoi j'aime i3 et comment cela améliore considérablement l'efficacité de mon flux de travail.
Lorsque la plupart des gens considèrent Linux comme un système d'exploitation hardcore, un pilote quotidien ou même une machine de jeu, je vois Linux comme une boîte à outils – une boîte à outils que je peux façonner de quelque manière que ce soit pour répondre à mes besoins de développement.
La liberté que Linux fournit est exceptionnelle. Il y a une raison pour laquelle la plupart des développeurs utilisent Linux – non seulement cela, mais c'est pratiquement le seul système de tout leur univers. Ce n'est pas une exagération, et je parle de certaines des raisons de mon article sur le fait de laisser Windows. Je ne suis pas non plus la seule personne à voir Linux de cette façon; L'un de nos autres auteurs utilise également Linux comme IDE, ce qui est un moyen unique de le regarder.
