Page 1 sur 1

EMACS : EDITOR OF THE GODS ? [troll inside]

Publié : 04 janv. 2008 16:48
par 19oj19
[mod="shyguy "]Sujet divisé depuis le sujet sur la programmation sur demande de Rayy (et Urd :nerd:), à la suite du post d'Urd sur emacs[/mod]
Urd a écrit :
agent069 a écrit :Ouais c'est un peu le truc relou des études, un jour tu te fait chier avec des trucs pas possible, et 6 mois un an après, on te montre un truc qui permet de resoudre ton problème en 2 secondes sans risque de se planter. Je crois que les profs sont des individus malfaisants et sadiques :(
Ils font bien au contraire, lorsque je code, je code toujours dans le bloc-notes ou sur emacs. Et je les vois ceux qui sont habitués à être assistés, leurs programmes ne marchent pas ou ne font pas ce qu'ils veulent. En C++ je code sous emacs.

Emacs powa ! 8)
Disons que le combo emacs+ligne de commande, c'est bien au début. Après, sur des gros projets, les IDE te facilitent pas mal la vie^^

Publié : 04 janv. 2008 16:54
par Urd
19oj19 a écrit :Disons que le combo emacs+ligne de commande, c'est bien au début. Aaprès, sur des gros projets, les IDE te facilitent pas mal la vie^^
C'est vrai, j'avoue utiliser NetBeans lorsque je n'ai pas le temps. ^^
Spoiler:
Mon stage cet été qui comportait quelques milliers de code, je l'ai fait sous emacs+ligne de commande. :oops:

Publié : 04 janv. 2008 17:14
par agent069
'tain emacs comment ca me pétait les couilles avec ses raccorcis clavier Linux à la con :lol: Mais c'est vrai que c'est bien fait comme éditeur, c'est très propre, ca fout pas des saloperies partout et ca indente bien :coeur:

Publié : 04 janv. 2008 19:20
par Le poussin
Urd a écrit :Ils font bien au contraire, lorsque je code, je code toujours dans le bloc-notes ou sur emacs. Et je les vois ceux qui sont habitués à être assistés, leurs programmes ne marchent pas ou ne font pas ce qu'ils veulent. En C++ je code sous emacs.

Emacs powa ! 8)
Comme le dit agent069, emacs ça pue. :x Les raccourcis sont tellement longs que ce ne sont plus des raccourcis et c'est pas intuitif pour deux sous.

Vim srox ! 8)
(Un troll classique... :P)

Publié : 04 janv. 2008 19:45
par Urd
Les raccourcis ça s'apprend puis ça devient intuitif à force. :twisted:

Publié : 04 janv. 2008 19:46
par Rayy
je préfère des éditeurs comme kate sous Linux, sous windows j'utilise notepad ++ en général, mais pour ce qui est prog Java, j'ai un faible pour eclipse, pyscripter pour du python :oops:

Publié : 04 janv. 2008 19:47
par Chat-Minou
Ctrl + X / Ctrl +S - le seul que je me souvienne après 5/6 ans de non utilisation d'emacs :lol:

Publié : 04 janv. 2008 19:49
par Urd
Rayy a écrit :sous windows j'utilise notepad ++ en général
Tu programmes....... sous windows ? o_O



edit : j'avais pas vu que tu codais en C#, mea culpa. :lol: :mdr2: :grostroll:

Publié : 04 janv. 2008 19:55
par Rayy
bah même eclipse je le fais tourner sous Windows, pyscripter aussi. J'aime bien Windows :taptor:
Mais depuis que je connais Fedora, je me surprends à programmer sous Linux. (quoique le C et le C++ c'est toujours sous Linux pour moi)

Publié : 04 janv. 2008 20:21
par Le poussin
On peut très bien coder sous Windows avec les mêmes outils que sous Linux : gcc, make, vim/emacs, bash, ... ;)

Les raccourcis ça s'apprend puis ça devient intuitif à force. :twisted:
L'avantage quand c'est de base intuitif c'est que tu n'as pas besoin de les apprendre, et du coup tu ne les oublies pas. ;)
Et puis au bout d'un moment, tu manques sérieusement de raccourcis si tu ne veux pas te tordre les doigts. :P

Publié : 04 janv. 2008 20:25
par Rayy
Non mais emacs j'aimais déjà pas ça sous linux j'allais pas l'installer sous windows :lol:

