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