OVH Cloud OVH Cloud

Programmation Langage C

51 réponses
Avatar
Alex PADOLY
Bonjour à tous,

je dois pour mon travaille programmer en C d'ici 10 à 12 mois,
pourriez-vous me donner le nom des principaux paquests à
installer pour programmer en mode "user".

Merci.

Cordialement.

Alex PADOLY

--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

10 réponses

1 2 3 4 5
Avatar
rixed
-[ Mon, Feb 19, 2007 at 03:20:01PM +0100, Stephane Bortzmeyer ]----
Oui, c'est une drôle d'idée. Pour des ingénieurs non informaticiens,
je ne vois pas bien l'intérêt.



Parceque :

a) Les ingénieurs ont parfois besoin d'écrire des programmes pour faire
des calculs ou des simulations,

b) que ces programmes doivent aller raisonnablement vite (ce qui exclus
tous les langages de script qui ont étés sités jusqu'ici),

b) en utilisant des bibliothèques de fonctions souvent largement écrites
en C,

c) qu'ils ont aussi besoin de comprendre et modifier des programmes
écris par autruits, et que la plupart de ces programmes, pour les
raisons données ci-dessus, sont aussi écrits en C,

d) et parceque le C est un langage simple, qui peut s'apprendre
étonnament bien avec le livre de K&R qui en fait le tour en 250 pages,

e) et parceque ces ingénieurs finiront informaticiens de toute manière.

Et j'ajoute : pour programmer en C, utilisez plutôt vi :-)



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Yves Rutschle
> P.S: Par contre je n'ai pas compris ce qu'il y avait de choquant à
apprendre le C avant le java, le python ou le perl etc... ???
Si quelqu'un peut m'expliquer?!



Quand on apprend à programmer, les difficultés les plus importantes sont
les découpages en algorithmes, en fonctions etc.

En C, tu ajoutes un tas de difficulités liées au matériel (ou du moins à
l'implémentation très bas niveau): on peut additionner 2 nombres
positifs, et avoir un résultat négatif; on peut adresser un tableau
n'importe comment et arriver n'importe où en mémoire; il faut des
pointeurs (avec une syntaxe pas évidente) pour faire un tas de choses,
etc. Et on ne parle même pas de la gestion de la mémoire, où tout est
fait à la main.

Ces difficultés n'apparaissent pas dans des langages de plus haut
niveau, où un nombre est un nombre, où l'on aggrandit les tableaux comme
il faut etc, tout ça automatiquement

Y.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
fra-duf-no-spam
Tout d'abord, toutes mes excuses pour la réponse en privé :( ...

Le 13564ième jour après Epoch,
écrivait:

-[ Mon, Feb 19, 2007 at 03:20:01PM +0100, Stephane Bortzmeyer ]----
Oui, c'est une drôle d'idée. Pour des ingénieurs non info rmaticiens,
je ne vois pas bien l'intérêt.



Parceque :

a) Les ingénieurs ont parfois besoin d'écrire des programmes po ur faire
des calculs ou des simulations,

b) que ces programmes doivent aller raisonnablement vite (ce qui exclus
tous les langages de script qui ont étés sités jusqu'ici),



Il y a d'autres langages qui vont assez vite, et qui sont peut-être
plus simple à apprendre que le C, surtout si on a jamais fait d'info
avant. Et puis "Apprendre à programmer" et "Apprendre le C" sont deux
choses différentes. Il vaut mieux commencer par l'une, puis l'autre,
non?

b) en utilisant des bibliothèques de fonctions souvent largement à ©crites
en C,



Je me soucie rarement du langage dans lequel les librairies sont
écrites. Elles s'interfacent assez facilement en général.

c) qu'ils ont aussi besoin de comprendre et modifier des programmes
écris par autruits, et que la plupart de ces programmes, pour les
raisons données ci-dessus, sont aussi écrits en C,



Là, d'accord.

d) et parceque le C est un langage simple, qui peut s'apprendre
étonnament bien avec le livre de K&R qui en fait le tour en 250
pages,