Publié : 04 janv. 2008 20:42
par Urd
Le poussin a écrit :On peut très bien coder sous Windows avec les mêmes outils que sous Linux : gcc, make, vim/emacs, bash, ... ;)
Je n'ai pas testé ces outils sous windows mais pour avoir utilisé la même version de NetBeans pour un programme JAVA sous Windows et Linux, NetBeans ne voulait pas me compiler le programme sous Linux alors qu'il le faisait sous Windows. Et l'exécutable (compilé sous Windows) ne fonctionnait que sous Windows et pas sous Linux alors que l'avantage de JAVA est sa portabilité.

(edit : la version de JAVA était aussi identique entre les 2 OS)

C'était un simple problème de codage des caractères mais bon...

Même problème en C++, où mon binôme programmait sous Visual Studio (Windows) et que le programme ne tournait pas chez moi (sur g++) et m'indiquait des erreurs. Le programme lui rendait des résultats alors qu'il ne m'en renvoyait pas. On s'est rendu compte (un peu trop tard) que les résultats renvoyés étaient bidons.

Depuis j'ai totalement arrêté de programmer sous Windows. \o/
L'avantage quand c'est de base intuitif c'est que tu n'as pas besoin de les apprendre, et du coup tu ne les oublies pas. ;)
Et puis au bout d'un moment, tu manques sérieusement de raccourcis si tu ne veux pas te tordre les doigts. :P
Qu'est-ce que tu appelles intuitif en premier lieu ? Un "Ctrl+F" pour faire une recherche n'est pas plus intuitif qu'un "Ctrl+S" sous emacs. Si tu prends dès le départ les réflexes d'emacs alors tu n'as plus de soucis.

Publié : 04 janv. 2008 21:08
par Le poussin
Urd a écrit :Et l'exécutable (compilé sous Windows) ne fonctionnait que sous Windows et pas sous Linux alors que l'avantage de JAVA est sa portabilité.
C'est ça qui est marrant avec le Java : les quelques avantages ne sont même pas valables. :D
Même problème en C++, où mon binôme programmait sous Visual Studio (Windows) et que le programme ne tournait pas chez moi (sur g++) et m'indiquait des erreurs. Le programme lui rendait des résultats alors qu'il ne m'en renvoyait pas. On s'est rendu compte (un peu trop tard) que les résultats renvoyés étaient bidons.
Ça dépend si le code est portable aussi, et je doute que VC++ en fasse. ;)
Pour faire du code portable, vaut mieux utiliser le même compilateur des deux côtés.
Qu'est-ce que tu appelles intuitif en premier lieu ?
Quand les commandes/raccourcis suivent une certaine logique et sont construits un peu comme du Lego. À partir des briques de base tu vas intuitivement "trouver" d'autres commandes en les combinant.
Un "Ctrl+F" pour faire une recherche n'est pas plus intuitif qu'un "Ctrl+S" sous emacs. Si tu prends dès le départ les réflexes d'emacs alors tu n'as plus de soucis.
Le problème c'est que lancer une recherche et enregister sont des commandes vraiment très basiques, avec juste ça tu ne vas pas très loin.
Le fonctionnement modal de Vim permet de libérer un très grand nombre de touches pour effectuer des commandes (toutes les touches du clavier en gros). Du coup, certaines actions "complexes" peuvent être très rapides à exécuter. Dès qu'on commence à maîtriser un peu on gagne beaucoup de temps.

Un autre truc, même s'il ça n'est pas utile à tout le monde, c'est que les raccourcis sont fait de telle manière que le logiciel puisse être pleinement fonctionnel en ligne de commande : certains raccourcis plus ou moins standard sont déjà utilisé par les terminaux (Ctrl+S pour bloquer le terminal, Ctrl+M comme équivalent d'Enter, ...) et d'autres ne sont pas réalisables (raccourcis Alt+Maj, Ctrl+Alt, ...). Quand on fait de l'administration de serveurs (par exemple) on n'a pas toujours de session X ou de terminal correct. Avec emacs, certaines commandes risque de ne fonctionner dans un environnement "hostile". :P

Publié : 04 janv. 2008 21:20
par Urd
Le poussin a écrit : Ça dépend si le code est portable aussi, et je doute que VC++ en fasse. ;)
Pour faire du code portable, vaut mieux utiliser le même compilateur des deux côtés.
Je sais, c'est ce qu'on s'est dit au départ. Mais vu la simplicité (relative) du code, et les résultats obtenus, il y avait bien un problème chez VS. C'était des problèmes de segmentation qui étaient mal gérés.
Le poussin a écrit : Le problème c'est que lancer une recherche et enregister sont des commandes vraiment très basiques
Mon exemple était volontairement basique. Mais pour pouvoir comparer emacs avec Vim, il faudrait que je connaisse ce dernier... je verrai ça si j'ai le temps...

