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.