D'accord aussi.

e) et parceque ces ingénieurs finiront informaticiens de toute
manière.



Ah? Les pauvres. Exit leur compétence initiale?

Et j'ajoute : pour programmer en C, utilisez plutôt vi :-)



Oui. Il n'y a que quand on deviens bon en C qu'on passe a Emacs ;)
Avatar
gaetan.perrier
Selon François TOURDE :

> Et j'ajoute : pour programmer en C, utilisez plutôt vi :-)

Oui. Il n'y a que quand on deviens bon en C qu'on passe a Emacs ;)



Merde j'ai du régresser alors parce que j'ai fais l'inverse... ;)

Gaëtan


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
gaetan.perrier
Selon Yves Rutschle :

On Mon, Feb 19, 2007 at 03:20:01PM +0100, Stephane Bortzmeyer wrote:
> > Si tu programmes déjà, "Le Language C" de Kernighan et
> > Richtie est toujours très bien.
>
> Non, moi, je ne l'aime pas du tout, surtout pour des débutants, car il
> ne dit pas un mot des pièges et des problèmes du C.

"si tu programmes déjà", j'aurais peut-être du rajouter "en
Pascal ou en Ada".



Si un développeur C ne doit acheter qu'un seul bouquin c'est le K&R. Inusable!
Je ne suis pas un dieu du C mais ça fait quand même 17 ans que j'en fais dont 10
ans professionnellement, et le K&R reste mon bouquin de référence.
D'un autre côté je dois avouer que je n'ai pas beaucoup d'autre bouquin sur le
C, mais peut-être est-ce parce que le K&R répond à mon besoin...
Un défaut, j'ai l'édition C ANSI à couverture noire (acheté au siècle dernier)
et la reluire n'a pas tenu longtemps. Est-ce que les éditions actuelles sont
plus résistante?

Gaëtan


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Aurelien Roux
Le Tue, Feb 20, 2007 at 12:12:54PM +0100, François TOURDE a écrit :
Le 13564ième jour après Epoch,
écrivait:

> -[ Mon, Feb 19, 2007 at 03:20:01PM +0100, Stephane Bortzmeyer ]----
>> Oui, c'est une drôle d'idée. Pour des ingénieurs non informaticiens,
>> je ne vois pas bien l'intérêt.
>
> Parceque :
>
> a) Les ingénieurs ont parfois besoin d'écrire des programmes pour faire
> des calculs ou des simulations,



