Pourquoi préférons-nous la ligne de commande aux interfaces graphiques?

En passant en revue d'autres articles, je suis tombé sur cette petite question qui m'a beaucoup amusé, il est vrai que l'une des premières choses que les utilisateurs d'autres systèmes (sauf FreeBSD) se font face est que nous n'utilisons pas les interfaces graphiques. Pour dire la vérité, j'ai également trouvé cela assez curieux au début de mon voyage GNU / Linux. Je dois admettre qu'avec le temps, j'utilise maintenant beaucoup plus la ligne de commande que tout autre programme d'interface graphique, et souvent je préfère les programmes en ligne de commande à des programmes plus élaborés avec des interfaces graphiques éblouissantes.

Mythe

En fait ce n'est rien de plus qu'un mythe urbain, car contrairement à d'autres systèmes dont les noms ne seront pas mentionnés ici, c'est dans GNU / Linux où vous avez vraiment liberté de choix. Je souhaite que dans d'autres systèmes il y ait la polyvalence qui existe ici. Mais regardons de plus près cette question, sinon beaucoup de choses ne sont pas claires:

Servidores

Nous avons tous entendu le mot Serveur, certains pensent que ce sont ces super ordinateurs qui alimentent Google ou Amazon, ou celui de votre entreprise. Mais la réalité est qu'un Serveur répondre à un modèle de travail. Nous utilisons ce terme pour désigner le fait que nous avons un programme disponible pour les utilisateurs (clientèle) et leur donne quelque chose. Un exemple de base est Apache, qui est utilisé pour servir pages Web sur Internet. Ce programme fournit du HTML à clientèle qui le demandent.

Serveur d'images

Mais non seulement un serveur peut se trouver dans les super ordinateurs que Google et de nombreuses autres entreprises rendent possible, même le plus ancien ordinateur portable peut être serveur, surtout quand on parle d'images. Nous courons tous un serveur d'images dans nos ordinateurs portables afin d'avoir un écran fonctionnel, dans ce cas le serveur et l' client Ils sont une seule et même personne. L'exemple le plus courant est X (connu sous le nom xorg-server dans de nombreuses distributions) et son nouveau remplaçant Wayland. Nous n'allons pas expliquer en détail pourquoi l'organisation, ou comment fonctionne Wayland, ou les philosophies qui existent derrière ces grands projets, mais nous allons préciser que c'est grâce à eux que nous pouvons compter sur un navigateur web comme Firefox ou Chrome, ou de nombreux autres programmes.

Gestionnaire de fenêtres

Les gestionnaires de fenêtres travaillent directement avec le serveur d'images, leur travail est d'un niveau "inférieur", car ils gèrent (pardonnez la redondance) comment les fenêtres sont créées, modifiées, fermées. Ils sont généralement assez simples et les environnements de bureau sont construits sur ces derniers. La liste est longue, mais je ne laisserai ici que l'idée qu'ils sont logiciels minimalistes, qui vous permettent d'avoir un contrôle assez basique du serveur d'images.

Environnement de bureau

Un ensemble de logiciels plus spécialisé qui permet non seulement le fonctionnement du serveur d'images, mais fournit également des capacités de personnalisation. Parmi ceux-ci, les plus anciens et les plus lourds sont KDE et GNOME, mais nous avons aussi des environnements plus légers tels que LXDE ou Mate, Cinnamon, etc.

CLI (interface de ligne de commande)

Après un bref aperçu du monde des serveurs d'images, nous revenons maintenant à notre sujet. CLI, implique tout programme exécuté par ligne de commande, soit git, vim, weechat, ou bien, tout ce qui me vient à l'esprit. Vous pouvez voir que je parle de programmes qui, bien qu’ils s’exécutent en ligne de commande, présentent une sorte d ’« interface graphique »comme weechat o vim. Pour tous ceux qui ne les ont pas essayés, je les recommande, ce sont essentiellement ceux que j'utilise toute la journée.

Pourquoi CLI est meilleur que GUI

