Bonsoir,
Je n’en attendais pas moins de vos réponses.

> Le 4 mars 2016 à 19:02, Julien Dorra <[email protected]> a écrit :
> 
> Hello, quelques mots en mode "c'est du détail, mais quand même" ;-)
> 
> 
> on doit lui traduire cet algorithme dans un langage qu'il comprenne :
> 
> Attention, car au sens strict on écrit dans un langage que les humains 
> comprennent et qui sera ensuite traduit automatiquement en langage machine. 
> L'ordinateur ne comprend absolument pas les langages de programmation 
> (puisqu'il a besoin soit d'un interpréteur, soit d'un compilateur pour 
> exécuter le programme).

Même s’il doit passer par plusieurs phases de traduction, cela reste bien 
l’ordinateur qui fait le boulot. (même si le terme comprendre est sans doute 
antropomorphique). C’est pour rester au niveau d’enfants de moins de 11 ans. On 
peut supposer également que les humains le comprennent puisque ce sont eux qui 
le génèrent. Mais je garde la nuance « langage compréhensible par les humains 
et les ordinateurs ». Compréhensible ? Accessible ? vous avez mieux en un seul 
adjectif/verbe ? Interprétable serait sans doute plus proche de l’informatique 
mais plus éloigné du vocabulaire enfantin.
> 
> C'est une nuance importante : les langages de programmation sont des langages 
> inventés avant tout pour faciliter la pensée et la collaboration des humains 
> (Même l'assembleur, au final).
> 
> 
> c'est le codage, 
> 
> Si on veut pinailler sur la question de la précision du langage, a priori 
> personne en environnement professionnel ou amateur n'utilise le terme de 
> codage. Seul les politiques et journalistes l'utilisent depuis 1 ou 2 ans.

Ah mais on est bien d’accord ! J’essaie de ne pas trop m’en offusquer 
justement. Ce terme est-il même toujours presque insultant dans le milieu que 
j’ai quitté il y a 10 ans ? (« pisseur de code »). Mais depuis les "coding 
gouters » (sortis quand ? il y a 4-5 ans ?) parisiens, on a apparemment pas 
trouvé mieux comme terme pour faire de la communication voire du marketing. 
Programmation et informatique ne sont plus en odeur de sainteté (et j’avoue ne 
pas avoir d’alternative non plus). Comme si les clubs informatiques pour les 
enfants n’avaient pas existés depuis 30-40 ans.

> Enfin, si on est sur la question de la compréhension par les enseignants, il 
> faut aussi nettement nuancer le fait que écrire du code soit traduire des 
> algorithmes en code.
> 
> En effet il existe depuis très longtemps des langages (qui sont considérés 
> comme minoritaires) qui ne sont pas impératifs (par ordres, par algorithme) 
> mais logique, déclaratif ou par contrainte : on définit non pas ce qu'on veut 
> que l'ordinateur fasse étape par étape, mais soit des relations, soit des 
> résultats à obtenir, soit des contraintes à résoudre.

Je n’ai je crois pas prétendu que tout code était algorithme. J’ai toujours une 
profonde admiration pour Prolog, et je regrette parfois d’avoir vendu mon 
Shapiro. Je me demande même si ce genre de langage ne serait pas plus "naturel 
». Mais comprendre du fonctionnement de son moteur « caché » ne reste pas à la 
portée de tout le monde, même des informaticiens habitués à d’autre types.

> 
> (dans les langages courants, SQL est un de ces langages orienté résultats, 
> déclaratif plutôt qu'impératif).

ou HTML comme je le citais, qui est plus un langage de description que de 
programmation (excusez approximation dans les appellations). Cela reste du 
code, mais pas de la programmation.
 
> 
> Une des manières de bien transmettre ce qu'est programmer, c'est de se 
> familiariser avec des paradigmes de programmations divers et même exotiques 
> (agents, évènementiel, fonctionnel pur, visual flow, etc. etc.) qui ne sont 
> pas tous à proprement parler la traduction d'algorithme (en tout cas au sens 
> classique d'une série d'opérations linéaire) en code.

J’en suis bien conscient, je restais surtout au niveau des élèves et de Scratch.
De ce que j’ai vu de certaines démarches comme l’atelier de français vu 
précédemment, dans le type d’erreurs rencontrées, on peut analyser avec des 
yeux d’informaticiens les origines des difficultés rencontrées par les enfants. 
Le typage faible par exemple. L’absence de boucle « for » pour utiliser plus 
facilement des variables de boucles. Et les évènements ?! C’est bien rigolo et 
pratique pour programmer des jeux vidéos, et ils restent dans les clous le plus 
souvent. Mais quand l’un d’eux a l’idée (ou par erreur) de programmer des 
évènement concurrentiels, cela n’est plus trivial du tout, surtout qu’on a 
aucun contrôle sur le moteur d’évènement (excusez encore mes appellations 
approximatives). J’avoue ne pas encore avoir cherché les règles de priorité de 
celui-ci dans la documentation.

En tout cas, je trouve la construction de la réponse à la question initiale 
particulièrement créative. Continuons :)

*-------------------------------------------=^_^=-------------------------------------*
  Samuel Chalifour                                                              
   
  37 rue Jean Jaurès
  88000 Épinal                                                            
  06 16 30 13 28                                       
  http://www.chalifour.fr  Skype : [email protected]
  http://tabs.chalifour.fr Twitter : @SamChaTICE
*-------------------------------------------=^_^=-------------------------------------*
_______________________________________________
Discussion mailing list
[email protected]
http://listes.jecode.org/cgi-bin/mailman/listinfo/discussion

Répondre à