Voici pourquoi certains développeurs utilisent toujours Vim
Pourquoi est-ce que certains développeurs utilisent vi, cet éditeur de code qui date des années 1970 ? Souvent, ils utilisent plutôt Vim, une version améliorée des années 1990, mais cela reste ancien à l’échelle de l’informatique. De fait, c’est l’un des plus vieux outils destinés aux développeurs et même s’il existe aujourd'hui des dizaines et des dizaines d’éditeurs de code plus récents, plus modernes et plus complets. Ces développeurs restent pourtant toujours avec cette interface austère et uniquement textuelle.
Certains, parce qu’ils n’arrivent pas à sortir de Vim comme le veut la blague très répandue dans le milieu*. D’autres, parce que malgré son grand âge, ou plutôt grâce à son grand âge, Vim conserve quelques solides arguments à faire valoir. L’un de ces développeurs a publié récemment un article où il expose ses arguments que l’on pourrait qualifier sans appel.
Déjà, Vim est partout et notamment sur tous les serveurs. N’importe quelle distribution GNU/Linux est fournie avec ce vétéran et un développeur web retrouvera ses marques partout. Mais surtout, Vim est léger, étant dépourvu de toute interface et surtout ayant été créé à une époque où il n’y avait pas le choix, il fallait optimiser au maximum n’importe quelle application.
Léger, à quel point ? Ces tests de performance démontrent bien l’écart énorme entre Vim et les nouveaux acteurs du secteur, Atom de GitHub et Visual Studio Code de Microsoft. Précisons que ces deux logiciels sont multiplateformes et ils n’exploitent pas du code natif, mais des technologies du web. Ce qui a un impact significatif sur les performances, comme vous pourrez le constater vous-même…
Dans ses tests, notre développeur a aussi intégré Nano, un autre éditeur uniquement textuel plus récent, et Sublime Text, un éditeur plus moderne, mais développé avec du code natif. Vim n’est pas toujours en tête, par exemple il prend quatre fois plus de temps à ouvrir ce même fichier de 6 Mo. Néanmoins, il n’a besoin que de quatre secondes, quand Visual Studio Code fait attendre son utilisateur pendant vingt secondes.
Conclusion sans appel de ce développeur : apprenez Vim (ou si vous y tenez vraiment, Emacs, un concurrent qui date aussi des années 1970), ce sera forcément positif. Il est vrai que cet outil nécessite un apprentissage tant il est éloigné de nos habitudes modernes. Pour les personnes intéressées, il recommande cet ouvrage consacré entièrement à Vim.
* Si jamais vous êtes présentement coincé dans Vim, rappelons le raccourci pour quitter l’éditeur de code : :q
. De rien.
L'article était sympa, jusqu'à ce qu'il se mette à suggérer l'éventualité de se mettre à utiliser emacs. ;-)
@ BeePotato :
Fixed.
@BeePotato
La guerre est lancée !!! ( fallait s'y attendre macg)
@BeePotato
Me suis fait la même remarque :-)
Emacs ! *jette une choppe de bière aux perVers* :)
Ça s'ouvre plus vite mais quel est le gain de productivité des nouveaux outils de développement face à cet ancêtre. L'article de l'évoque pas mais ce ne sont pas les 15secondes d'écart à l'ouverture qui pèse dans la balance sur une journée de 8h.
Lors de ma formation j'avais eu des cours sous VI et Emacs justement, mais lorsqu'on se retrouve avec un éditeur moderne j'ai du mal à concevoir que l'on puisse retourner sur cette antiquité. Néanmoins chacun voit midi à sa porte. Si certains le préfère, libre à eux ^^
@Kenny31i
Tu a sûrement jamais utilisé toutes les option d'emacs et c'est plugin.
Honnêtement après avoir tester éclipse, Visual studio and co. Je me penche sérieusement de plus en plus sur emacs
Ou XEmacs pour sa version (porno)graphique (oui bon ok, c'est douteux !). Moi je code dessus tous les jours !
Effectivement, jamais xD. J'imagine que du coup cela vient apporter de la modernité à cet outil. J'utilisais Coda 2 fut un temps, mais maintenant pour les 3 lignes que j'écris dans l'année Sublime Text me suffit amplement.
Je sais que mes collègues tournaient tous sous IntelliJ et PHPstorm. Personnellement je trouvais ça d'une lourdeur extrême. Mais apparement c'était puissant. Comme quoi il en faut pour tous les goûts et tous les niveaux !
Vous pouvez rajouter Adobe avec son Brackets dans le comparatif ?
@heero
Brackets a été abandonné au profit du nouveau Dreamweaver
Abandonné par qui et pourquoi pour Dreamweaver?
Merci pour la réponse.
Moi ça me fait penser aux soft qui sont très mal codes et dont la lenteur est pensée pour être palliée par la puissance des machines sur lesquelles elles tournent.
Mais quand ça tourne sur des machines dites normales .. vous pouvez aller faire une course.
Une flegme d’optimiser tout ça. c’est navrant .
On sent la parole d'expert en développement.
Je pense que vous n'imaginez pas les subtitlités requises par des éditeurs comme VSC. Il ont fait des choix qui simplifient le développement d'extension, d'être cross plateforme, d'avoir un découplage UI / back qui va permettre des manières de travailler nouvelles.
On peut contester, ne pas aimer, préférer Vim etc... mais c'est être totalement étranger au développement que de penser que les développeurs de d'Atom ou VSC sont des fainéants.
Pour la part, c'est BBEdit que j'utilise pour tous mes développements. Et en ne tapant que d'un doigt.
@Jean-Jacques Cortes
BBEdit oui pour certaines chose comme du bash ou des actions bien spécifiques
Sinon NetBeans pour les projets PHP
Eclipse et surtout IntelliJ pour Java
Nano sur les serveur quand je n'utilise pas Interarchy + BBedit
Vi heu bah je n'aime pas la torture
Et le doigt c'est au moins un de chaque côté ? ??
@bunam
Non, juste l'index droit, vraiment nul à la frappe.
vi/vim c'est le logiciel moisi que l'on doit utiliser quand emacs n'est pas dispo ?
@lmouillart
Je vais demander une modération du commentaire
@lmouillart
C’est exactement ça ! Emacs c’est la vie sur un terminal !
Vi/Vim/nano c’est juste le temps d’installer emacs
@lmouillart
Ha ha, c’est exactement ça :)
Xcode et Emacs pour mon usage quotidien
J'utilise depuis une dizaine d'années BBEdit / TextWrangler, un vétéran sur Mac (existe depuis 1992), je le trouve particulièrement rapide et peu gourmand en mémoire même pour manipuler des gros fichiers. S'il offre bien sûr la coloration syntaxique dans de multiples langages et l'auto-complétion des variables existant dans le même fichier, il ne fait pas d'auto-complétion en recherchant dans tous les fichiers d'un projet comme d'autres IDE plus lourds comme Eclipse. On ne peut pas tout avoir...
Remarque pour la dernière ligne: [Echap] :q
Si on ne sait pas utiliser vi on ne connais pas le rôle d'[Echap] ?
@SHHHHHH
En plus la vraie commande serait plutôt [echap]:q!
Le ! Pour confirmer la sortie de vim sans sauvegarde ?
@walterskinner
"En plus la vraie commande serait plutôt [echap]:q!
Le ! Pour confirmer la sortie de vim sans sauvegarde ?"
Parfaitement !
J'allais le dire. En fait je venais de le dire, moins bien.
coda aussi est. pas mal ;-)
Les tests montrent surtout a quel point sublime est excellent. Il peche nul part, voir même excelle partout plutôt, tout en ayant une superbe gui.
Effectivement j'utilise tous les jours Sublime et il est vraiment top.
En plus il reste relativement leger quand on voit ses concurrents
+1
Team Sublime! +1
Les tests montrent bien sa supériorité en effet.
Mes collègues utilisent Atom et Visual Studio. Quelques fonctions sont intéressantes, mais pas indispensable pour moi.
Visual Studio, j'ai lu les CGU avant d'installer, autant dire que je n'ai jamais cliqué sur le bouton accepter.
Et Atom est beaucoup trop lourd, pas besoin de graphique pour s'en rendre compte, il suffit de regarder un collègue le lancer xD.
Après vim ou emac, il faudrait que je m'y mette un jour...
@ hawker : « Les tests montrent surtout a quel point sublime est excellent. Il peche nul part, voir même excelle partout plutôt, tout en ayant une superbe gui. »
Hum. De mon point de vue, son interface est justement par où il pèche.
@hawker
Entièrement d'accord ! Sublime Text est vraiment un logiciel idéal pour qui veut écrire du code efficacement.
À mon avis il n'est pas aussi simple d'accès que d'autres, mais il reste infiniment plus facile à appréhender que vi, même si je ne pense pas que les deux cherchent à répondre au même besoin.
Cordialement,
HAL1
j'utilise toujours Vi régulièrement. Tellement la commande est rapide à taper, les raccourcis courts pour se déplacer rapidement et le programme capable de passer à dizaines de milliers de lignes plus bas, modifier, sauver, zou à la maison!
Mais... mon préféré reste Emacs. HAHA !
En particulier XEmacs que j'ai utilisé souvent pour faire des sites webs, avec d'excellents modules de complétion, coloration et validation en temps réel du code html/xhtml. super.
"Tellement la commande est rapide à taper" => alias vi=emacs
(-:
pisque c'est comme ça, je retourne à "e".
@lmouillart
Hey !!! La modération !!!!
J'ai justement tapé cette question sur Google hier. Flippant.
Et si ça ne marche pas,
:q!
Vous êtes pas tres juste avec vim dans le screen shoot, mettez lui des plugins de coloration, autocompletion, un thème et changez de police, ce sera plus joli
Sur le dernier graphique, Atom prend 800 secondes pour réaliser la tâche et non 80 soit 200 fois plus que Vim... à moins que le graphique soit faux...
@ Captain Bumper :
Ah mais oui, même moi j’avais du mal à y croire… ?
:q
:q
Je ne suis pas developer ou coder, mais j'utilise vie tous les jours. Lorsque j'ai commencé à utiliser Linux, fin 90's, rien que pour configurer l'interface graphique, il fallait aller dans des fichiers en ligne de commande. J'utilisais pico ou nano. Mais je suis vite passé à vim car au taf, sur les serveurs il n'y a que ça et bien, je ne peux pas utiliser autres chose. Alors pourquoi cette guegeurre stérile entre vi(m), nano et emacs (à part son côté humoristique bien sûr) ? Chacun fait comme il a l'habitude surtout. La finalité est la meme. Et en ligne de commande on a pas la possibilité de se taper une interface graphique qui mange 800Mo de ram d'une [censure] propriétaire ?
Le problème de vim, c'est que pour être productif et à peu près au niveau des IDE récents, il faut passer des heures à apprendre les raccourcis et installer/configurer les plugins. Le gain de productivité est complètement effacé par le temps qu'il faut pour tout mettre en place.
Je comprends éventuellement ceux qui sont restés dessus car ils ont passé le temps pour apprendre et la vie leur semble facile, mais pour un débutant en programmation il y a suffisamment de galères comme ça pour ne pas se rajouter un fardeau comme la courbe d'apprentissage de vim.
Sans compter que comparer l'utilisation en ram n'a pas vraiment de sens. Sur un serveur, on peut utiliser nano qui est présent partout et très léger, mais beaucoup plus simple. Sur une machine de développement, un IDE complet reste plus confortable (et parfois obligatoire, pour développer sur iOS ou Android par exemple) et le problème de la ram ne se pose pas forcément.
> Sur un serveur, on peut utiliser nano qui est présent partout et très léger
Nope. Nano n'est pas dispo sur tous les serveurs.
Le seul éditeur qu'on trouve sur tous les Unix, que ce soit Linux, AIX, Solaris, OS X etc quelque soit leur version et distribution, c'est VI, parfois VIM.
Mais pas Nano.
C'est comme dire que Bash est dispo partout. C'est faux. Le seul shell qu'on trouve partout, c'est SH. Soit via Bash, soit parce qu'il n'y a pas Bash, mais bien Sh.
Au final, une maitrise minimal des outils absolument de base reste indispensable.
A l'instar de savoir se servir d'un marteau, un tourne-vis, une perceuse...
@ErGo_404 :
Ah il faut apprendre ?
Mais c'est terrible.
Je comprends que ce soit rédhibitoire de nos jours et que seuls les "vieux" qui ont "appris à apprendre" apprécient vi.
C'est pourtant pas difficile a comprendre.... outil qui demande un apprentissage pas facile mais qui par la suite offre une productivité hors norme et une consommation de ressources minimale....
Absolument rien de neuf là dedans...
Quand a atome, c'est bien mais c'est du javascript avec différent frameworks et le surcout délirant qui va avec...
@bobdu87 :
"Apprentissage pas facile"
Oui, je comprends, c'est dur. En plus il est préférable de connaître un peu de vocabulaire anglais !
- a : append
- i : insert
- esc : escape write mode
- b : before
- w : word
- q : quit
- wq : write & quit
Etc
moi il me semble que ce que montre les benchs c'est qu'il faut utiliser sublime, qui est fantastique d'ailleurs.
certes. Faut-il encore pouvoir l'installer.
Et pour ça, il faut parfois en passer par des outils plus simple encore, comme vim, pour pouvoir configurer d'autres trucs afin de pouvoir installer SublimeText.
^_^
Pages