Salut,
Citation:
Envoyé par
Kannagi
deja je code souvent en assembleur je trouve pas un ARM Cortex facile a programmer alors faire un programme complexe dessus n'en parlant pas.
Je suis 100% d'accord.
Pourquoi ?
Dans un cursus d'électronique comme j'ai fait, tu apprends :
Comment fonctionne deux microcontrôleurs en longs en larges et en travers. Un CISC et un RISC. On apprend même comment les opcodes font dérouler l'Unité Arithmétique et Logique dans le processeur (un truc de dingue quoi :aie:) autrement dit et passez moi l'expression.... si un microcontrôleur a un trou de balle, on m'a montré où il est et comment il fonctionne :D ! Sans déconner, on est allé beaucoup trop loin je pense. Nous aurions su nous en servir avec bien moins d'informations que ça mais c'était aussi pour assurer une transition plus douce vers le VHDL et les FPGA. Puis on programme en assembleur comme c'est pas permis pour maîtriser les registres, la pile, le tas, les modes d'adressage, les timings d'exécution, etc... Bref tout l'intérieur.
Et arrive un moment le prof doit te faire basculer sur le langage C car c'est au programme. Problème, a ce stade tu es complétement accro à l'assembleur puisque tu ne connais que ça alors le prof t'emmène volontairement droit dans le mur en demandant un programme trop complexe. Et là tu comprends. Tu comprends que l'assembleur est précis comme une paire de ciseaux et que le projet que le prof t'a confié consiste a tondre une pelouse.
Nous sommes tous d'accord, avec une paire de ciseaux on peut tondre une pelouse. Ça va être plus fatigant (et pas qu'un peu :D), on va se rendre compte qu'il fallait aussi ramasser l'herbe (double de boulot :?), en ramassant l'herbe et en l'évacuant on écrase la pelouse a couper (ça complique le boulot :(), lorsqu'on va prendre du recul on va s’apercevoir qu'on a pas tout coupé à la même hauteur et que c'est mal fait (des bugs 8O).... et quand on sera enfin prêt a faire feu, il y a toutes les chances que l'herbe aura repoussé à peine la moitié du boulot effectué (on tourne en rond :aie:).
En prenant le langage C, on aurait pris la tondeuse a gazon, qui est autotracté, qui ramasse l'herbe et l'envoi dans un bac. On écrase l'herbe aussi en évacuant le bac mais ha... ha... ha... la forme de la lame d'une tondeuse a gazon + son carter de protection créait un phénomène d'aspiration qui redresse l'herbe et lorsque les roues sont bien réglées, pas de problème de hauteur de coupe.
Si on a inventé des langages de plus en plus haut niveau c'est pour répondre a des besoins de plus en plus complexes. Pour avoir regardé de très prés comment certain scientifique envisageait la création d'un Perceptron (qui est le réseau de neurones le plus simple qui soit) en hardware, je peux affirmer que créer un réseau de neurones en assembleur c'est comme tondre la pelouse du stade de France avec un coupe ongle. C'est possible c'est sur et certain ! Mais c'est le mauvais choix c'est sur et certain !