Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

GNU Emacs 23.2 disponible en version stable
L'éditeur de texte ultime pour les développeurs ?

Le , par Gordon Fowler

140PARTAGES

0  0 
GNU Emacs est un éditeur de texte très puissant et particulièrement populaire au sein de la communauté des développeurs.

Il possède en effet plusieurs centaines de fonctions et une multitude de raccourcis clavier.

Revers de la médaille, ses caractéristiques en font également un éditeur complexe à prendre main. Mais le jeu, surtout pour les professionnels IT, en vaut vraiment la chandelle.

Pour ceux qui souhaitent aller encore plus loin, Emacs est également personnalisable.

Cerise sur le gâteau, et comme son nom entier l'indique, il s'agit d'un logiciel libre, qui plus est totalement gratuit et multiplateforme.

Pourquoi parler d'Emacs aujourd'hui ?

Tout simplement parce que son équipe de développement vient d'annoncer la sortie officielle de la toute dernière version en date : la 23.2.

Parmi les nouveautés mises en avant, citons un support amélioré de l'Unicode, un nouveau mode pour le JavaScript et de nouveaux packages (dont le CEDET - Collection of Emacs Development Environment Tools).

Bref, un outil de développement tellement complet que l'on peut se demander si le qualifier de simple éditeur de texte est encore pertinent.



Emacs 23.2, la liste exhaustive de ses nouveautés et sa documentation complète sont disponibles sur le site officiel du projet.

Lire aussi :

Une première approche de l'éditeur Emacs par hiko-seijuro

Les programmeurs savent-ils encore développer avec un éditeur de texte ?

UltraEdit disponible pour Linux, il serait l'éditeur de texte avancé le plus vendu au monde pour les développeurs

Et vous ?

D'après vous, Emacs est-il l'éditeur de texte de référence ? Et si non, lequel lui préférez-vous ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Florian Goo
Membre éclairé https://www.developpez.com
Le 06/06/2010 à 19:39
Aaaah, Vim et emacs…

Moi aussi à l'époque je ne jurais que par les EDI. J'avais un collègue qui utilisais vi et je le regardais de travers. Comment peut-on utiliser cette mocheté inintuitive qui a été créée avant ma naissance ?

Mais un jour, Code::Blocks a décidé d'utiliser Ctrl-H (un raccourci clavier très pratique permettant de commuter deux lignes) comme raccourci pour ouvrir je ne sais plus quel fenêtre de configuration. Cela m'a beaucoup embêté car je trouvais très pratique le fait de faire ce genre d'opérations très rapidement sans faire le fastidieux aller-retour entre le clavier et la souris.

C'est le déclic qui m'a incité à me lancer dans un test sérieux (pas le genre de test de cinq minutes où tu pars avec un gros a priori négatif) de Vim. Au début, ça a été difficile, c'est clair. Mais aujourd'hui je ne pourrais vraiment plus faire marche arrière.
D'ailleurs, je ne me souviens pas avoir jamais vu quelqu'un adopter Vim/Emacs et finir par revenir à un éditeur classique.

Pour quelqu'un qui tape du code toute la journée, absolument rien n'arrive à la cheville de ces deux éditeurs. Quand je vois des professionnels du développement s'extasier à la sortie du dernier Notepad++, ça me fait franchement bien marrer…

Enfin, pour ce qui est de la comparaison avec des EDI, il est clair qu'un Vim tout nu n'est pas adapté.
Personnellement, j'utilise Vim (avec les plugins Project, Minibufexpl et OmniCppComplete) combiné à CMake pour coder en C++. Je peux vous dire que ça n'a rien à envier à un EDI, sauf peut-être pour le debugger intrégré.

D'ailleurs à ce propos, je me suis toujours dit qu'Emacs était plus puissant que Vim, notamment en ce qui concerne l'intégration du debugger et pour la coloration sémantique (j'ai bien dit sémantique). Hélas, les raccourcis claviers d'Emacs (Esc-Meta-Alt-Ctrl-Shift) sont incompatibles avec mes articulations fragiles.
Mais je viens de lire Camille parler d'un mode Vim (je connaissais Viper pour le mode vi, mais je ne savais pas qu'il y avait un mode Vim). Je vais aller jeter un coup d'œil là-dessus, en espérant que je pourrais profiter de la puissance d'Emacs sans me tordre les doigts !
2  0 
Avatar de Haseo86
Membre éclairé https://www.developpez.com
Le 15/05/2010 à 15:05
Citation Envoyé par Camille_B Voir le message
Je répète:

