Overblog Tous les blogs Top blogs Photographie
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU

Paris, photo, humeurs, un peu de HTML/CSS pour faire sérieux. Feinte innocence et vraie naïveté (ou vice-versa). Encore un blog qui agite ses petits bras en couinant "Viens me lire !"

Publicité

[B-A BA] Programmation - 1bis (pinaillages)

Petit effort pour anticiper quelques questions relatives à cet article.


Un contresens à éviter : vous jugez peut-être que Norbert exécute le programme que Maman lui dicte au téléphone ? Non, Norbert est incapable d'exécuter un programme : mettez-lui une fiche ou un cahier dans les mains, il sera comme une poule qui a trouvé un couteau. C'est bien Maman (intelligente) qui choisit et lit les fiches, comprend ce qu'elles signifient, et commande Norbert (abruti) à distance. La confusion peut venir de ce que Norbert, pour les besoins de l'exemple, n'est pas complètement idiot : il comprend ce que lui dit sa mère et réagit en conséquence. Pour une analogie rigoureuse (mais qui serait bien triste) Norbert serait totalement décérébré et Maman devrait lui transmettre directement son influx nerveux. Dans ce cas il serait vraiment un terminal passif de sa mère, je laisse de plus psychologues que moi méditer sur cette situation.


Question possible : quelle différence entre programme et procédure, sous-programme et fonction ? Rien de fondamental : il s'agit toujours et essentiellement de suites d'instructions.

Une première nuance vient de la place dans la hiérarchie des fiches : les programmes ou procédures sont  en haut , répondent à des besoins pratiques, alors que les fonctions ou sous-programmes sont  en bas , sont des auxiliaires des programmes ou procédures, auxiliaires qu'on n'utilise jamais isolément. Vous double-cliquez sur l'icône du programme qui vous intéresse, jamais sur celle d'une fonction – d'ailleurs les fonctions n'ont pas d'icône.

Deuxième nuance, aujourd'hui périmée, entre fonction et sous-programme. Une fonction, comme en mathématiques, était d'abord un calcul avec un résultat (durée de la recette=temps d'épluchage + temps de cuisson), alors qu'un sous-programme (comme son nom l'indique) était plutôt perçu comme un gros bloc d'instructions (éplucher les patates, éplucher les carottes, les mettre dans la cocotte, fermer la cocotte, etc.), une subdivision du programme principal ( préparer le dîner  dont un autre sous-programme pourrait être  mettre le couvert ). Il y a eu besoin de résultat pour des sous-programmes, il a fallu que certaines fonctions grossissent… Bref : aujourd'hui les deux notions se confondent et tout est fonction ( sous-programme  est sorti de l'usage), à tel point que dans certains langages de programmation on ne parle même plus de programme mais de  fonction principale .

Dernière nuance, de pure rigueur technique : un programme (on précise quelquefois programme exécutable ou, plus vite dit, exécutable) enchaîne des instructions qui agissent directement sur le processeur alors qu'une procédure (ou procédure de commande ou script ou macro-commande ou…) enchaîne des instructions transmises à un autre exécutable qui se charge d'agir sur le processeur. Cette deuxième organisation est plus lourde et lente à cause du niveau intermédiaire, quels sont ses avantages ? Elle permet d'enrichir un programme servant principalement à faire autre chose (comme le font les macro-commandes d'un tableur), elle permet aussi de rendre la procédure indépendante de la machine sur laquelle elle s'exécute (machine-cible). C'est ainsi qu'il n'y a pas besoin d'un dialecte JavaScript pour Mac et d'un autre pour Windows, car c'est le navigateur (chargé d'exécuter JavaScript) qui diffère d'un environnement à l'autre.

Pour résumer : même significatives ces nuances ne doivent pas faire oublier l'essentiel – tout ça, c'est des instructions.

Publicité
Retour à l'accueil
Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
B
"Norbert serait totalement décérébré et Maman devrait lui transmettre directement son influx nerveux. Dans ce cas il serait vraiment un terminal passif de sa mère." <br /> <br /> Considere t'on que lorsque le spécimen ne comprends que les coups de pompes au c** (au sens propre) il entre dans ce cas de figure Doc ...?<br /> <br /> non je ne citerais pas de noms ...<br /> <br /> plus sérieusement merci pour cette article(je comprends pas tout mais dans les grandes lignes ca va )..Non je ne suis pas un terminal passif Mossieur...
Répondre
É
<br /> Pour répondre à la question il me faudrait plus de renseignements sur un environnement applicatif dont je pressens qu'il est un peu spécial... :D<br /> Cet article, comme l'indiquent son numéro et la phrase d'intro, n'a de sens qu'après avoir lu le précédent. Ce précédent veut seulement expliquer quelques termes indispensables, le recours à mes<br /> deux mascottes est là pour montrer que toutes ces notions ont leur exacte contrepartie dans le monde ordinaire, qu'il ne s'agit jamais que de choix d'organisation d'un travail.<br /> Des réponses neuves, peut-être obscures ou déroutantes au premier abord, mais de très anciennes questions : c'est tout l'état d'esprit de cette série d'articles de simple<br /> vulgarisation (sûrement pas un cours en bonne et dûe forme, j'en serais bien incapable - et puis c'est moins distrayant)<br /> <br /> <br />