OPiCitations

Œuvre "The Humble Programmer (EWD340)/ Le programmeur modeste" : 2 résultats (sur 3397 citations)

outil

It has to do with the influence of the tool we are trying to use upon our own thinking habits. I observe a cultural tradition, which in all probability has its roots in the Renaissance, to ignore this influence, to regard the human mind as the supreme and autonomous master of its artefacts. But if I start to analyse the thinking habits of myself and of my fellow human beings, I come, whether I like it or not, to a completely different conclusion, viz. that the tools we are trying to use and the language or notation we are using to express or record our thoughts, are the major factors determining what we can think or express at all! The analysis of the influence that programming languages have on the thinking habits of its users, and the recognition that, by now, brainpower is by far our scarcest resource, they together give us a new collection of yardsticks for comparing the relative merits of various programming languages. The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.
[…]
I do not know of any other technology covering a ratio of 1010 or more: the computer, by virtue of its fantastic speed, seems to be the first to provide us with an environment where highly hierarchical artefacts are both possible and necessary. This challenge, viz. the confrontation with the programming task, is so unique that this novel experience can teach us a lot about ourselves. It should deepen our understanding of the processes of design and creation, it should give us better control over the task of organizing our thoughts. If it did not do so, to my taste we should not deserve the computer at all!
Il a à voir avec l’influence des outils que nous essayons d’utiliser sur nos habitudes de penser. Je constate l’existence d’une tradition culturelle, dont les racines remontent sans doute à la Renaissance, d’ignorer cette influence, de considérer l’esprit humain comme le maître suprême et autonome de ses artefacts. Mais si je commence à analyser mon mode de penser et celui de compagnons humains, j’arrive, que cela me plaise ou non, à une conclusion totalement différente, à savoir que les outils que nous tentons d’utiliser et le langage ou la notation que nous utilisons pour exprimer ou enregistrer nos pensées sont les facteurs majeurs déterminant tout simplement ce que nous pouvons penser ou exprimer ! L’analyse de l’influence qu’ont les langages de programmation sur les modes de penser de leurs utilisateurs et la reconnaissance qu’aujourd’hui, la matière grise est de loin notre ressource la plus rare, ensemble, nous donne une nouvelle série de repères pour comparer les mérites relatifs de différents langages de programmation. Le programmeur compétent est pleinement conscient de la taille strictement limitée de son crâne ; il approche donc la tâche de la programmation en toute modestie, et, entre autres choses, il évite les astuces ingénieuses comme la peste.
[…]
Je n’ai pas connaissance d’une autre technologie couvrant un ratio de 1010 ou plus : l’ordinateur, en raison de son extraordinaire rapidité, semble pour la première fois nous fournir un environnement où des artefacts hautement hiérarchisés sont à la fois possibles et nécessaires. Ce défi, à savoir la confrontation avec le travail de la programmation, est si unique que cette nouvelle expérience peut nous apprendre beaucoup sur nous-mêmes. Elle devrait approfondir notre compréhension du processus de conception et de création, elle devrait nous donner un meilleur contrôle sur l’organisation de nos pensées. Si ça n’est pas le cas, à mon avis nous ne méritons absolument pas l’ordinateur !

informatique

We all know that the only mental tool by means of which a very finite piece of reasoning can cover a myriad cases is called "abstraction"; as a result the effective exploitation of his powers of abstraction must be regarded as one of the most vital activities of a competent programmer. In this connection it might be worth-while to point out that the purpose of abstracting is not to be vague, but to create a new semantic level in which one can be absolutely precise.
Nous savons tous que le seul outil mental par lequel un raisonnement très fini peut couvrir une myriade de cas est appelé "abstraction" ; par conséquent, l’exploitation efficace de son pouvoir d’abstraction doit être considérée comme l’une des activités les plus vitales d’un programmeur compétent. À cet égard, il peut être utile de rappeler que le but de l’abstraction n’est pas d’être vague, mais de créer un nouveau niveau sémantique dans lequel on peut être absolument précis.