mdr1 wrote:Levak wrote:Ensuite, ce dont tu parles est l'optimisation, mais pas le pédagogique que je défendais dans ma thèse. Bien évidemment que ça permet de faire plus d'optimisations de programmer en assembleur, mais l'assembleur est très éloigné de l'algorithmique humaine.
Je ne descendrais pas jusqu'au niveau de l'assembleur, mais bien à celui du C. Le C est bas niveau par rapport au C#, Java et python. Ca suffit pour voir pas mal de problèmes et avoir conscience que le plancher n'est pas mouillé, chose que beaucoup de nouveaux programmeurs de haut niveau oublient.
Ok mais il n'y a rien de logique en algorithmique avec les pointeurs.
fuuu je me suis fail dans mon image (bref tu as compris l'idée) :
""et avoir conscience que le plancher est mouillé, chose que beaucoup de nouveaux programmeurs de haut niveau oublient.""
Tu veux parler de la "merde" implicite ?
En haut niveau, le compilateur pourra faire des optimisations, et beaucoup plus qu'en bas niveau car il a une vue d'ensemble.
Et en assembleur, même pas du tout. What you program is what the file compiled is.
Je veux parler des gens qui programment avec leur pieds. Etant donné que tu as l'air averti, je ne parle évidemment pas de toi ni des bons programmeurs en haut niveau. Je parle des gens qui débarquent sans aucun bagage technique, codent en Java, C# wtf you want, qui te pondent un code ignoble que tu te demande comment le compilo a laissé passer. Ca prend deux minutes à s'exécuter et le pire, au final c'est que ça marche. Je pense difficilement qu'on peut croire à ça si on ne l'a pas vu de ses propres yeux.
Et d'ailleurs tu fais remarquer une chose : le compilo a une vue d'ensemble plus tu montes. Oui, normal, puisque les fonctions sont implémentés pour un cas précis (genre dessiner un rectangle). Heureusement que ces fonctions existent sinon les gens coderaient ça avec les fonctions setPixel de haut niveau, qui elles sont beaucoup plus coûteuses que d'utiliser une drawRectangle ou un drawGradiant. Sauf que, si tu descends, c'est plus le compilo qui optimise, c'est à toi de la faire, tu as le choix de virer des redondances dans les calculs que le compilo ne peut pas voir.
Levak wrote:Personnellement, j'adore programmer en assembleur, mais ce n'est pas du tout un langage ressemblant à "l'algorithmique".
On a, je pense, pas la même vision de l'algorithmique. Etant donné que je n'ai vu ça que dans mon école d'info où la structure algorithmique est elle même basée sur les pointeurs (listes chainées contre listes statiques). Tu as de l'algorithmique au lycée ? (Ou alors tu n'as vu ni l'un ni l'autre ?)
C'est tout pourri ce que j'ai au lycée, et puis ce qu'on fait au lycée y a pas fonctions, graphismes et tout.
Ma vision de l'algorithmique, c'est celle qui est purement logique et sans rapport avec le matériel, et que l'on peut représenter avec des organigrammes.
Alors c'est ce qu'à l'Epita ils appellent langage abstrait (j'arrive pas à le retrouver sur le google), et là, tu décroche complètement la machine, donc pas besoin d'ordinateur ni de langage de programmation, c'est purement sur papier.
(4000e post )