Non il n'y a pas qu'Emacs qui les utilise. De base, les applis Tk les utilise, ainsi qu'un grand nombre d'applis Unix.

Les raccourcis d'Emacs furent pendant longtemps un standard, car ils étaient hérités eux-mêmes d'habitudes fortes au sein du M.I.T.

Je me répète encore :

Pour avoir les raccourcis CUA (ctrl-V/X/C etc.), il y a le mode "cua-mode".

Emacs n'est pas élitiste, il sait s'adapter à l'habitué de notepad++ (cua-mode), à celui de vim (viper), et ne crache pas à la gueule de ses utilisateurs de la première heure.


1) Emacs n'est pas un éditeur de texte, c'est un interpréteur LISP spécialisé dans le traitement de données textuelles. C'est tout à fait différent.

2) Emacs a un très grand nombre d'outils qui facilitent la vie du développeur, et est très facilement extensible. Et ça pour un dev ça n'est pas du gadget.

3) L'analyse syntaxique et sémantique est la grande force d'Emacs (grâce à LISP). Dans ce domaine seul Eclipse arrive presque à sa cheville (et encore, si l'on se contente de Java).

4) Emacs étend la logique du REPL (Read-Eval-Print Loop) des LISP à quasiment tous les langages. Le mode Sepia permet d'évaluer du code Perl comme on évalue du code LISP dans Emacs, idem avec Javascript, Ruby, Python etc.

