Denis Bouhineau

Défense de l’ALM

ALM : Architecture logicielle et matérielle

Contenu

- circuits
- interface circuit langage machine : automate de contrôle ou d’interprétation du langage machine
- langage machine

Attaques

(dans le désordre)

- ça sert à rien (pour notre futur métier)
- c’est trop compliqué
- c’est des vieux trucs
- c’est pas de l’informatique
- ça servira pas pour mon cv
- on n’a pas besoin de savoir comment une voiture fonctionne pour la conduire

Défenses

(dans le désordre)

- les américains définissent 5 parcours d’études pour informaticiens (pour 5 profils de métiers) :
— (Electrical Engineering : ingénieur électroniciens)
— CE : Computer Engineering (ingénierie système)
— CS : Computer Science (informatique fondamentale ou informatique au sens le plus large)
— SE : Software Engineering (ingénierie logicielle)
— IT : Information Technology (informatique de gestion)
— IS : Information Systems (système d’information)

Dans les 2 premiers parcours CE+CS, l’ALM est présente de manière significative ; dans les 2 parcours suivants SE+IT, l’ALM est présente à la marge ; dans le dernier parcours IS, l’ALM est absente (et on peut trouver cela dommage)

- il est difficile de se dire informaticien et être incapable de dire comment marche un ordinateur (vis à vis des ’non-informaticiens’, un informaticien sait tout des ordinateurs, de A à Z, en passant par les caractéristiques de telle puce ou carte graphique, le registre de Windows, le pageRanking de Google, comment retrouver le mot de passe que j’ai perdu et pourquoi ça imprime pas)

- l’informatique est une discipline jeune ; même si ils comportent déjà des millions de composants, les ordinateurs sont compréhensibles, les débuts ne sont pas si loin et pas si incompréhensibles, la construction humaine qui a mené et qui mène encore aux ordinateurs est à la portée de tous.

- l’alm devrait répondre à la soif de comprendre de tous, de savoir comment marche un ordinateur, soif d’une connaissance universelle (mais il semble que tout le monde n’ai pas/plus cette soif de comprendre et que petit à petit l’on accepte d’être dépassé par la machine ou la technologie ; de toute façon il n’y a plus rien à comprendre, et cela ne sert plus à rien puisque plus rien ne se répare ou ne se bricole, quand ça marche plus, on rachète, même les vélos deviennent des engins hyper sophistiqués, c’est l’ère des boites noires)

- quand l’on commence à maitriser un domaine (de l’informatique) et que l’on en devient un expert, les questions d’optimisation, de prévision, d’organisation, de sécurité, ou même de ’simple’ lecture de spécification nécessitent une connaissance plus large que celle de son domaine, et en particulier, nécessitent des bases en architecture des ordinateurs (même quand on fait du développement web ! un exemple, les questions d’encodages de caractères, un autre exemple : lisez la spécification de javascript, un dernier exemple : essayez d’optimiser un affichage d’une applet java)

- l’alm, c’est déjà de l’informatique, au sens le plus commun du terme : de l’algorithmique, du calcul de coût, de l’organisation, de la spécification, des langages (visuels ou linéaire), etc. (parler de BootStrap)

- la technologie avance de manière chaotique, un grand pas en avant, un petit pas en arrière. Lors de ces petits pas en arrières (les premiers ordinateurs portables, les premiers agendas électroniques, les premiers téléphones portables, etc.), l’informatique régresse aussi et nécessite un retour à l’alm.

- l’un des grands principes de l’informatique, c’est que les ordinateurs sont des machines déterministes, qu’une exécution peut être répétée, expliquée, prédite, comprise, ... et il faut y croire profondément quand, en salle de Tp, un étudiant vous appelle à l’aide parce que son programme fait n’importe quoi, que c’est incompréhensible (que, en tout cas, lui ne comprends rien) ; il faut y croire pour se plonger avec assurance dans l’exécution dudit programme et trouver quelle action, conforme à la syntaxe du langage de programmation et correspondant au programme de l’étudiant, fait bien ce qu’elle devrait faire vis-a-vis du langage de programmation, mais n’importe quoi vis-à-vis du problème à résoudre. Il faut y croire, car souvent, cette plongée dans l’exécution est une plongée dans les entrailles de la bête, les mains dans le cambouis, le debugger à la main, au niveau d’ALM.

- vis à vis du propos que l’on entends souvent "on n’a pas besoin de savoir comment une voiture fonctionne pour la conduire", il y a là deux erreurs à mon avis :
— on se trompe d’informatique : il y a 2 informatiques, celle que tout le monde utilise (comme la voiture), et celle des informaticiens. Suivre des études en informatique, ce n’est pas se familiariser avec l’outil informatique (bureautique, web, tableur, ...), comme on peut le faire dans d’autre discipline ; c’est passer de l’autre coté, du coté des informaticiens (du coté des garagistes, constructeurs auto, ...)
— le professionnel de la voiture (le conducteur routier, le taxi, le vendeur auto, le mecano, ...), lui doit savoir comment une voiture fonctionne. De la même manière, l’informaticien doit savoir comment la machine tourne.

posted by Denis Bouhineau on Tuesday 2nd, June 2009 (08:08) - comments (1) - permanent link


Comments

posted by Denis Bouhineau on Friday 20th, November 2009 (09:20)

quelques arguments supplémentaires :

l'avenir est peut-être à une informatique encore plus séparée entre le monde des utilisateurs (un téléphone portable devrait leur suffire, en guise de télécommande, récepteur, gps et carte bancaire) et celui des informaticiens (ceux qui connaîtront encore ce que c'est qu'un clavier, une souris, un langage de programmation, un grand écran -pas celui qui est dans le salon, qu'il soit connecté à internet ou à la télé, un fichier, etc.) D'un coté la magie, de l'autre ceux qui peuvent encore passer de l'autre coté du rideau. Et pour les informaticiens, cela peut vouloir signifier, s'ils ne veulent pas -eux-aussi- devoir passer et rester du coté où tout est magique, et de plus en plus magique, qu'il faut qu'ils puissent encore passer de l'autre coté du rideau.

il y a eut une période où l'informatique -naissante- avait besoin de beaucoup de programmeurs, et pour la bonne cause, des scientifiques (matheux, chimistes, physiciens, ...) se sont reconvertis à l'informatique (formation rapide, assurance de l'emploi, etc.) L'une des différences entre ces informaticiens à la formation rapide et les autres (ceux ayant subis une formation plus longue), se trouve peut-être là, dans l'ALM ainsi que dans d'autres matières pas essentiels à tous les jours, mais qui font la différence quand on creuse..

You can't add comments with your actual clearance level.