• AgoraVox sur Twitter
  • RSS
  • Agoravox TV
  • Agoravox Mobile


Commentaire de lsga

sur Evolution du programme de maths en terminale scientifique


Voir l'intégralité des commentaires de cet article

lsga lsga 6 mai 2013 17:37

 la récursivité est un des 1ers trucs que j’ai appris en prog

ça devrait être le cas pour tout le monde. 
Le logo est excellent pour l’initiation à la programmation, et plus du tout utilisé aujourd’hui. 

 AutoCAD (logiciel de dessin technique 3D très répandu) permet d’écrire des macros en VBA (comme une appli Office), mais aussi en Lisp, ce que font certains d’utilisateurs.
Oui, on peut aussi rajouter Crash Bandicoot sur PS1, et l’excellent et indispensable roflbot :
http://wigflip.com/roflbot/

Plus sérieusement, la programmation certifiée sans bug, qu’on utilise de plus en plus pour les applications critiques (ex : cartes bancaires) recourent massivement à la « programmation récursive ». Quand on aura des OS codés en fonctionnel, avec preuve de non bug à côté, on aura enfin des ordinateurs qui marcheront convenablement.

Si les langages de type C ou Basic sont plus répandus, c’est parce que la majorité des programmeurs a pris l’habitude de travailler dans ces langages, et que par conséquent ils ont une meilleure productivité à l’aide de ces technos malgré leurs défauts.
C’est exactement le coeur du problème, qui est directement en rapport avec l’article : le problème est ce qu’on enseigne, la manière dont on l’enseigne, les différentes pensées scientifiques, et la disparition de la pensée récursive. Comme l’explique l’auteur, l’enseignement technique des ingénieurs vient « récursivement » ( smiley ) modifier l’enseignement des mathématiques. Or les ingénieurs ne savent plus utiliser convenablement la récursion, et on observe donc une disparition des raisonnements par récurrence des programmes mathématiques... 

Les langages découlant du Basic l’ont emporté sur la famille des LISP pour des raisons tout à fait secondaires (puissance de calcul dans les années 70), et absolument plus valables aujourd’hui. Mais, comme tout le monde a appris à utiliser ces langages mal conçus et générateurs de bugs, on continu. Papert fait le parallèle avec les claviers QWERTY, qui sont apparus à une époque où les systèmes des machines à écrire provoquaient le bug de croisement des tampons. Le Qwerty est totalement contre intuitif, coûte énormément (beaucoup de gens n’arrivent jamais à se servir convenablement d’un clavier à cause de cela), et pourtant .... On continue....

Seulement, sachant qu’il faut souvent partir du principe que le code produit doit pouvoir être repris rapidement par quelqu’un d’autre, il arrive un moment ou l’on nous fait comprendre avec insistance qu’à la satisfaction intellectuelle d’atteindre la pureté et l’universalité d’une fonction mathématique doit être préférée l’écriture de branchements par cas bien bourrins

Il faut bien comprendre que le IF STATEMENT est une cochonnerie dont on finira par avoir la peau, au même titre qu’on a eu la peau des GOTO et GOSUB. Beaucoup de programmeurs prétendent faire de l’objet, et il n’est pourtant pas rare de trouver dans leurs contrôleurs des Switch de plusieurs dizaines d’item... vive la maintenance dans ces conditions ! 

La logique des arbres (ex : Pattern Composite ) et de leur parcours par récurrence est beaucoup plus propre, beaucoup plus efficace, beaucoup plus facile à maintenir qu’une cochonnerie bourrée de IF. Simplement, l’absence de l’enseignement de la récursion dans les cours mathématiques à l’école fait que ce les cerveaux des ingénieurs n’arrivent plus à penser naturellement en récursion. 

Bref, il s’agit d’un gros problème, dont la conséquence est que nos programmes informatiques sont remplis de bugs. Je le répète, j’ai la forte intuition que ce phénomène en programmation a un pendant dans toutes les disciplines reposant sur le formalisme, économie et finance incluses. 

Voir ce commentaire dans son contexte





Palmarès