Après personne n'est obligé d'utiliser Emacs, c'est évident. Mais je trouve ça fatiguant d'entendre toujours les mêmes clichés débiles (il lui manque un bon éditeur de texte, c'est gadget, c'est un OS, il est lourd etc.) qui sont souvent des trucs qui ne sont plus valables depuis des années, voire ne l'ont jamais été.
Devant ces réactions je viens de passer un peu de temps sur cette fameuse nouvelle version, histoire de me faire un avis à jour (évidemment je pars sur à priori ultra négatif, rapport à mes précédentes expériences), et là rien n'a changé, ou plutôt si, c'est encore pire qu'avant : rien qu'à cliquer sur le bouton "new file" (ou plutôt ce que j'ai supposé être "new file", puisqu'il est bien situé avec cette fameuse icône d'un fichier vide avec un petit "plus" dessus), je me retrouve face à une fenêtre de sélection de fichier, avec pour seul bouton "ouvrir" et "annuler", alors qu'on vient de me dire qu'Emacs s'adapte aux standards... mais suis-je bête, la petit phrase de présentation dans les dépôts aurait dû me préparer à ça : "Emacs : afficher et modifier des fichiers". Eh oui, Emacs ne permet pas la création mais simplement l'affichage et la modification de l'existant, il se rapproche donc plus de l'outil d'espion que de l'outil de développeur...

D'accord d'accord, j'exagère vraiment sur ce coup là et je fais preuve d'une mauvaise foi exacerbée, mais je pense que ça montre bien là ou je veux en venir, point de vue d'ailleurs involontairement corroboré par les récentes réactions à ce sujet : Emacs est bel bien un outil qui veut savoir tout faire et ne s'ouvre absolument pas (comme vous le dites "les raccourcis d'Emacs FURENT un standard", ils ne le sont plus, il est temps d'évoluer), et se préoccupe exclusivement d'offrir de nouveaux outils et de plaire à son public de la première heure, ou bien à ceux qui ont commencé par lui, et du coup dénigrent le reste en bloc (si ça c'est pas une preuve de fermeture...).

Emacs m'a personnellement fait passer quelques uns des pires moments de ma vie de développeur, je conçois parfaitement que des gens l'apprécient, mais ce n'est qu'un gros couteau suisse qui ne mérite pas qu'on l'encense comme ses utilisateurs le font.
2  1 
Avatar de SurferIX
Membre chevronné https://www.developpez.com
Le 04/06/2010 à 11:14
Citation Envoyé par Haseo86 Voir le message
... rien qu'à cliquer sur le bouton "new file" (ou plutôt ce que j'ai supposé être "new file", puisqu'il est bien situé avec cette fameuse icône d'un fichier vide avec un petit "plus" dessus)...
Cliquer ? Cliquer ?
Un bon développeur qui "clique" pour ouvrir un fichier ? Un bon développeur enlève les mains de son clavier pour ouvrir un fichier ?
J'espère bien pour toi que tu as pris des cours d'IHM, parce qu'une des choses qu'on apprend aux débutants, c'est que quand on veut être efficace, retirer la main de son clavier pour attraper la souris et faire quelque chose, puis la remettre sur son clavier, c'est une perte de temps hallucinant. Rien que ce commentaire fait que tu descendrais immédiatement en bas de la liste des personnes susceptibles de travailler avec moi.

Alors quand je vois que quelqu'un, au lieu de chercher les raccourcis et ce qui fait qu'un programme est efficace, essaie d'utiliser ses "vieilles" habitudes sans essayer de comprendre ce qui fait la force du programme, euh... non, tu ne descendrais immédiatement en bas de la liste : tu serais rayé.

Je vais te donner un indice, en espérant t'apporter quelque chose de constructif : si jamais des programmes aussi vieux que VIM et que emacs ont survécu à travers le temps, et n'ont fait que s'améliorer, et si tous les grands de ce monde s'en servent, essaie juste au moins de comprendre pourquoi. Et ne sors pas des choses aberrantes telles que "quand j'essaie d'ouvrir un fichier ça marche pas aussi bien que Notepad sous Windows, donc c'est un éditeur nul", parce que tu risque de faire grandement baisser l'estime qu'ont les professionnels de toi en lisant tes commentaires .

Regarde ce post ici. 47000 personnes l'ont déjà lu. C'est moi qui ai posé la question en demandant "bon sang, comment est-ce possible d'être plus productif avec VIM qu'avec un éditeur classique ?".

J'ai lu toutes les réponses, je me suis penché dessus, j'ai testé, je me suis "forcé" à passer par dessus mes habitude, et aujourd'hui, quand je ne suis pas aussi efficace que sous Visual Studio, sous Eclipse ou sous Borland IDE, c'est que je le suis plus.

La seule chose qui manque à VIM et emacs, et encore, en C, ça existe sous VIM apparemment, c'est le débogage pas à pas.

Vraiment, je ne veux pas être (trop) méchant, mais renseigne toi bien et plus dans tous les sens avant de t'arrêter à certaines choses aussi basiques.
1  0 
Avatar de stardeath
Membre expert https://www.developpez.com
Le 04/06/2010 à 13:14
Citation Envoyé par SurferIX Voir le message
Cliquer ? Cliquer ?
Un bon développeur qui "clique" pour ouvrir un fichier ? Un bon développeur enlève les mains de son clavier pour ouvrir un fichier ?
J'espère bien pour toi que tu as pris des cours d'IHM, parce qu'une des choses qu'on apprend aux débutants, c'est que quand on veut être efficace, retirer la main de son clavier pour attraper la souris et faire quelque chose, puis la remettre sur son clavier, c'est une perte de temps hallucinant. Rien que ce commentaire fait que tu descendrais immédiatement en bas de la liste des personnes susceptibles de travailler avec moi.
le fossé entre un bon développeur et un développeur productif est assez grand, aucun rapport à mon avis.
le premier truc en ihm qu'on m'a appris c'est de pas classer les commandes n'importe comment, genre mettre les commandes couper/copier/coller dans le menu affichage.

de plus tout le monde n'a pas à débiter 50k lignes de code par jour, si pour être productif il faut devenir une machine, ça n'a globalement aucun intérêt (et ça se délocalise facilement), cela m'inspire plutôt des gens qui ne prendraient même pas la peine de pendre un crayon et de réfléchir 5 minutes, bref du "secrétariat au service de la programmation".
1  0 
Avatar de SurferIX
Membre chevronné https://www.developpez.com
Le 06/06/2010 à 23:37
Citation Envoyé par stardeath Voir le message
le fossé entre un bon développeur et un développeur productif est assez grand, aucun rapport à mon avis.
Ça c'est la théorie. En pratique c'est autre chose.
C'est bien simple, je ne connais aucun développeur bon qui ne soit pas productif. Si tu parle de productif dans le sens "nombre total" de lignes de code, ce n'est pas du tout de la productivité pour moi. Par contre un bon développeur qui maitrise les expressions régulières et qui sait en 2 secondes, mettre tout un paquet d'occurrences de manière particulière en minuscules, ça oui, c'est de la productivité pour moi, et vim donne la possibilité de faire ça rapidement. Dans mon exemple, on ne code pas 50 000 lignes de code. Bon bref pour résumer, tu dis qu'un mécanicien intelligent n'a pas forcément besoin d'avoir des supers outils, je te dis que par expérience, un mécanicien intelligent a toujours des bons outils. Et donc si à un entretien d'embauche un type me dit que vim c'est de la daube parce que "control-s" il ne connait pas, l'entretien se termine aussitôt, "merci au revoir monsieur".

Citation Envoyé par stardeath Voir le message
le premier truc en ihm qu'on m'a appris c'est de pas classer les commandes n'importe comment, genre mettre les commandes couper/copier/coller dans le menu affichage.
Eh bien tu n'as pas de chance. Moi le premier truc qu'on m'a appris en IHM c'est qu'il ne faut jamais, sur une action utilisateur, absolument jamais dépasser 7 informations visuelles à l'écran à la fois, pour un maximum de rentabilité. D'ailleurs c'est pour ça que Office est passé à 7 menus max (avec les deux flèches vers le bas pour tout ouvrir) et le ruban n'affiche que 7 grosses icônes max, les autres sont petites (17 ans à comprendre ça... et Ubuntu a été un peu plus rapide, ils devraient y arriver dans leur prochaine version ). Dans vim "ctrl g" pour avoir plus d'information que nécessaire.

Citation Envoyé par stardeath Voir le message
de plus tout le monde n'a pas à débiter 50k lignes de code par jour, si pour être productif il faut devenir une machine
Ce discours me rappelle un ingénieur avait plein de théorie mais en pratique, ne connaissait absolument rien. Ton discours c'est genre "si je réfléchis je peux faire en trois lignes ce que d'autres font en 5000". Encore un manque d'expérience flagrant qui transparait

Citation Envoyé par stardeath Voir le message
... (et ça se délocalise facilement)...
Vas gérer (comme je l'ai fait et risque (à ma grande haine) de devoir le refaire) une équipe de développeurs étrangers (Russes, puis Arabes, et bientôt Indiens) et puis nous pourrons en reparler. Je dis "vas le faire" comme si je savais que tu ne l'avais pas fait, parce qu'une personne qui tient un discours pareil ne peut pas avoir déjà géré un groupe à l'étranger.

J'insiste une dernière fois :

Un développeur intelligent est quelqu'un qui pense vite et qui code vite. Même si ça te parait pas lié, en pratique, j'insiste : penser vite et coder vite sont toujours étroitement liés.

Et j'ai fait un petit post ici, si tu me le permets, je te conseille de le lire.
1  0 
Avatar de jabbounet
Membre expert https://www.developpez.com
Le 07/06/2010 à 10:48
Citation Envoyé par stardeath Voir le message

mais bon je m'égare, j'ai déjà lu le post, ce qui m'intéresse c'est pas de coder le plus rapidement du monde, c'est de coder avec le moins d'effort, et vim/emacs ça demande trop de raccourcis à mémoriser.
Au final pas tant que ça. cela deviens vite des réflexe d'utiliser les raccourcis courants, même plus besoin d'y réfléchir. Je pense que cette remarque est valable pour à peu près tous les d'éditeurs qui ne changent pas de raccourcis a chaque version.
1  0 
Avatar de stardeath
Membre expert https://www.developpez.com
Le 07/06/2010 à 12:16
Citation Envoyé par dlewin Voir le message
AH ?! je ne vois pas pourquoi; mais on va pas partir sur ce genre de débat sans fin n'est ce pas ?
je répondais au fait que quelqu'un sous entendait que je n'ai pas d'expérience, je ne sais pas de quel débat tu parles, donc difficile pour moi de lancer volontairement quoi que ce soit.

Citation Envoyé par dlewin Voir le message
c'est d'autant plus vrai ce que tu dis là qu'il faut probablement voir (savoir?) que l'on ne fait que de parler d'outil, Vim, UE , etc ne sont à la fin que des outils !! Alors un outil qui te fasse gagner du temps sur les tâches de mon métier, c'est un gain en productivité.
oui, mais ne mélangeons pas coder intelligemment et coder vite, on peut tout aussi bien coder vite et salement que lentement et proprement, le tout pour arriver au même but. Je n'aime simplement pas l'amalgame entre bon développeur et développeur rapide.
1  0 
Avatar de GanYoshi
Membre chevronné https://www.developpez.com
Le 10/06/2010 à 16:05
Si les gens sont plus efficaces en utilisant emac, c'est logique qu'ils continuent d'utiliser emac non ?

Personnellement, j'ai encore jamais été assez motivé pour me lancer dans la phase d'apprentissage d'un tel outils.

Mais le jour où j'aurais le temps pourquoi :-)
1  0 
Avatar de jabbounet
Membre expert https://www.developpez.com
Le 10/06/2010 à 16:40
Citation Envoyé par ManusDei Voir le message
Uniquement les bases. Ce que je voulais faire remarquer à SurferIX, c'est qu'il connaît vim emacs sur le bout des doigts, mais pas Eclipse.

Il me semble que l'éditeur importe peu (en tant qu'éditeur, car taper du texte, on pourrait le faire sur le bloc-note ou directement via le shell), mais que justement c'est les fonctions autour qui font la différence maintenant.
Personellement j'en suis au point ou j'adapte mon outil (emacs) à mes besoins, si je ne trouve pas la fonction que je recherche nativement ou sur le net (grace à la communauté de développeur qui est plutot importante), je retrousse mes manches et je le code moi même.

Dernièr code perso en date sous emacs/lisp:
  • création d'un mode pour un/des langage(s) obscur(s) et/ou propriétaire(s) (coloration syntaxique + quelques appel de prog spécifique à cet environnement)
  • calcul de trames diameter (rfc3588) en hexa pour vérifier qu'un encodage était correct.
  • coloration syntaxique d'un fichier de log ayant un format propre d'une application+possibilité de pointer directement a la ligne du source qui a généré l'erreur (simple ajout d'une regexp sur le compilation-mode)
  • Quelques trucs pour être plus efficaces avec maven (mais la je suis parti d'un existant sur le net)


Maintenant je ne me vois pas passer à eclispe et arriver au même niveau dans un temps relativement raisonnable pour ne pas impacter ma productivité.

Mon opinion concerant le troll sans fin sur les éditeur est le suivant:
Forcer quelqu'un a utiliser un éditeur plutôt qu'un autre c'est un peu comme demander a un plombier d'utiliser un marteau piqueur pour réparer des fuites.

chacun fait comme il le souhaite et prend la voie ou il sera le plus efficace (enfin il faut l'espérer), la seule chose que je m'autorise est de donner des conseil ou d'aider les gens a utiliser emacs si on me le demande, mais en aucun cas je ne leur force la main, certains de mes collègues l'utilise d'autres pas et ce n'est pas pour cela que l'on se fait la gueule.

maintenant j'aimerai rectifier certaines chose qui ont été dites sur emacs ou vim comme quoi ce n'est pas adapté à des gros projets, ce qui n'est pas très exact car je l'ai vu utilisé pour le développement et la maintenance d'applications relativement importantes, sans compter que la plupart des OS actuel ont certainement été dans leur premières versions développés avec ce type d'éditeur (normal les autres n'existaient pas encore ).
1  0 
Avatar de Florian Goo
Membre éclairé https://www.developpez.com
Le 10/06/2010 à 17:14
Citation Envoyé par jabbounet Voir le message
Mon opinion concerant le troll sans fin sur les éditeur est le suivant:
Forcer quelqu'un a utiliser un éditeur plutôt qu'un autre c'est un peu comme demander à un plombier d'utiliser un marteau piqueur pour réparer des fuites.

chacun fait comme il le souhaite et prend la voie ou il sera le plus efficace (enfin il faut l'espérer), la seule chose que je m'autorise est de donner des conseil ou d'aider les gens a utiliser emacs si on me le demande, mais en aucun cas je ne leur force la main, certains de mes collègues l'utilisent d'autres pas et ce n'est pas pour cela que l'on se fait la gueule.
C'est certain que forcer les gens à utiliser Vim ou Emacs (comme certains profs font, si j'en crois que ce qui est dit sur le forum), c'est une bien belle connerie !

Maintenant, le débat a à mon avis lieu d'être dans le cas où quelqu'un balance une ânerie du style « Mais qu'est-ce que c'est que cette horreur ? C'est vieux, moche, pas ergonomique… faut vraiment avoir la cinquantaine et être psychorigide pour refuser de passer à un outil plus évolué ! ».
1  0