Ok, je voulais resister, mais je mords. Samuel> traduire cet *algorithme* dans un langage qu'il comprenne
Julien> au sens strict on écrit dans un langage *que les humains comprennent*Julien> et qui sera ensuite traduit automatiquement (...) Julien> L'ordinateur ne comprend absolument pas les langages de programmation Le problème est que "comprendre" n'a pas une définition applicable à l'ordinateur! On pourrait dire que l'ordinateur comprend les langages de programmation, puisqu'il est capable de le compiler ou de l'interpréter. Et justement, le langage est écrit pour ca, meme s'il est humainement accessible; donc, on programme bien dans un *langage informatique*, composé artificiellement pour éviter l'ambiguité et la complxité lexicale et grammaticale du langage 'naturel' (humain), et pour communiquer des instructions et des informations à un ordinateur. Samuel> c'est le codage, Julien> Si on veut pinailler (...) personne en environnement professionnel Julien> ou amateur n'utilise le terme de codage. Julien> Seul les politiques et journalistes l'utilisent depuis 1 ou 2 ans. Tout a fait d'accord, code, coder, codage sont des expressions familières adoptées par le grand public (en Angleterre - pour la France, je vous laisse juge). Il faut bien accepter l'usage, et parler aux enfants dans les mots qu'ils entendent. Julien> enfin (...) il faut aussi nettement nuancer le fait que écrire du code soit *traduire des algorithmes en code*. C'est juste, écrire du code n'est pas que traduire des algorithmes. Mais comme *comprendre*, *coder *échappe a une définition précise. Je pencherais pour dire que *coder et programmer sont la meme chose, mais que "code" est la notion populaire*, plus empreinte d'une culture attachée a des langages en particulier, et d'un pragmatisme qu'on retrouve chez les passionnés, qui tendent a juger que rien n'a de valeur si ce n'est in-silico. Par cette definition, on peut parler de "code" à 14 ans, mais moins à 25, et d'ailleurs, quand j'entends un ministre dire "code", ça me fait le même effet que quand ils s'essayent au verlan - c'est un peu condescendant. Mais bon, c'est toujours mieux de de confondre pensée informatique et logiciels Microsoft, donc je ne veux pas trop cracher dans la soupe :) <http://listes.jecode.org/cgi-bin/mailman/listinfo/discussion> Vu la discussion, je réécrirais les définitions que j'avais proposées, comme ça: programme Les instructions données a un ordinateur ou à un robot pour lui faire faire ce qu'on veut. programmation C'est l'art d'écrire des programmes. Mais le plus difficile est de trouver qu'est ce que notre ordinateur ou notre robot doit faire. Langage Les ordinateurs et les robots ne comprennent pas le français. Pour programmer un ordinateur, il faut le faire dans un langage fait exprès, un langage *informatique*. Scratch est un de ces langages, parmi beaucoup d'autres. code Comme les langages informatiques sont précis et limités, quelquefois on les appelle "code". On parle de code, coder, et codage pour les programmes écrits dans un langage informatique. algorithme Souvent, des machines très différentes ont besoin de savoir faire les mêmes choses - sortir d'un labyrinthe, dessiner une ligne, trouver un nom dans une longue liste... On reconnait la même méthode programmée dans des langages différents. On dit qu'on a trouvé un *algorithme*. Un programmeur travaille aussi sur les algorithmes et pas seulement les programmes dans un langage en particulier. Il y a un contraste intéressant entre les définitions de Samuel et les miennes. Samuel écrit: *Un algorithme c'est une suite d'instructions ... Tout cela (tâche à accomplir->algorithme->code->programme) c'est la programmation.* Autrement dit, il part de la définition d'algorithme pour montrer une logique qui va du général au particulier, de l'abstrait au concret. Je fais l'inverse, suivant en cela mes souvenirs d'ado passionné qui m'ont mené du particulier (à des heures indues devant les Logabax de l'école) au général (les mathématiques et l'intelligence artificielle). Les deux points de vues ont leur intérêt. Ecrivant tout ça, je suis tenté d'en rajouter encore, d'affiner des détails, de préciser... Mais je crois qu'il faut éviter de nous focaliser sur des définitions parfaites, qui nous satisferaient, mais qui n'auraient aucun sens pour les enfants. Il vaut mieux une définition incomplète ou imparfaite, mais accessible et qui laisse la place à l'expérience, plutôt qu'un catéchisme scientifique que les enfants vont réciter par coeur. Charles
_______________________________________________ Discussion mailing list [email protected] http://listes.jecode.org/cgi-bin/mailman/listinfo/discussion
