
Envoyé par
chaplin
Aujourd'hui, on est habité a travaillé en mode fenêtré, il ne faut pas oublié le mode console. On peut acquerrir des mauvaises habitudes autant en suivant l'un ou l'autre paradigme (procédural, programmation orienté objet).
Pour du calcul purement scientifique, ce qui prime c'est le résultat, ensuite on décide de l'afficher ou de l'imprimer ou l'enregistrer dans un format de fichier qu'on peut exploiter dans un logiciel graphique.
On peut également envisagé un apprentissage alterné des deux paradigmes, de sorte à avoir un regard simultannée sur les deux approches.
Je ne saisis pas du tout le parallèle console&fenêtre / procédural&objet?
J'ai même envie de dire qu'il y a plus de programme console qui respectent les paradigmes objet, surtout quand ils obéissent à la philosophie UNIX, qui n'est rien de plus que de l'objet, version ancestrale (ben oui, un programme ne fait qu'une seule chose mais la fait bien, et communique avec les autres au travers d'une interface claire...)
A part ça...
Perso, j'ai commencé par le QBasic, puis appris en auto-didacte le C, ensuite l'assembleur (que j'ai appris parce que je me prenais pour un guru en C

depuis, j'ai perdu plus d'une taille de chaussettes ça coûte moins cher en tissu

).
J'ai sincèrement trouvé l'assembleur nettement plus simple que le C:
_ pas de prise de tête syntaxique
_ une instruction ne fait qu'une, et une seule chose
A partir de la, je me suis remis au C, et, étrangement, j'ai compris beaucoup de choses que je n'avais pas comprises auparavant, par exemple, les manipulations de la mémoire sont devenues vachement plus claires.
Ah, et l'art de déboguer un programme à la trace est aussi nettement plus efficace depuis.
Pour ce qui est de l'apprentissage, je ne pense pas que l'on doit enseigner un seul paradigme à la fois.
A mon humble avis, il serait intéressant d'enseigner les langages de scripts du genre shell, ou l'on combine de petits programmes de façon procédurale en même temps qu'un langage type ASM qui permet de comprendre comment la machine marche, en faisant de très petits trucs.
L'intérêt?
L'assembleur, c'est du pur procédural. Le Shell, c'est manipuler des objets par leur interface connue.
Une fois initié à ces deux techniques, je crois qu'en fait on a abordé comment se servir des objets, et comment implémenter une petite partie d'entre eux (les méthodes).
Quand on a ces notions, on peut passer à l'orienté objet, en expliquant aux étudiants qu'en fait, ils font de l'objet depuis qu'ils font du script. Il suffit de leur demander d'implémenter des classes qui reproduisent le comportement de commandes simples, et de faire un programme qui singe un des scripts qu'ils ont fait précédemment.
De cette façon, peut-être que les gens auront moins peur de l'objet.
Ah, oui, ça fait peur, quand je dis assembleur, ou apprendre comment marche une machine. Cela dis, pour moi, un mécano si on lui dis qu'il faut changer telle ou telle pièce dans tel ou tel cas, si il ne comprend pas pourquoi, il faudra le former à chaque nouvelle voiture.
Si il connaît les bases, il sera capable de comprendre d'instinct un certain nombre de choses.
Ok, c'est long. Mais j'aimerai savoir, à votre avis, la programmation, c'est un métier, ou pas?
D'ailleurs, les grandes lignes d'un ordinateur, ça n'est pas si complexe que ça. Et quand bien même... de nos jours, on a tendance à dire qu'il faut enseigner aux gens directement un truc utile en entreprise. Je le pensais aussi, *avant*. Pourquoi j'ai changé d'avis? Parce que les entreprises, ça change de techno, et que le temps qu'un type fasse ses 5 ans d'étude, la techno qu'il a utilisée peut très bien être complètement obsolète (sans compter le temps qu'il faut à l'éducation nationale pour admettre qu'une techno est obsolète).
Quand aux différents paradigmes...
Chacun est une façon de penser. Chaque problème peut se résoudre de plusieurs façons. Ok, le procédural, c'est la façon de penser la plus humaine et donc le paradigme le plus simple. N'empêche, je pense qu'on devrait apprendre plusieurs paradigmes, parce que sinon il est très difficile de s'y mettre quand on a pris des habitudes. J'essaie de me mettre au prolog... ben... j'ai un mal de chien, parce que le paradigme n'a juste rien à voir.
Pourtant, plusieurs paradigmes permettent d'attaquer un problème avec plusieurs angles, et de choisir le meilleur pour le résoudre.
Si on a qu'une pioche pour percer un trou dans un mur, on y arrivera, mais c'est plus simple d'avoir un burin parfois. Alors que dans le sol, le burin sera presque inutile.
9 |
0 |