Perso, dans le cadre de ma thèse, avant de programmer en C/C++ (pour
effectivement, que ça aille vite), j'ai utilisé octave. C'est un langage
interprété (à la Matlab) avec tout ce que ça implique en termes de
lourdeur, etc., mais ça permet un défrichage vraiment efficace, d'autant
plus que de nombreux problèmes physiques (ou modèles) sont formalisés
sous forme matricielle (ou peuvent l'être).
En revanche, j'enseigne l'usage d'octave (enfin de Matlab, parce que le
libre, malheureusement, ne passe pas partout, mais bon...) à des élèves
en BAC+1 & 2, et là je me dis que ça pêche un peu. Autant l'usage du
langage est relativement, autant introduire l'algorithmie et la
programmation au moyen de ce langage n'est vraiment pas évident.
Perso, en BAC+1 & 2, j'avais du C/C++ en cours, et j'ai l'impression
qu'au final, ça ouvrait très bien à l'usage de langages interprétés, et
que ça permettait aussi de savoir un minimum ce qui se passait derrière.
(Note : c'était une formation d'acoustique, donc absolument pas orienté
informatique à l'origine, bien qu'il y ait du traitement du signal de
manière non-négligeable également).
Deuxième point négatif, mais c'est valable pour tous les langages de
programmation/simulation (j'exclus les les programmes de calcul formel),
il faut pouvoir à un moment donné expliquer ce qu'est un signal discret,
numérique, etc. car on ne manipule pas de continuum de données.


> b) que ces programmes doivent aller raisonnablement vite (ce qui exclus
> tous les langages de script qui ont étés sités jusqu'ici),



Et là, en effet, ça devient critique.



--
========================================================= Aurélien Roux


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Adrien Caillot
On Tue, Feb 20, 2007 at 12:12:54PM +0100, François TOURDE wrote :

Il y a d'autres langages qui vont assez vite, et qui sont peut-être
plus simple à apprendre que le C, surtout si on a jamais fait d'info
avant. Et puis "Apprendre à programmer" et "Apprendre le C" sont deux
choses différentes. Il vaut mieux commencer par l'une, puis l'autre,
non?



Je ne voudrais pas alimenter le tro^Wdébat inutilement, mais je suis
extrêmement surpris de voir tant de personnes affirmer qu'il vaut mieux
commencer par un autre langage que par le C. Je vois ça un peu partout,
c'est pourquoi j'ai envie de réagir.

Personnellement, je suis arrivé en IUT sans avoir jamais programmé. On
m'a fait faire du C dès la première heure de TP. Je n'a pas trouvé ça
particulièrement difficile (c'est plutôt l'écriture d'un algorithme que
je trouvais compliquée pour mon cerveau peu habitué à cet exercice, mais
pas le langage lui-même).

Donc j'ai appris le C sans difficulté particulière, et ensuite lorsque
j'ai appris d'autres langages (par exemple PHP et Java) ça me semblait
plutôt facile. Et je me souviens qu'il en était de même pour les
camarades de ma promo.

Ensuite, je suis allé en licence. Là, certains faisaient du C pour la
première fois. Suivant les cas, ils avaient commencé avec Java ou Visual
Basic (ou Pascal ?). Ils trouvaient le C difficile et avaient de grosses
difficultés avec les pointeurs par exemple. Un an plus tard, en master,
les mêmes faisaient à peine la moitié des projets que ceux qui avaient
fait l'IUT avant pouvaient faire à peu près en entier.

En master 2, je ne sais pas, car j'ai quitté la fac avant, mais je me
souviens que le prof responsable du C trouvait que les étudiants étaient
médiocres en C... mis à part ceux qui venaient de l'IUT.
Par contre, jamais un prof ne s'est plaint que ceux qui venaient de
l'IUT étaient moins bons en Java que ceux qui avaient commencé avec Java,
pourtant il y avait beaucoup de Java aussi.

La morale de cette histoire : commencez avec le C.

Après c'est seulement mon avis, mais je me base sur ce que j'ai vu dans
des promos comprenant entre 60 et 100 personnes, donc pas des cas
isolés.


--
"Les majors c'est comme la prison. Une fois que tu y as goûté, tu ne
veux surtout pas y retourner !"
-+- Sébastien (Scratch Massive) -+-


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Yves Rutschle
On Tue, Feb 20, 2007 at 06:49:52PM +0100, Adrien Caillot wrote:
Je ne voudrais pas alimenter le tro^Wdébat inutilement, mais je suis
extrêmement surpris de voir tant de personnes affirmer qu'il vaut mieux
commencer par un autre langage que par le C. Je vois ça un peu partout,
c'est pourquoi j'ai envie de réagir.



[...]

Je pourrais raconter globalement la même histoire avec un
DUT GEII et du Pascal donc:

La morale de cette histoire : commencez avec le C.



La morale de cette histoire, c'est que ceux qui sortent de
DUT sont bons, alors que ceux qui sortent de licence sont
nuls.

Trop gros, passera pas ;-)

Y.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Leon GRAY
Yves Rutschle wrote:
P.S: Par contre je n'ai pas compris ce qu'il y avait de choquant à
apprendre le C avant le java, le python ou le perl etc... ???
Si quelqu'un peut m'expliquer?!



Quand on apprend à programmer, les difficultés les plus importantes sont
les découpages en algorithmes, en fonctions etc.

