21 août 2015

7 messages - Retourner à l'article

Voir tous les messages - Retourner à l'article

  • L’informatique sans ordinateur

    le 29 août 2015 à 13:20, par Lhooq

    Je ne réussis pas trop à comprendre cette vision de la chose.

    Je m’explique.

    Vous dites

    les applications des concepts et les méthodes du traitement automatique de l’information ne sont pas réservés au monde des ordinateurs.

    le projet pédagogique Computer Science Unplugged préconise d’enseigner l’informatique à l’aide de cartes, de ficelles et de crayons plutôt qu’en distribuant des tablettes numériques dans les écoles

    L’informatique est une discipline formelle, c’est-à-dire un domaine de recherche dont les concepts, les méthodes et les critères de vérité ne dépendent pas de faits ni de supports matériels particuliers.

    mais pour cela vous vous êtes basé sur trois domaines spécifiques que vous avez réduits à un exemple pour chaque :

    • Les protocoles IP en réseau
    • La recherche dichotomique
    • Le langage UML

    N’est-ce pas là confondre la modélisation et l’implémentation ? Vous faites le parallèle avec les maths et la logique (combien de fois entendrai-je encore ce parallèle, je ne le sais guère) quand je pense qu’un parallèle plus pertinent serait de comparer l’informatique à la physique. Les mathématiques et la logique sont des supports théoriques, la physique mélange théorie et application (ou alors vous pourriez parler de maths appliquées mais il semble que cette discipline soit un peu bâtarde au sein des mathématiciens tout comme l’informatique sur ordinateur à laquelle je vais revenir immédiatement).

    Une façon de voir les choses est de se dire qu’entre l’idée et son application il y a deux travaux différents à fournir. Je peux avoir un algorithme qui sur le papier est très bon et qui calcule ma solution en $\Theta(n)$ mais qui fait un accès mémoire par itération quand un autre calcule en $\Theta(n^2)$ mais ne fait qu’un seul accès mémoire. Si je ne connais rien à l’architecture de ma machine, pensez-vous que je choisirai le bon ? Si je sais quelle quantité de données je devrai manipuler, pensez-vous que j’en sélectionnerai un plus qu’un autre à implémenter ? Si je crée un programme s’occupant de faire voler un drone de façon autonome, verrai-je immédiatement sur le papier que la vibration des rotors risque de gêner mon gyroscope ? N’ai je pas besoin de calculer le bruit de ces rotors ? N’ai-je pas besoin d’avoir ce drone à portée de mains ?

    Je peux même vous proposer un petit jeu. Pourriez-vous me fournir un algorithme calculant l’ensemble des sous-ensembles d’un ensemble ?

    Bien évidemment, il y aura toujours des gens pour distinguer une informatique qu’ils considèrent comme noble, qu’ils aiment à appeler l’informatique théorique en pensant que cela est la même chose que les fondements théoriques de l’informatique d’une informatique d’ordinateur. Des gens qui pensent que coder est trivial ou en tous cas bien moins intéressant qu’un tableau (le noir avec craie est révolu, il faut passer au blanc avec marqueur, c’est bien plus pratique :-p). Des gens qui pensent que ceux qui codent sont des techniciens. J’ai même entendu des chercheurs dire que tel chercheur qui essayait d’accéder à un poste de DR ne pourrait pas l’avoir car il codait, ce qui n’est pas, pour eux, un travail de recherche.

    L’exemple des pigeons, par exemple, est très beau et je trouve que vous n’en avez compris qu’une partie. Oui, la couche réseau est indépendant de la couche physique, mais le réseau contient les deux. Si je veux créer un réseau P2P je n’utiliserai certainement pas les pigeons car je connais le débit de ce réseau. Et c’est ça la richesse de ce vaste domaine, idéaliser, modéliser, se prendre la réalité dans la bouche (lorsqu’un ami et moi avions essayé de coder SimCity sur nos calculatrices nous avions rapidement découvert la triste réalité de l’entier maximal représentable) et s’adapter. Et toutes ces branches sont l’informatique, et faire l’une sans penser aux autres est, je trouve, aberrant.

    En fin de compte, pour résumer tout cela, se baser sur trois exemples étant caractéristiques de la modélisation d’un problème et une solution théoriques de l’implémentation effective de cette solution revient à dénigrer tout un travail sur ce qui se passe dans une machine et qui est du domaine de l’informatique.

    Cordialement,

    Lhooq

    Répondre à ce message
Pour participer à la discussion merci de vous identifier : Si vous n'avez pas d'identifiant, vous pouvez vous inscrire.