Essayons quelque chose d'assez simple  L'autre jour, je voulais travailler sur un patch pour Portage (gestionnaire de paquets de Gentoo). Comme tout bon projet collaboratif, le nombre de lignes de code dépasse 70k. Essayez d'ouvrir cela dans un IDE comme NinjaIDE (Portage est écrit en Python) et vous remarquerez bientôt que lorsque l'écran commence à se charger, votre machine devient extrêmement lente (du moins mon i7 l'a fait) et cela essaie simplement d'ouvrir le code et changez la couleur par défaut de «help».

Maintenant, essayez de faire de même avec vimIl m'a chargé en quelques millisecondes, et en même temps il a mis les "jolies" couleurs et tout le reste.

CLI existe bien avant

Certains ici diront que ces programmes sont antiguos, Je les appelle robuste. Si vous pouviez voir le nombre d'heures investies dans la construction emacs, vim, gdb, et des centaines d'autres programmes de console, peuvent remarquer que la quantité de code et de fonctionnalités est si grande qu'ils ont pratiquement déjà résolu tout ce qu'ils devaient résoudre. Beaucoup GUI pour les programmes qui sont déjà robustes dans leur CLI, ils n'auront jamais la même quantité de fonctionnalités, ceci simplement parce que si nous avons fait un onglet pour chaque sous-commande disponible, par exemple git, nous nous perdrions entre les options et ce serait contre-productif, car cela rendrait difficile le travail.

CLI est plus rapide

La magie commence avec la clé Tab, ce n'est pas seulement votre meilleur ami lorsque vous parcourez les bureaux de votre terminal, mais lorsqu'il est correctement configuré, il vous permet de raccourcir les phrases longues à 2 lettres et une tabulation, 3 lettres et une tabulation, voire une lettre et une Languette.

Mais ce n'est pas le seul avantage, ceux d'entre nous qui ont pris le temps d'apprendre vim o emacs On peut dire que bien que la courbe d'apprentissage soit un peu plus élevée que celle des IDE de nos jours, au final les résultats de productivité sont étonnants, on ne peut pas imaginer le temps qui peut être perdu en déplaçant une souris. Avoir les mains sur le clavier 90% du temps n'enseigne pas seulement la concentration, de plus, le fait de taper autant sur le clavier vous rend assez agile et productif. Et maintenant nous revenons au point précédent, étant avec nous depuis si longtemps, des programmes comme ceux-ci ont déjà toutes les fonctionnalités auxquelles quelqu'un pourrait penser, un dicton assez courant pour ceux d'entre nous qui utilisent vim vient à l'esprit:

Si vous utilisez plus de 4 touches, il existe peut-être un meilleur moyen.

Simple mais puissant, vim permet de tout faire avec le grand nombre de touches et de combinaisons possibles, on n'arrête jamais d'apprendre, mais il est vrai aussi que pour l'utiliser il n'est pas nécessaire de les connaître toutes, environ 10 ou 15 sont assez pour commencer à être plus productif.

CLI vous donne un contrôle complet

Quand on exécute des opérations avec la souris, ou des programmes depuis le serveur d'images, toutes les configurations supplémentaires qui sont exécutées au moment du clic ne sont pas toujours présentes, cela ne se produit pas avec le terminal, ici vous avez le pouvoir absolu de ce que c'est exécutée ou non, avec quelle option ou dans quelle mesure. Au fil du temps, vous réalisez que vous avez besoin de moins que vous ne le pensez, et cela vous aide à faire les choses de manière plus ciblée.

L'interface graphique a aussi sa propre chose

Je ne vais pas dire que nous devrions tous utiliser toujours la CLI, ce n'est pas idéal non plus, j'utilise moi-même des interfaces graphiques presque tout le temps, pour écrire ce message, j'utilise mon Chrome, et pour voir mes e-mails, j'utilise Evolution (bien que J'utilise aussi mutt un peu ces derniers temps). Et je suppose que c'est le plus grand mythe de tous... que les gens pensent que GNU/Linux n'est qu'un terminal, j'aime mon environnement de bureau, il est assez minimaliste, mais je l'aime ainsi  Et je n'en ai généralement que deux ou trois programmes en cours d'exécution, mon Chrome, mon Evolution et mon terminal 

Ce sont quelques-unes des raisons pour lesquelles j'aime tant les CLI et pourquoi je vous invite à les essayer, peut-être que plus tard vous finirez comme moi par utiliser plus de CLI que d'interfaces graphiques  Cordialement


Ajouter comme source préférée dans Google