OVH Cloud OVH Cloud

editeur et compilateur

125 réponses
Avatar
Lionel Gattegno
bonjour,

je suis nouveau dans la programmation en C et je recherche un bon éditeur
ainsi qu'un compilateur.
Je travaille sous windows.

Merci.
Lionel.

10 réponses

Avatar
Fabien LE LEZ
On 06 Dec 2003 15:45:10 +0100, James Kanze
wrote:

|> Vi et Emacs vont ils la complementation de code ??? Car je
|> trouve cela extrement pratique.

Emacs, au moins, a une commande « compile ».


Euh... Si je ne m'abuse, ce qu'il entendait par "complementation de
code", c'est "tu tapes le début d'une variable déclarée avant, et
l'éditeur te propose la fin". Perso, je trouve ça profondément
désagréable, mais je comprends qu'on puisse aimer.

--
;-)

Avatar
Gabriel Dos Reis
Fabien LE LEZ writes:

| Euh... Si je ne m'abuse, ce qu'il entendait par "complementation de
| code", c'est "tu tapes le début d'une variable déclarée avant, et
| l'éditeur te propose la fin". Perso, je trouve ça profondément
| désagréable, mais je comprends qu'on puisse aimer.

Étant paresseux par nature, j'aime bien la séquence M-/.
(Je n'aime pas taper repéter des identificateurs de plus de 4 lettres,
je fais toujours des erreurs).

-- Gaby
Avatar
Michel Michaud
Dans news:, Fabien LE
On 06 Dec 2003 15:45:10 +0100, James Kanze
wrote:

Vi et Emacs vont ils la complementation de code ??? Car je
trouve cela extrement pratique.



Emacs, au moins, a une commande « compile ».


Euh... Si je ne m'abuse, ce qu'il entendait par "complementation de
code", c'est "tu tapes le début d'une variable déclarée avant, et
l'éditeur te propose la fin". Perso, je trouve ça profondément
désagréable, mais je comprends qu'on puisse aimer.


Moi aussi je déteste que ça apparaisse automatiquement, mais
pouvoir le demander c'est vraiment commode (pour compléter des
identificateurs longs ou proposer des membres). Depuis que la
commande Ctrl+Espace existe sous VC, mes élèves semblent être
plus enclin aux identificateurs qui doivent parfois être plus
longs pour être suffisamment clairs...

--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/




Avatar
Marc Boyer
James Kanze wrote:
Marc Boyer writes:

|> > Si un débuttant va être dégouter par vim ou emacs, il
|> > vaut mieux qu'il change de métier. Ces éditeurs ne sont
|> > certes pas facile d'aborder, mais ils offrent une puissance dont
|> > on ne peut plus se passer une fois qu'on les connaît. Un peu
|> > comme C++, quoi.

|> Je te trouve dur avec les débutants.

Disons plutôt réaliste.


On parle peut-être pas des mêmes.

|> On ne donne pas envie de devenir médecin à quelqu'un en lui
|> faisant apprendre la liste des os de la main, on ne crée pas de
|> vocation d'écrivain en faisant lire le Grévisse, etc.

Certes. Et tu crois qu'on donne envie de devenir programmeur en
enseignant du C++ ?


Ca dépend quelle partie de C++ ;-)
Je ne me suis pas encore vraiment penché sur la question de
C++ pour les débutants. Tout dépend de tellement de choses:
autodidacte ou encadré, pour s'amuser ou avec vue professionnelle,
etc. Mes premiers codes, c'était pour dessiner des carrés en
couleur avec Basic. C'était très mal codé, mais j'avais 12 ans,
et ça m'amusait. On m'aurait fait faire de l'assembleur
maintenable avec vi, j'aurais décroché.

La question, ce n'est pas tellement d'en donner envie. L'envie, au moins
je le crois, devient en voyant ce qu'on en fait, non comment. L'envie
d'apprendre le piano, par exemple, ne vient pas en faisant les gammes,
mais en entendant d'autres jouer le piano. Mais ce n'est pas simplement
en entendant d'autres qui tu apprendras même un début de jouer le
piano. Et très vite, quand on apprend à jouer, on vient aux
gammes.


