Je suis d'accord que mettre en évidence certaines différences et points communs entre fonctions est intéressant. Ceci dit, pour revenir à ta remarque, l'avantage d'écrire (plus 2 3) c'est potentiellement justement que l'élève peut être amené à se poser des questions de commutativité, etc. qu'il ne se posera jamais si c'est écrit de la façon à laquelle il est habitué en cours de maths. Il y a sans doute un intérêt pédagogique aussi à écrire les choses de façon différente à son cours de maths, et donner des exemples qui justifient cela, comme mettre un effet de bord sur un des arguments, et s'apercevoir qu'en fait + n'est pas forcément commutatif dans tous les langages de programmation (ou plutôt, qu'il ne l'est que dans de rares langages).
Et par "quelque magie", j'entendais qu'écrire certaines fonctions avec des syntaxes spéciales peut carrément conduire l'élève à penser qu'il ne s'agit même pas d'une fonction, et ne pas faire le lien avec une fonction "normale".
[^] # Re: Syntaxe lispienne, est-ce bien raisonnable ?
Posté par anaseto . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 4.
Je suis d'accord que mettre en évidence certaines différences et points communs entre fonctions est intéressant. Ceci dit, pour revenir à ta remarque, l'avantage d'écrire
(plus 2 3)c'est potentiellement justement que l'élève peut être amené à se poser des questions de commutativité, etc. qu'il ne se posera jamais si c'est écrit de la façon à laquelle il est habitué en cours de maths. Il y a sans doute un intérêt pédagogique aussi à écrire les choses de façon différente à son cours de maths, et donner des exemples qui justifient cela, comme mettre un effet de bord sur un des arguments, et s'apercevoir qu'en fait + n'est pas forcément commutatif dans tous les langages de programmation (ou plutôt, qu'il ne l'est que dans de rares langages).Et par "quelque magie", j'entendais qu'écrire certaines fonctions avec des syntaxes spéciales peut carrément conduire l'élève à penser qu'il ne s'agit même pas d'une fonction, et ne pas faire le lien avec une fonction "normale".