Je ne sais pas si on peut bosser par ssh sous Vim, en tout cas on le peut sous emacs, et c'est agréable de pouvoir bosser de chez soi. (y)

Publié : 04 janv. 2008 21:22
par agent069
Bah c'est jamais qu'une question d'habitude mais c'est chiant quoi, surtout que la plupart des gens font du windows, ca devrait être les raccourcis standard utilisé partout en informatique. Mais bon ca doit faire bander les linuxiens ^^

Publié : 04 janv. 2008 22:15
par Le poussin
Urd a écrit :Je sais, c'est ce qu'on s'est dit au départ. Mais vu la simplicité (relative) du code, et les résultats obtenus, il y avait bien un problème chez VS. C'était des problèmes de segmentation qui étaient mal gérés.
Parfois les problèmes de portabilité sont assez subtils. Par exemple sous Solaris, écrire un int 32 bits à une adresse non alignée sur 4 octets donne un joli bus error. Y'a souvent des petits détails auxquels il faut faire attention, mais c'est surtout une question d'habitude.
Le poussin a écrit :Je ne sais pas si on peut bosser par ssh sous Vim, en tout cas on le peut sous emacs, et c'est agréable de pouvoir bosser de chez soi. (y)
Bien sûr qu'on peut. Un terminal tout ce qu'il y a de plus basique suffit. ;)
Bah c'est jamais qu'une question d'habitude mais c'est chiant quoi, surtout que la plupart des gens font du windows, ca devrait être les raccourcis standard utilisé partout en informatique. Mais bon ca doit faire bander les linuxiens ^^
Y'a quelques héritages historiques, et puis parfois les raccourcis usuels ne collent pas à la logique de l'éditeur (c'est le cas pour Vim qui est quand même atypique). Et rien ne t'empêche de changer les mappings.

Publié : 04 janv. 2008 22:53
par Mayem
Tain le topic d'ultra-nerds ! :oscar:

J'ai des notions de HTML et LaTeX. :prof:

:out1:

Publié : 04 janv. 2008 22:55
par Urd
Le poussin a écrit : Parfois les problèmes de portabilité sont assez subtils. Par exemple sous Solaris, écrire un int 32 bits à une adresse non alignée sur 4 octets donne un joli bus error. Y'a souvent des petits détails auxquels il faut faire attention, mais c'est surtout une question d'habitude.
Et lorsque le programme utilise un objet qui a été supprimé, tu penses que c'est toujours un problème de portabilité ? :wink:

Oui, sûrement... ça change rien au fait que VS c'est de la merde. :x :aimediredumaldeM$lorsqu'ils'agitdeprogrammation:

J'avais compris lors de mes cours de prog en C++ que ça devait renvoyer une erreur à l'exécution, ce que VS n'a pas fait.
Mayem a écrit :J'ai des notions de HTML et LaTeX. :prof:
LaTex, le prochain langage que je suis censé apprendre. :oscar:

Publié : 05 janv. 2008 00:11
par Le poussin
Urd a écrit :Et lorsque le programme utilise un objet qui a été supprimé, tu penses que c'est toujours un problème de portabilité ? :wink:
Là c'est un problème avec l'interface chaise/clavier (comme souvent). :P
J'avais compris lors de mes cours de prog en C++ que ça devait renvoyer une erreur à l'exécution, ce que VS n'a pas fait.
Ça, c'est pas garanti... ça dépend de comment l'OS gère sa mémoire. ;) C'est comme pour les bugs d'alignement de la mémoire qui peuvent arriver. Sous Linux ça gêne pas parce que l'OS fait les bidouilles nécessaires et ça ne se voit pas, mais le code pourrait être plus propre. D'ailleurs sous Linux y'a plusieurs libertés qui sont prises au niveau du respect des standards POSIX, certaines pas très jolis pouvant créer des failles de sécurité.

À ce propos, pour tout ce qui est debug des problèmes de mémoire sous Linux y'a valgrind qui est bien utile : il dresse un compte rendu des fuites mémoire, avertit quand on accède à des zones mémoire non initialisées, etc.

Mayem a écrit :J'ai des notions de HTML et LaTeX. :prof:
LaTex, le prochain langage que je suis censé apprendre. :oscar:
Latex c'est bien, ça permet de faire des documents très soignés, mais c'est très vite galère dès qu'on veut faire un truc un tout petit peu spécial/original. C'est typiquement un langage qui mériterait une bonne refonte. :)

Publié : 05 janv. 2008 19:36
par Thor
mdr Emacs...