On a pas du avoir le même prof de musique...
D'une part, l'autodidacte commence rarement par des gammes,
et les bacs de musique sont pas mal remplis par des gens qui
ont découvert la guitare tout seul à l'oreille.
Et même encadre, les profs de musique (pour enfant au moins)
mixent gammes et morceaux simples.

La programmation, ce n'est pas quelque chose de facile. Pour la faire de
façon efficace, il faut bien maîtriser ses outils. Et cette
maîtrise passe par un certain nombre de choses qui ne sont pas
forcement agréables en soi ; on les apprend parce qu'on veut la fin,
et qu'ils sont le moyen d'y arriver. Un peu comme les gammes pour un
musicien, quoi.


Tu parles de visée professionnelle.

|> En effet, un débutant qui veut gouter à la prog, je
|> ne lui conseillerais ni vim ni emacs.

Ni à C++, non ? Malheureusement, on ne goûte pas à une
profession, ou une activité intellectuelle quelconque.


Hein ? On peut faire des vers chez soi sans se prétendre
poète, on peut bricoler ses étagères sans se dire menuisier,
on peut tailler ses roses sans se dire horticulteur, on
peut faire un sauté de veau sans se prétendre cuisinier,
etc.

On ne peut pas
goûter à jouer le piano -- il faut savoir qu'on le veut (pour
n'importe quelle raison), et s'y appliquer jusqu'à y arriver. Dans le
cas du piano, il y a au moins deux ou trois ans avant d'avoir la moindre
satisfaction. La programmation, c'est peut-être plus facile, mais il
faut s'y mettre quand même.


Je sais pas quel prof de piano tu as eut, mais avec 2-3
mois de piano, on peut commencer à s'amuser, à son niveau.
De même que le programmeur débutant est tout content
d'avoir programmé son jeu de pendu, il existe des petits
airs faciles et mignons.

Trouver l'exercice accessible et satisfaisant est d'ailleurs
un travail d'enseignant.

Mais je crois que cette discussion révelle des différences
de point de vue sur la notion d'apprentissage qui nous
séparent bien au delà du simple cadre du C++.

Marc Boyer
--
Lying for having sex or lying for making war? Trust US presidents :-(

Avatar
kanze
"Michel Michaud" wrote in message
news:<QKKAb.1713$...
Dans news:, James

Oui, mais pour en arriver là, il faut que l'élève ait déjà une
certaine envie de faire de la programmation.


En général, quand une personne est assise dans la classe, je considère
qu'il y a déjà une bonne motivation... (depuis plusieurs années, je ne
donne que des cours pour les gens inscrits en informatique.)


Dans ce cas-là, alors, je ne vois aucun problème à imposer vi ou emacs
comme éditeur de cours -- s'ils veulent apprendre, autant leur faire
utiliser les bons outils dès le début.

J'avoue qu'en ce qui concerne la programmation, j'avais toujours pensé
que ça devait être le cas -- on apprend la programmation parce qu'on a
déjà envie de programmer. Et donc, que le fait qu'un outil dont on doit
se servir intensivement par la suite exige un certain apprentissage
n'est pas en soi un problème.

Il y a eu cépendant une discussion récemment dans
comp.lang.c++.moderated où Francis a suggéré l'utilisation d'un langage
de programmation comme outil d'apprentissage de la logique mathématique.
J'avoue que l'idée ne m'était pas venue avant. Je ne sais pas si c'est
une bonne idée ou non ; il faudrait que j'y refléchisse. Mais si on
l'accepte, c'est clair que dans ce cas, les difficultés initiales que
peuvent donner emacs ou vi sont un problème.

--
James Kanze GABI Software mailto:
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16


Avatar
kanze
Fabien LE LEZ wrote in message
news:...
On 06 Dec 2003 15:20:53 +0100, James Kanze
wrote:

La programmation, ce n'est pas quelque chose de facile. Pour la faire
de façon efficace, il faut bien maîtriser ses outils. Et cette
maîtrise passe par un certain nombre de choses qui ne sont pas
forcement agréables en soi ; on les apprend parce qu'on veut la fin,
et qu'ils sont le moyen d'y arriver.


Ton argument serait valable si emacs était le seul éditeur disponible
pour C++.


C'est le seul qui vaut:-).

Sérieusement, je connais bien peu d'éditeurs qui sont réelement
puissants, et ils sont tous aussi complexe qu'emacs aussi. Qu'est-ce que
tu proposes d'alternatif ?

--
James Kanze GABI Software mailto:
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16


Avatar
kanze
Fabien LE LEZ wrote in message
news:...
On 4 Dec 2003 23:58:16 -0800, wrote:

Dévelloper du logiciel, ce n'est pas un simple bricolage ; ça exige
une certaine connaissance, qui ne s'acquiert pas en quelques heures.
Un bon programmeur maîtrise ses outils, que ce soit le langage de
programmation, l'éditeur ou simplement le clavier


Certes, mais bon, se battre avec le langage et avec l'éditeur en même
temps, c'est pas forcément facile.


En s'appliquant, on apprend assez d'emacs ou de vi pour commencer en
moins d'une journée. Par la suite, on apprend à fur et au mesure que les
besoins se font sentir.

Ou alors, si tu veux vraiment utiliser Emacs comme éditeur pour C++,
je conseille d'apprendre d'abord à se servir d'Emacs, et après[*]
seulement de commencer à apprendre le C++.


C'est une possibilité aussi. Je dirais en tout cas qu'avant d'apprendre
ou emacs ou le C++, on commence par apprendre ce que c'est qu'un
ordinateur, avec un système d'exploitation, qu'on sache par exemple
l'allumer et l'éteindre, faire des backups (eh, oui), et d'autres
petites bricoles, de préférence au niveau de la ligne de commande.

Et qu'on sache se servir d'un clavier. J'avoue ne pas comprendre comment
on peut sortir d'un lycée sans avoir apris quelque chose d'aussi
fondamental.

C'est comme pour la programmation Windows (GUI) et le C++ : je
conseille aussi de ne pas les aborder ensemble.


Tout à fait d'accord avec toi. Le C++, c'est un outil qu'il faut
maîtriser avant de s'attaquer aux applications qui s'en servent.

[*] au bout de quelques années ;-)


Mauvaise langue.

Quand j'ai commencé le C, les machines sur lesquelles j'ai travaillé
étaient trop petites pour supporter emacs -- j'étais venu un expert avec
vi. J'ai passé de C à C++ et de vi à emacs au même moment. Emacs m'a
fallu moins d'une semaine. Le C++ bien plus.

--
James Kanze GABI Software mailto:
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16


Avatar
kanze
Gabriel Dos Reis wrote in message
news:...
Fabien LE LEZ writes:

| Euh... Si je ne m'abuse, ce qu'il entendait par "complementation de
| code", c'est "tu tapes le début d'une variable déclarée avant, et
| l'éditeur te propose la fin". Perso, je trouve ça profondément
| désagréable, mais je comprends qu'on puisse aimer.

Étant paresseux par nature, j'aime bien la séquence M-/.


Tout à fait. Avant d'utiliser emacs, j'avais déjà l'habitude de me créer
des abbréviations, et puis de faire un coup de remplacement global à la
fin.

(Je n'aime pas taper repéter des identificateurs de plus de 4 lettres,
je fais toujours des erreurs).


Ce qui est AMHA le vrai avantage. Taper des noms un peu long ne me gène
que modéremment. Les tapper faux, en revanche, et ne m'apercevoir que
lors de la compilation, ça m'embête beaucoup plus. Avec M-/, même si je
fais une faute de frappe au début, je me rends compte tout de suite,
parce qu'emacs ne trouve pas la bonne résolution. (C'est ce que les
psychologues appellent de la gratification immédiate, je crois.)

