Re: Haro sur le Langage C
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: [EMAIL PROTECTED]:~$ 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
Re: Haro sur le Langage C
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 [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: Haro sur le Langage C
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 [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: Haro sur le Langage C
Tout d'abord, toutes mes excuses pour la réponse en privé :( ... Le 13564ième jour après Epoch, [EMAIL PROTECTED] é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, > > 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 ;)
Re: Haro sur le Langage C
Selon François TOURDE <[EMAIL PROTECTED]>: > > 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 [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: Haro sur le Langage C
Le Tue, Feb 20, 2007 at 12:12:54PM +0100, François TOURDE a écrit : > Le 13564ième jour après Epoch, > [EMAIL PROTECTED] é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 [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: Haro sur le Langage C
-[ 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 [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]