En C, tu ajoutes un tas de difficulités liées au matériel (ou du moins à
l'implémentation très bas niveau): on peut additionner 2 nombres
positifs, et avoir un résultat négatif; on peut adresser un tableau
n'importe comment et arriver n'importe où en mémoire; il faut des
pointeurs (avec une syntaxe pas évidente) pour faire un tas de choses,
etc. Et on ne parle même pas de la gestion de la mémoire, où tout est
fait à la main.

Ces difficultés n'apparaissent pas dans des langages de plus haut
niveau, où un nombre est un nombre, où l'on aggrandit les tableaux comme
il faut etc, tout ça automatiquement

Y.





Ce que je voulais dire, c'est qu'à mes yeux, les autres langages de
programmation (enfin beaucoup, pas tous) s'inspirent du C pour en
proposer des améliorations ou rajouter des spécificités particulières.

Par exemple, le C++ dérive du C, le java du C++ (donc du C), etc...

Le C me semble donc être un langage qui permet d'avoir plus rapidement
les bases des autres langages. (Je pense qu'on pourrait le qualifier de
"latin" de l'informatique).

En ce sens, il me semble plus pratique de commencer par le C.

De même, le C nous force souvent à coder à la main ce que d'autres
langages peuvent faire directement via une fonction.
Pour certains c'est surement un inconvenient, mais personnelement je
trouve ça bien plus instructif de devoir recoder les fonctions dont je
vais me servir.

Conclusion: Le C, un langage difficile et avec des défauts certe, mais
instructif.
De plus c'est un langage qui permet de faire le liens entre des langages
de bas-niveau comme l'assembleur et d'autres langages de plus haut niveau.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Arnaud Delobelle
On 20 Feb 2007, at 17:49, Adrien Caillot wrote:

On Tue, Feb 20, 2007 at 12:12:54PM +0100, François TOURDE wrote :

Il y a d'autres langages qui vont assez vite, et qui sont peut-être
plus simple à apprendre que le C, surtout si on a jamais fait d'info
avant. Et puis "Apprendre à programmer" et "Apprendre le C" sont deux
choses différentes. Il vaut mieux commencer par l'une, puis l'autre,
non?



Je ne voudrais pas alimenter le tro^Wdébat inutilement, mais je suis
extrêmement surpris de voir tant de personnes affirmer qu'il vaut
mieux
commencer par un autre langage que par le C. Je vois ça un peu
partout,
c'est pourquoi j'ai envie de réagir.



[...]

Moi aussi ! Et je ne suis pas étonné que tu te sois trouvé avantagé
par rapport à ceux qui ont commencé par java, qui combine le pire des
deux mondes : loin du métal, et plein de mots clé au sens obscur
(public static blah blah...)

Je ne comprends pas non plus pourquoi certains sont si hostiles au C
comme language d'apprentissage. Ce mêmes personnes recommandent-elles
d'apprendre à conduire avec une voiture à boite automatique ?

D'autre part Python, que certains recommandent (et qui est un de mes
favoris) est *très* compliqué. Classes, métaclasses, itérateurs,
décorateurs, générateurs sont des concepts qu'à mon humble avis il
est sage d'éviter au début. De plus ils ne sont vraiment utiles que
si l'on comprend les problèmes qu'ils résolvent. Beaucoup de ces
problèmes deviennent apparents au programmeur qui utilise le C. Il
peut alors choisir *en connaissance de cause* quelle solution
adopter: python, ruby, lisp, haskell, ML, C++, (java?), etc.

Je ne prétends pas qu'il faille absolument commencer par le C mais je
pense que c'est une approche qui en vaut largement une autre. Elle
permet de comprendre beaucoup d'aspects de la programmation qui, même
s'ils sont cachés au début, sont présent dans tous les langages. Par
exemple les pointeurs, même s'ils "n'existent pas" en python, sont
essentiels à sa compréhension:

:~$ python
Python 2.4.4 (#2, Jan 13 2007, 17:50:26)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a=[1,2]
>>> b=a
>>> a[0]=0
>>> b
[0, 2]
>>>

Le langage que je connais qui s'abstrait le plus de ces concepts
"près du métal" est caml, mais je ne pense pas qu'il soit à
conseiller pour un débutant non versé dans le lambda-calcul...

--
Arnaud
1 2 3 4 5