--
James Kanze GABI Software mailto:
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16

Avatar
kanze
"Michel Michaud" wrote in message
news:<pdOAb.3498$...
Dans news:, Fabien LE
On 06 Dec 2003 15:45:10 +0100, James Kanze
wrote:

Vi et Emacs vont ils la complementation de code ??? Car je
trouve cela extrement pratique.



Emacs, au moins, a une commande « compile ».


Euh... Si je ne m'abuse, ce qu'il entendait par "complementation de
code", c'est "tu tapes le début d'une variable déclarée avant, et
l'éditeur te propose la fin". Perso, je trouve ça profondément
désagréable, mais je comprends qu'on puisse aimer.


Moi aussi je déteste que ça apparaisse automatiquement,


Ça dépend ce qu'il fait automatiquement. Achever un symbole sans que je
le démande, ça m'énerve toujours. (StarOffice/Open Office le fait, ce
qui me rend fou quand je fais ma comptabilité.) En revanche, j'ai bien
travaillé dans un environement où l'éditeur (emacs, en l'occurance)
générer l'en-tête (avec le copyright voulu par le client) chaque fois
que j'ouvrais un nouvel fichier .cc ou .hh -- pour les .hh, il générait
aussi les gardes contre l'inclusion multiple. Ce ne m'a pas gené.

Quand j'ai fait le Java, on avait un package pour emacs qui générait
aussi la charpente d'une classe, etc. Un espèce de Wizard. Je m'en suis
servi une ou deux fois, puis je me suis laissé tomber. Il y avait trop
de variations qu'il ne prévoyait pas, et donc, trop de corrections en ce
qu'il a généré, pour que ça valait la peine. Ce que je pourrais bien
imaginer, en revanche, c'est quelque chose du genre pour des catégories
bien spécifiques des classes -- je lui dis que je veux un itérateur à la
STL, par exemple, et il me génère tout le « boilerplate ».

mais pouvoir le demander c'est vraiment commode (pour compléter des
identificateurs longs ou proposer des membres).


La mode C++ en emacs est assez restreinte, mais comme j'ai dit, il
existe des modes extrèmement puissantes pour Java (JDE). Je me suis
aussi servi de quelque chose du genre pour HTML -- tu avais des
commandes assez simple (^C-quelque chose) pour la plupart des structures
HTML. Je ne vois pas pourquoi quelque chose de semblable ne pourrait pas
exister pour C++. L'importance, c'est qu'il ne fasse pas l'erreur de
JDE, à supposer qu'il n'y a qu'une seule façon d'écrire une classe.

--
James Kanze GABI Software mailto:
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16





Avatar
kanze
Luc Hermitte wrote in message
news:...
"Matt" wrote in
news:3fd2396d$0$22302$:

Merci pour ces renseignements. Je vais jetter un coup d'oeil.
Lequel me conseils tu ? (J'utilise VC++ introductory).


Bien ... j'aime énormément vim. Mais il est extrèmement déroutant au
début -- vu que c'est un éditeur modal (plusieurs modes de
fonctionnement), chose à des lieux de la philosophie des éditeurs
auxquels tu es habitué. Et puis ce n'est qu'un éditeur de texte (ni un
EDI/RAD, ni un OS)


Je ne sais pas. Quand j'étais chez Siemens, il y a plus de 15 ans, on
n'avait que vi, sur les machines Unix, et un système de traitement de
texte spécialisé. Un jour, le système de traitement de texte est tombé
en botte, et les secrétaires ont été obligées à utiliser vi. (On les en
avait tenu loin avant, en pensant comme toi.) Au but d'un démi journée,
elles ne voulaient plus retourner au système de traitement de texte.
Précisement parce que vi était modal -- qu'on n'avait pas besoins de
toutes ces contorsions des doigts pour déplacer le cursur, etc.

Moi-même, je n'utiliserais pas emacs s'il n'y avait pas la mode Viper.
Une émulation de vi.

--
James Kanze GABI Software mailto:
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16