[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ suivant ]
En deux mots : GNU Emacs. :)
Non, vraiment, c'est une excellente question. D'autres questions ?
OK, je vois que je ne m'en tirerai pas comme ça... Z'êtes pas gentils avec moi ! Tous les Emacsiens, quelle que soit leur religion euh, je veux dire leur choix entre Emacs et XEmacs, ont opté pour la Bonne Voie. Les différences qui restent sont des broutilles, non ?
Des broutilles qui ont conduit à un schisme qui dure depuis près de dix ans et à des querelles interminables à vous arracher le coeur entre des hackers[29] mythiques d'un côté comme de l'autre... Rien de bien méchant, en somme...
Pour comprendre la scission entre GNU Emacs, également appelé (à tort)[30] FSF Emacs car c'est soit-disant l'Emacs de la FSF[31], et XEmacs, il faut remonter à 1989-1992. Jamie Zawinski, alias JWZ, un hacker Unix renommé, travaillait à cette époque au sein de la société Lucid Inc. qui avait comme projet de réaliser un environnement de développement intégré pour le C et le C++ sous Unix.
Emacs apparaissait naturellement comme une très bonne base pour ce projet. Cependant, un tel produit nécessite une interface utilisateur soignée, ce qui n'était pas à la portée de la dernière version d'Emacs en 1992 (la version 18). GNU Emacs était la seule version « officielle » d'Emacs à cette époque mais depuis au moins 1990, probablement avant, existait une version patchée (modifiée) d'Emacs 18, appelée Epoch, et qui offrait précisément de meilleures fonctionnalités qu'Emacs au niveau interface utilisateur.
Cela dit, tout le monde, y compris les mainteneurs d'Epoch, envisageait d'intégrer certaines fonctionnalités d'Epoch dans Emacs 18 pour donner Emacs 19 et d'abandonner Epoch immédiatement après.
On a donc décidé chez Lucid Inc. d'attendre Emacs 19 pour réaliser l'environnement de développement (appelé Energize) sur des bases saines. Puis d'aider les développeurs d'Emacs 19[32] pour accélérer sa sortie, qui se faisait un peu trop attendre (longtemps annoncée comme devant se produire really soon now (TM)).
Malheureusement, la collaboration entre Lucid Inc. et la FSF n'a pas du tout fonctionné et devant les impératifs de délais vis à vis de ses clients, Lucid Inc. a fini par décider de finaliser son travail sur ce qui aurait dû être le futur Emacs 19 afin de pouvoir l'intégrer à Energize. Lucid Emacs venait de naître.
En 1994, Lucid Inc. disparut et Jamie Zawinski passa Lucid Emacs à un nouveau mainteneur, Chuck Thompson (de la NCSA, où a été développé Epoch), qui le renomma XEmacs.
XEmacs devint assez populaire car notamment :
il était supérieur à GNU Emacs en plusieurs points ;
son développement était plus ouvert que celui de GNU Emacs (ouvert signifiant ici qu'il était plus facile de frayer son chemin si on voulait contribuer au développement d'XEmacs que pour GNU Emacs) ;
les points qui le différenciaient principalement de GNU Emacs (interface utilisateur) sont de nature à plaire vite au plus grand nombre...
Et voilà comment on se retrouve en 2001 avec deux Emacs concurrents et une
montagne de travail, de temps et de talents mal utilisés. Les personnes
impliquées se sont parfaitement rendu compte de l'ampleur du problème qu'allait
poser la scission en 1992 ; de nombreux efforts ont été faits pour l'éviter,
mais ce fut en vain. Les deux camps n'ont pu se réconcilier. Je vous
conseille à ce sujet le document suivant : http://www.jwz.org/doc/lemacs.html
,
écrit par Jamie Zawinski, à partir duquel j'ai écrit ce bref historique, et qui
contient une archive conséquente de mails échangés entre les principaux
protagonistes à l'époque de la scission.
Voici les principales différences entre GNU Emacs et XEmacs à l'heure actuelle (2 février 2002) selon mon point de vue :
XEmacs gère (de manière très simple) des packages, qui peuvent éventuellement faciliter l'installation d'un programme pour XEmacs par un débutant ; cela dit, l'installation d'un tel programme pour GNU Emacs est en général très aisée dès qu'on a quelques notions de base.
La situation a changé récemment (2013) : il y a désormais un système de gestion de packages installé par défaut dans Emacs 24 et que l'on peut installer à la main pour Emacs 23.
les choix relatifs à l'interface graphique ont été quelque peu différents entre GNU Emacs et XEmacs. Pour XEmacs, on dispose depuis longtemps d'une « belle » interface, avec d'énormes boutons pour ouvrir un fichier ou faire un copier/coller. Dans le cas de GNU Emacs, cette interface est restée, jusqu'à la version 20 incluse, nettement plus sobre, voire franchement moins esthétique mais plus fonctionnelle à mon sens.
Depuis Emacs 21 (sorti le 22 octobre 2001), l'interface de GNU Emacs est à la fois belle et fonctionnelle (une fois qu'on a supprimé la barre de boutons ! ;-).
dans le même ordre d'idées, les menus par défaut d'XEmacs sont extrêmement fournis. Beaucoup trop pour un débutant, à mon avis. À l'inverse, les menus par défaut de GNU Emacs sont beaucoup plus raisonnables et laissent à l'utilisateur éclairé la possibilité de les étendre comme cela lui plaît.
Note : les menus d'Emacs 21 ont été complétés et réorganisés pour ne pas dépayser les utilisateurs d'un système d'exploitation encore majoritaire chez les particuliers. De plus, Emacs 21 permet d'ajouter des tooltips (bulles contenant une aide typiquement d'une ligne) permettant de se faire une idée plus claire de ce que fait un élément de menu en laissant traîner le pointeur souris dessus quelques instants.
il est plus facile de participer au développement du coeur d'XEmacs qu'à celui de GNU Emacs ;
les développeurs d'XEmacs ont été moins stricts vis à vis des licences des diverses portions de code constituant XEmacs que la Free Software Fundation ne l'a été vis à vis d'Emacs de sorte que la FSF ne peut accepter XEmacs comme composante du projet GNU (il lui manque certains papiers légaux, les auteurs de certains fragments de code, etc.) et ne peut, toujours pour les mêmes raisons légales, prendre du « bon code » d'XEmacs pour le mettre dans GNU Emacs, alors que l'inverse est fait (ne serait-ce que parce qu'XEmacs dérive de GNU Emacs 18).
Le noyau d'XEmacs est encore pour une bonne partie directement issu d'Emacs 18 (ou de la version de travail qui aurait dû devenir GNU Emacs 19, appelez ça comme vous le souhaitez) ; il en découle que de nombreuses fonctions d'Emacs 20 en sont absentes, ce qui complique la réalisation des programmes pour XEmacs et prive l'utilisateur d'XEmacs des fonctionnalités qu'elles apportent. Je pense que le code de GNU Emacs est en moyenne plus propre que celui d'XEmacs.
XEmacs porte un nom qui fait croire aux débutants qu'il est « la version X d'Emacs » et donc qu'Emacs se cantonne à la console. Ça m'énerve. :)
En dehors de ces différences et hors du domaine de la programmation, l'utilisation d'Emacs ou de XEmacs diffère assez peu car la plupart des programmes conséquents développés pour l'un ou pour l'autre ont été modifiés afin de fonctionner sur les deux.
Pour terminer, maintenant que vous connaissez mon point de vue sur la question,
une petite mise en garde : vous trouverez sur Internet quelques comparatifs
entre Emacs et XEmacs comme http://www.xemacs.org/About/XEmacsVsGNUemacs.html
.
Soyez méfiant ! Ce comparatif est biaisé et dépassé (par exemple, Emacs 21
n'est pas « soon available » au 2 février 2002 : il est sorti le 22 octobre
2001). La même méfiance est de rigueur vis à vis du document que vous êtes en
train de lire !
On y est, vous savez tout ; à vous de choisir !
[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ suivant ]
À la découverte de GNU Emacs
Version 1.37 (1er février 2019)mailto:f . rougon (**AT**) free [point] fr