De tout temps les Hommes... non je rigole. Au début de l'informatique, il était difficile de saisir un caractère, d'afficher plusieurs caractères ou une ligne, d'écrire dans un fichier. Puis on a pu (dans le désordre) afficher des pages entières, avoir de la couleur, avoir un environnement graphique, gérer du réseau, gérer des imprimantes/souris/stylos optiques/tablettes graphiques/modems/...(périphérique de votre choix ici)... On a eu une RAM/ROM puis des fichiers, puis des systèmes de fichiers, puis des partitions, puis des partitions dans du chiffrement dans des volumes logiques sur des disques multiples avec du RAID. On a eu un curseur clignotant, puis un curseur qui suit une souris, puis du fenêtrage, de la communication inter-fenêtre, de l'affichage déporté, du multi-écrans, de l'anticrénelage, de l'entrelacé, du 4K, etc. On a eu un caractère EBCDIC, ASCII 7 bits, puis 8 bits, puis ANSI truc ou ISO machin, puis Unicode, de l'écriture bidirectionnelle. On a eu des palanquées de langages informatiques qui se succèdent avec des paradigmes différents, des "nouveautés" (enfin souvent avec des années de décalage avec la recherche dans le domaine), de la montée en gamme dans la chaîne de valeur (plus besoin de placer la tête de lecture manuellement pour faire une lecture/écriture quelque part, on peut juste écrire « lis ce truc » quel que soit la nature du « truc »). Les bibliothèques standards contiennent toutes sortes de structures de données, des composants pour gérer des expressions rationnelles, des logs, de la compression, du chiffrement, des tas de protocoles (genre HTTP, SMTP, DNS, etc.). Avant tu faisais marcher ton processus unique sur un processeur monocœur, maintenant tu as des machines multiples en grille de calcul avec chacune de multiples CPU et GPU, eux-mêmes multi-cœurs, gérant de multiples fils d'exécution, avec de la prédiction, de multiples couches de virtualisation (y compris dans les processeurs). Avant tu lançais une tâche, maintenant tu coordonnes un déploiement multi-région multi-centres de données multi-hyperviseurs multi-serveurs pour déployer de la vachement très haute disponibilité (en attendant le multi-planète). Etc. Etc.
Il y a longtemps un humain pouvait avoir lu toute la littérature existante, puis c'est devenu impossible pour plein de raisons (volume, multilinguisme, accès, perte, etc.). Un humain pouvait connaître quasi tout en science, puis c'est devenu impossible. Un humain pouvait connaître toute la théorie informatique, puis c'est devenu impossible. Un humain pouvait savoir un peu tout en informatique puis c'est devenu impossible (personne ne fait du full-stack frontend backend crypto réseau matériel stockage base de données IA traitement d'images et de vidéos compression quantique hautes performances).
Tout ça pour dire que l'on n'attend probablement pas le même type de connaissances d'une « personne qui s'y connaît » il y a 40 ans, 20 ans, maintenant ou dans 20 ans. Est-ce que je veux encore apprendre l'informatique pour écrire un caractère sur l'écran ? Non, je veux « faire de l'IA », « développer des jeux vidéos », « bâtir mon propre réseau social », « mettre en place un serveur très basse consommation », « assurer une reproductibilité parfaire à la compilation et au déploiement », etc. D'où la question quelles sont les compétences / connaissances utiles maintenant et à l'avenir ? (et pas celles que je peux avoir moi personnellement maintenant). Et, tant que le développement informatique se poursuit (ie. hors crise mondiale majeure disons), on continuera à monter en gamme dans l'échelle de valeur, à vouloir faire des choses plus haut niveau, plus abstraites (tout en continuant localement à faire du bas niveau (*), c'est le spectre des possibles qui s'agrandit dans toutes les directions).
(*) citons des extrêmes actuels : la NASA qui doit gérer au degré près la température d'un CPU d'il y a 30 ans qui quitte le système solaire et a besoin de vétérans connaissant par cœur un assembleur antedéluvien et disparu partout ailleurs ; versus du trading à haute fréquence qui cherche à gagner des nanosecondes, du calcul intensif avec des zillions de CPU en parallèles, des gens qui veulent bâtir des mondes virtuels immersifs, etc.
# Faire des choses de plus en plus compliquées
Posté par Benoît Sibaud (site web personnel) . En réponse au journal Facile à utiliser, Bug ou Feature?. Évalué à 10. Dernière modification le 23 avril 2023 à 16:17.
De tout temps les Hommes... non je rigole. Au début de l'informatique, il était difficile de saisir un caractère, d'afficher plusieurs caractères ou une ligne, d'écrire dans un fichier. Puis on a pu (dans le désordre) afficher des pages entières, avoir de la couleur, avoir un environnement graphique, gérer du réseau, gérer des imprimantes/souris/stylos optiques/tablettes graphiques/modems/...(périphérique de votre choix ici)... On a eu une RAM/ROM puis des fichiers, puis des systèmes de fichiers, puis des partitions, puis des partitions dans du chiffrement dans des volumes logiques sur des disques multiples avec du RAID. On a eu un curseur clignotant, puis un curseur qui suit une souris, puis du fenêtrage, de la communication inter-fenêtre, de l'affichage déporté, du multi-écrans, de l'anticrénelage, de l'entrelacé, du 4K, etc. On a eu un caractère EBCDIC, ASCII 7 bits, puis 8 bits, puis ANSI truc ou ISO machin, puis Unicode, de l'écriture bidirectionnelle. On a eu des palanquées de langages informatiques qui se succèdent avec des paradigmes différents, des "nouveautés" (enfin souvent avec des années de décalage avec la recherche dans le domaine), de la montée en gamme dans la chaîne de valeur (plus besoin de placer la tête de lecture manuellement pour faire une lecture/écriture quelque part, on peut juste écrire « lis ce truc » quel que soit la nature du « truc »). Les bibliothèques standards contiennent toutes sortes de structures de données, des composants pour gérer des expressions rationnelles, des logs, de la compression, du chiffrement, des tas de protocoles (genre HTTP, SMTP, DNS, etc.). Avant tu faisais marcher ton processus unique sur un processeur monocœur, maintenant tu as des machines multiples en grille de calcul avec chacune de multiples CPU et GPU, eux-mêmes multi-cœurs, gérant de multiples fils d'exécution, avec de la prédiction, de multiples couches de virtualisation (y compris dans les processeurs). Avant tu lançais une tâche, maintenant tu coordonnes un déploiement multi-région multi-centres de données multi-hyperviseurs multi-serveurs pour déployer de la vachement très haute disponibilité (en attendant le multi-planète). Etc. Etc.
Il y a longtemps un humain pouvait avoir lu toute la littérature existante, puis c'est devenu impossible pour plein de raisons (volume, multilinguisme, accès, perte, etc.). Un humain pouvait connaître quasi tout en science, puis c'est devenu impossible. Un humain pouvait connaître toute la théorie informatique, puis c'est devenu impossible. Un humain pouvait savoir un peu tout en informatique puis c'est devenu impossible (personne ne fait du full-stack frontend backend crypto réseau matériel stockage base de données IA traitement d'images et de vidéos compression quantique hautes performances).
Tout ça pour dire que l'on n'attend probablement pas le même type de connaissances d'une « personne qui s'y connaît » il y a 40 ans, 20 ans, maintenant ou dans 20 ans. Est-ce que je veux encore apprendre l'informatique pour écrire un caractère sur l'écran ? Non, je veux « faire de l'IA », « développer des jeux vidéos », « bâtir mon propre réseau social », « mettre en place un serveur très basse consommation », « assurer une reproductibilité parfaire à la compilation et au déploiement », etc. D'où la question quelles sont les compétences / connaissances utiles maintenant et à l'avenir ? (et pas celles que je peux avoir moi personnellement maintenant). Et, tant que le développement informatique se poursuit (ie. hors crise mondiale majeure disons), on continuera à monter en gamme dans l'échelle de valeur, à vouloir faire des choses plus haut niveau, plus abstraites (tout en continuant localement à faire du bas niveau (*), c'est le spectre des possibles qui s'agrandit dans toutes les directions).
(*) citons des extrêmes actuels : la NASA qui doit gérer au degré près la température d'un CPU d'il y a 30 ans qui quitte le système solaire et a besoin de vétérans connaissant par cœur un assembleur antedéluvien et disparu partout ailleurs ; versus du trading à haute fréquence qui cherche à gagner des nanosecondes, du calcul intensif avec des zillions de CPU en parallèles, des gens qui veulent bâtir des mondes virtuels immersifs, etc.