Raviver le frisson de la programmation

Nous, les humains, sommes un drôle de lot. Comme nous passons rapidement d’être humiliés par l’improbable exploit du vol humain à être irrités par le temps qu’il faut à l’aéroport. Nous sommes régulièrement contrariés par la circulation, mais seulement occasionnellement étonnés par l’existence d’une chose appelée automobile.
L’un des exemples les plus frappants de réalisations humaines récentes est ce que nous appelons une langage de programmation. Passer en revue les prouesses mentales olympiques qui jalonnent l’histoire de sa création vous aidera à redécouvrir le caractère quasi fantastique de la programmation.
Le programmeur, comme le poète
Frederick P. Brooks, Jr., dans son influent Mois de l’homme mythique collection écrit : « Le programmeur, comme le poète, ne travaille que légèrement éloigné de la pensée pure. C’est une déclaration digne de réflexion. Pour le programmeur en activité et toute personne impliquée dans leur réussite, cela peut servir à réveiller une inspiration endormie.
On pourrait dire que la programmation est une activité qui oscille entre le mental et le physique. On pourrait même dire que c’est une façon d’interagir avec la nature logique de la réalité. Le programmeur saute allègrement à travers le division corps-esprit qui a tellement déconcerté les penseurs.
« Cela admis, nous pouvons proposer d’exécuter, au moyen de machines, la branche mécanique de ces travaux, réservant à l’intellect pur ce qui dépend des facultés de raisonnement. » Alors dit Charles Babbageà l’origine du concept d’ordinateur numérique programmable.
Babbage était concevoir de l’informatique dans les années 1800. Babbage et son collaborateur Lovelace concevaient non pas une nouvelle œuvre, mais un tout nouveau médium. Ils ont sorti de l’éther un terrain physique pour nos idéations, un moyen de les mettre à l’épreuve concrètement et de les rendre disponibles sous cette forme à d’autres personnes pour examen et élaboration.
Dans ma propre vie d’étudiants en philosophie, j’ai découvert le mécontentement de la forme-pensée dont le caoutchouc ne rencontre jamais la route. Dans cette veine, M. Brooks complète sa pensée ci-dessus lorsqu’il écrit : « Pourtant, la construction du programme, contrairement aux mots du poète, est réelle dans le sens où elle bouge et fonctionne, produisant des sorties visibles distinctes de la construction elle-même.
Une sorte de danse au ralenti entre le développement mental et mécanique a été mise en place au cours des siècles pour arriver à ce que nous pouvons maintenant appeler dans le navigateur avec une simple pression sur la touche F12.
Considère ceci métier à tisser programmable du 18ème siècle, et le rôle qu’il joue dans le conte. Il est intéressant de regarder une machine baroque pour le tissage algorithmique et de voir des cartes perforées qui sont des analogues précis et des ancêtres de la cartes perforées des premiers ordinateurs. L’interaction de la pensée condensante et des machines raréfiantes se rencontre finalement dans le langage de programmation moderne.
Émerveillement émerveillé
Pour un regard plus concret et détaillé sur le développement de la programmation, consultez l’histoire ambitieuse de Ron Pressler, Fini de sens et infini de pensée. Des petits pas hésitants de l’Antiquité aux sauts à couper le souffle comme Babbage et Turing, il y a le sentiment d’aller vers quelque chose qui n’est pas entièrement compris, mais intuitivement ressenti. Nous sommes à une époque où nous réalisons la large promesse de cette chose.
Le récit de M. Pressler marche résolument dans la grêle de détails mathématiques et logiques, mais avant de se lancer dans le voyage, il écrit que « l’émerveillement impressionné est un puissant outil de marketing, mais il mystifie plutôt qu’il ne clarifie ». Ici, nous comprenons que l’avertissement est d’éviter de tomber dans les modes et les modes de programmation. C’est un conseil judicieux.
D’autre part, nous ne voulons pas tomber du précipice de l’autre côté, dans une indifférence desséchée.
C’est à notre détriment que nous renonçons entièrement à l’émerveillement. Il est sain et vital de garder l’inspiration vivante, de lever la tête du travail, de faire un zoom arrière pour la perspective.
Il n’y a vraiment aucune raison de séparer le plaisir de coder de la discipline. En fait, c’est une recette pour l’insatisfaction. L’épuisement professionnel dans l’informatique est endémique. Il doit y avoir plus d’émerveillement, pas moins.
Turing-complet
Un moment clé dans l’histoire de la programmation est la machine universelle d’Alan Turing. C’est un autre exploit mental que nous pouvons souligner en reconnaissant que la programmation a été réalisée à un coût intellectuel élevé (et un coût personnel élevé dans le cas de Turing). La difficulté à garder à l’esprit l’idée d’un système autoréférentiel qui puisse se décrire à la fois lui-même et les programmes qu’il exécute. Aujourd’hui, nous utilisons des ordinateurs qui stockent à la fois les informations et les instructions pour les utiliser dans le même espace mémoire.
Cette idée a été reprise par Von Neumman pour son architecture, qui sous-tend le fonctionnement des ordinateurs modernes. C’est l’une de ces choses « évidentes une fois que c’est fait »: la capacité de stockage de données du système est également exploitée pour son code. Avant que ce ne soit fait, c’est tout sauf évident.
Le tl;dr ici est que l’idée d’un fichier qui peut être à la fois des données et exécutable est une percée conceptuelle qui en fait un système modifiable et extensible sur lequel nous travaillons depuis.
Nous pouvons dire avec certitude qu’une machine Turing-complète réalisée et couramment disponible n’est pas seulement impressionnante, mais jusqu’à relativement récemment, pas même facilement concevable. Les concepts de base pour envelopper l’esprit autour de lui n’étaient pas encore clairement discernables.
Interaction humaine
Tout ce que nous avons dit jusqu’ici s’est attardé sur la nature de la programmation elle-même. Un autre aspect important que nous devons mentionner est l’effet qu’il a eu sur l’interaction humaine. Que les ordinateurs évoluent ou non vers une singularitél’effet global de la capacité améliorée de l’humanité à communiquer via un logiciel est un événement décisif.
Considérés sous cet angle, les logiciels Web sont considérés comme la métaphore familière du cyberespace, un nouveau type de moyen d’interaction. Gardant à l’esprit ce que nous avons décrit précédemment – le pont entre le mental et le physique – ce paysage offre une occasion unique d’interagir les uns avec les autres en grande partie dans le domaine de la pensée avec le soutien d’une sous-structure logique exécutable.
Lorsqu’ils sont unis à l’idée de Turing d’un univers de machines potentielles construites au sein du système, nous voyons le potentiel de mondes d’idées en interaction. Ici, on peut sentir que nous sommes toujours en progrès, toujours actifs dans le sentiment de nouvelles idées à donner vie.
Le futur qui se déroule
Notre travail quotidien dans la programmation de logiciels fait donc partie du déroulement continu de réalités futures imprévisibles.
Peut-être que les idées qui tourbillonnent dans la sphère Web3.0, soutenues par les innovations Blockchain, joueront un rôle. Beaucoup le pensent certainement. D’autres sont en désaccord avec véhémence. En tout cas, et pas pour rien, Facebook a changé son nom en Meta.
Peut-être que l’informatique quantique aura un rôle à jouer. Après tout, cela permet l’interaction avec un caractère intrinsèquement différent de la réalité physique sous-jacente, celle du non-binaire.
Tout revient aux humains qui utilisent les systèmes, font la programmation et les aident à réussir. Rappelons que la technologie est avant tout au service des hommes. Les développeurs heureux écrivent un meilleur code, et c’est mieux pour les résultats, c’est vrai, mais le point le plus fondamental est que les développeurs heureux sont des gens heureux.
Si vous le pouvez, rappelez-vous le sentiment de possibilité inhérent à l’ouverture du code qui fait fonctionner un programme. Il a été tiré avec non seulement un intérêt technique, mais avec une qualité presque fantastique. Et pourquoi pas? Il y a moins de cent ans, un langage de programmation était une possibilité vaguement perçue qui pouvait ou non se transformer en quelque chose de réel.
Source link