211service.com
Réécrire la Bible en 0 et en 1
Lorsque vous écrivez sur Donald Knuth, il est naturel de paraître scripturaire. Depuis près de 40 ans, le professeur à la retraite de l'Université de Stanford écrit l'évangile de l'informatique, une épopée intitulée L'art de la programmation informatique. Les trois premiers volumes constituent déjà le Bon Livre des passionnés de logiciels avancés, vendus à un million d'exemplaires dans le monde dans une douzaine de langues. Son approche du code imprègne la culture logicielle.
Et voilà, interrompant sa vocation pendant neuf ans, Donald Knuth a erré dans le désert de la typographie informatique, créant un programme qui est devenu le Word en composition numérique pour l'édition scientifique. Il a appelé son logiciel TeX et l'a offert à tous les croyants, rejetant la tentative d'une tribu (Xerox) d'affirmer la propriété de ses formules mathématiques. Les mathématiques appartiennent à Dieu, a-t-il déclaré. Mais le Dieu de Knuth n'est pas au-dessus des ruses des fidèles. Dans son guide TeX, The TeXbook, il écrit qu'il ne dit pas toujours la vérité car la technique du mensonge délibéré vous permettra en fait d'apprendre plus facilement les idées.
Maintenant déterminé à terminer ses écritures, Knuth (ka-NOOTH), 61 ans, mène ce qu'il appelle une existence d'ermite (avec sa femme) dans les collines entourant l'université, après avoir pris une retraite anticipée de l'enseignement. Il a débranché son compte de messagerie personnel, publiant une page Web (www-cs-faculty.stanford.edu/~knuth/) pour garder les multitudes de logiciels à distance en répondant aux questions fréquemment posées telles que, Quand sort le volume 4 ?
Environ une fois par mois pendant l'année universitaire, Knuth descend des hauteurs dans une salle de conférence au sous-sol du bâtiment Gates Computer Science à Stanford pour donner l'une de ses conférences Computer Musings, généralement sur un aspect de son travail actuel sur l'art de l'ordinateur. La programmation. Ces conférences attirent des étudiants en informatique, des professeurs invités, des ingénieurs logiciels d'entreprises voisines et un PDG occasionnel. Par une douce journée plus tôt cette année, le sujet et les auditeurs sont différents. Pour célébrer la publication du
troisième volume de ses articles rassemblés, Digital Typography, les associés des bibliothèques de l'Université de Stanford ont invité un public de fans de l'imprimé à entendre Knuth parler de la création du système TeX pour la publication scientifique et mathématique. Vêtu d'un T-shirt noir sur une chemise noire à manches longues, son crâne chauve luisant dans les plafonniers, il apparaît convenablement moine devant environ 70 acolytes et collègues.
En hésitant, ses mots combattant sa modestie luthérienne innée, il commence : Le travail principal de ma vie et la raison pour laquelle j'ai commencé tout ce projet est d'écrire une série de livres intitulée L'art de la programmation informatique - pour laquelle j'espère vivre encore 20 ans et terminer le projet que j'ai commencé en 1962. Malheureusement, la programmation informatique s'est développée au fil des ans et j'ai donc dû écrire un peu plus que je ne le pensais lorsque je l'ai esquissé. Les fidèles rient en connaissance de cause.
Knuth raconte son détour par la typographie numérique dans les années 1970. C'était une époque d'énormes changements dans l'industrie de la composition, alors que les systèmes informatiques remplaçaient le type chaud qui avait été utilisé depuis le jour de Gutenberg. La typographie informatique était moins chère, mais aussi moins esthétique, surtout pour la notation mathématique complexe. Se souvient Knuth : À mesure que la technologie d'impression changeait, les activités commerciales les plus importantes étaient traitées en premier et les mathématiciens venaient en dernier. Alors nos livres et nos revues ont commencé à avoir l'air très mauvais. Je ne supportais pas d'écrire des livres qui n'auraient pas l'air bien.
Knuth a pris sur lui d'écrire chaque ligne de code pour un logiciel qui produisait une belle typographie. Il a tiré le nom de son programme de composition du mot grec pour art - les lettres sont tau epsilon chi (cela rime avec blecch). Dit Knuth : Plus de 90 % de tous les livres sur les mathématiques et la physique sont composés avec TeX et avec son logiciel compagnon, Metafont, un outil développé par Knuth pour concevoir des polices de caractères agréables.
Il n'hésite pas à reconnaître la contribution des concepteurs de caractères, des coupeurs de poinçons, des typographes, des historiens du livre et des universitaires qu'il a réunis à Stanford lors du développement de TeX. Certains sont dans le public. Il leur dit : TeX est ce que nous appelons maintenant un logiciel à système ouvert - n'importe qui dans le monde peut l'utiliser gratuitement. Pour cette raison, nous avons eu des milliers de personnes à travers le monde pour nous aider à trouver toutes les erreurs. Je pense que c'est probablement le programme informatique le plus fiable de sa taille jamais.
Quiconque doute de cette affirmation de Knuth, décidément peu vantard, peut trouver la confirmation de Guy Steele, l'un des premiers utilisateurs de TeX et maintenant un ingénieur distingué chez Sun Microsystems. TeX, dit Steele, a été l'un des premiers grands programmes dont le code source a été publié ouvertement. Steele dit que la publication par Knuth du code TeX dans un livre, accompagnée de commentaires complets, a permis à tout le monde de comprendre son fonctionnement et de proposer des corrections de bogues. Avec les meilleurs scientifiques et mathématiciens du monde universitaire en tant que bêta-testeurs, une équipe de contrôle qualité extraordinaire a aidé à perfectionner TeX. (L'effort de développement de TeX était un modèle pour le mouvement des logiciels open source d'aujourd'hui, qui a donné au monde Linux-un système d'exploitation qui commence à concurrencer Microsoft Windows.)
La perfectibilité est une préoccupation majeure de Knuth. La seule adresse e-mail que Knuth maintient rassemble les rapports d'errata des lecteurs de ses livres, offrant 2,56 $ pour chaque erreur non signalée auparavant. (Le montant est une blague : 256 équivaut à 2 à la puissance 8, le nombre de valeurs qu'un octet peut représenter.) Les chèques de récompense de Knuth sont parmi les trophées les plus prisés de l'informatique ; peu sont effectivement encaissés.
Il prend cette affaire d'erreur très au sérieux. Les mots du poète danois Piet Hein sont gravés dans l'entrée de sa maison :
Le chemin de la sagesse ?
ben c'est clair
et simple à exprimer :
Se tromper
et erre
et erre encore
mais moins
et moins
et moins.
Dans une variation sur ce thème de perfectibilité, la contribution de Knuth à la théorie informatique dans les pages de The Art of Computer Programming a été son analyse rigoureuse des algorithmes. En utilisant les méthodes de son livre, les opérations utilisées pour traduire les instructions de la machine en équations peuvent être testées pour déterminer si elles sont optimales. Améliorer un programme devient alors une question de trouver des algorithmes avec les attributs les plus souhaitables. Non pas que les preuves théoriques puissent remplacer un logiciel en cours d'exécution sur un ordinateur. Dans une remarque souvent citée qu'il mentionne sur sa page Web, il a un jour averti un collègue : Méfiez-vous du code ci-dessus ; J'ai juste prouvé que c'était vrai, je ne l'ai pas essayé.
Mauvaises pauses
Dans le discours de Knuth à Stanford, la perfectibilité était à nouveau un thème. Il a suivi les pages de son volume sur la typographie numérique au-delà de ses chapitres d'introduction jusqu'à la section la plus longue du livre, qui s'attaque à un problème crucial de la typographie. Il attire l'attention de ses auditeurs sur l'une des principales astuces techniques du système TeX : la question de savoir comment diviser les paragraphes pour que les lignes soient à peu près égales et bonnes.
Le manque d'espacement entre les mots et les choix laids pour les sauts de ligne ont été parmi les principales gaffes de typographie informatique qui ont lancé Knuth dans sa croisade TeX. Des gouffres de mots étranges, des échelles de traits d'union et des morceaux de texte orphelins résultaient des algorithmes rigides utilisés pour programmer des sauts de ligne sans égard pour l'élégance visuelle. La solution de Knuth : demandez à l'ordinateur d'utiliser des méthodes d'essais et d'erreurs pour tester la meilleure façon de diviser chaque paragraphe de texte. Au lieu d'algorithmes gourmands contenant le plus de mots sur une ligne standard en typographie informatique avant et après la méthode de calcul intensif de TeX-Knuth évalue la beauté.
Knuth semble né pour promouvoir la beauté sur la page imprimée via des méthodes informatiques. J'ai eu un amour des livres depuis le début, dit-il à son public. Dans la collection de ma mère, nous avons trouvé le premier abécédaire que j'avais. J'avais pris les lettres et compté tous les empattements. Il est fier de ses premières années d'alphabétisation, racontant à un écrivain qu'il était le plus jeune membre du Book Worm Club de la Milwaukee Public Library. Son intérêt pour la reproduction typographique est également venu tôt dans la vie. L'un de ses premiers souvenirs de publication pré-informatique a été d'aider son père, Ervin, avec les pochoirs polycopiés pour imprimer le bulletin de l'église au sous-sol. Comme la newsletter de son père, TeX était censé être un projet homebrew, à une échelle gérable. L'intention initiale était que ce serait pour moi et ma secrétaire, dit-il à TR dans une interview dans le bureau du deuxième étage de sa maison. Se penchant en arrière dans la chaise longue noire, Knuth reconnaît que le long voyage dans TeX était destiné à être un détour rapide : j'allais le terminer dans un an.
Les événements ont pris une autre tournure. En 1978, Sun's Steele, alors étudiant diplômé du MIT, visita TeX traduit par Stanford pour une utilisation sur l'ordinateur central du MIT. Soudain, se souvient Knuth, j'ai eu 10 utilisateurs, puis 100. À chaque fois, il y a eu différents niveaux d'erreur. Entre le 1 000e et le 10 000e utilisateur, j'ai déchiré le code et j'ai recommencé. Knuth dit qu'il s'est rendu compte alors que TeX n'était pas seulement une digression, il faisait lui-même partie de la vision. J'ai vu que cela répondait à un besoin dans le monde et donc je ferais mieux de le faire correctement.
Un tournant clé dans la diffusion de TeX a été une conférence que Knuth a donnée devant l'American Mathematical Society (AMS). Barbara Beeton, spécialiste des systèmes de composition pour AMS et fonctionnaire de longue date du groupe d'utilisateurs TeX basé à Portland, dans l'Oregon, se souvient de l'occasion : il a été invité à prononcer la conférence Josiah Willard Gibbs. Albert Einstein et John von Neumann figuraient parmi les orateurs précédents. Knuth a parlé de son nouveau système de composition pour la première fois en public. Knuth prêchait au chœur ; les mathématiciens réunis savaient comment la qualité d'impression avait diminué. Beeton ajoute : TeX était le premier système de composition destiné à être utilisé par l'auteur d'un article ou d'un livre par opposition à une maison d'édition. Peu de temps après, AMS est devenu l'utilisateur institutionnel d'origine de TeX, utilisant le système de Knuth pour publier tous ses documents et revues.
Alors que la nouvelle se répandait et que de plus en plus d'utilisateurs profitaient de son logiciel gratuit (écrit pour un ordinateur central universitaire mais bientôt disponible pour les PC), Knuth s'est retrouvé à étudier l'histoire de l'impression pour trouver des solutions pour des applications étroites. Souvent comme non, ses recherches se sont avérées infructueuses et il devrait trouver sa propre réponse. Pour les invitations de cérémonie, il a créé de nouvelles polices ; pour la composition musicale, il a résolu des problèmes d'alignement difficiles. J'ai eu tellement d'utilisateurs, se souvient-il. Des invitations de mariage et des programmes pour l'orchestre symphonique local aux programmes informatiques.
Pendant près de neuf ans, l'incursion de Knuth dans la typographie l'a occupé à plein temps, l'éloignant du travail sur le livre de programmation qu'il considérait comme sa véritable vocation. Je devais penser à la phase finale, dit-il. Comment pourrais-je terminer TeX de manière responsable et dire : cela ne va plus changer ? J'ai dû élaborer une stratégie sur quatre ans pour m'en sortir et revenir à l'Art de la programmation informatique.
La solution de Knuth : avec la sortie de TeX version 3.0 en 1990, il a déclaré son travail terminé. Les disciples devront maintenir le système. Knuth dit qu'il limitera son travail à la réparation des rares bugs portés à son attention ; à chaque correction, il attribue un chiffre de plus au numéro de version afin qu'il tende vers pi (la version actuelle est 3.14159).
L'un des résultats de la décision de Knuth d'arrêter d'apporter des modifications majeures à TeX est que le format de fichier TeX est resté inchangé. C'est le seul logiciel où vous pouvez prendre le fichier de votre article de 1985 et ne pas avoir à le convertir pour l'imprimer de la même manière aujourd'hui, note David Fuchs, chercheur principal chez Liberate Technologies (anciennement Network Computer Inc.), qui était un étudiant diplômé à Stanford pendant le développement de TeX. Fuchs estime qu'il y a 1 million d'utilisateurs de TeX dans le monde ; beaucoup utilisent des packages commerciaux à usage spécial construits autour du noyau TeX, tels que LATeX (un langage macro orienté commandes) et TeXDoc (optimisé pour la documentation logicielle).
En revanche, TeX est limité dans son attrait car ce n'est pas WYSIWYG, admet Fuchs, employant l'acronyme pour ce que vous voyez est ce que vous obtenez - le terme standard décrivant un logiciel de traitement de texte qui affiche le formatage à l'écran tel qu'il apparaîtra sur la page imprimée. . Plutôt que d'offrir une interactivité à l'écran en temps réel, TeX nécessite un langage de balisage tapé dans un document et interprété par l'ordinateur ; vous ne voyez ce que vous obtenez qu'une fois imprimé. Malgré son interface utilisateur peu intuitive, TeX a développé un noyau dédié de professionnels de la production qui n'accepteront aucun substitut. Pourquoi quelqu'un voudrait-il autre chose ? demande Paul Anagnostopolis, un consultant d'éditeurs basé à Carlisle, Mass. et auteur d'un logiciel basé sur TeX pour la composition de livres. Beaucoup de gens ne se soucient pas du WYSIWYG.
Opus en cours
Passer neuf ans au lieu d'un pour créer du tex est le même genre d'erreur de calcul épique qui a conduit Knuth à l'échelle monumentale de L'art de la programmation informatique . Après avoir obtenu son diplôme de premier cycle au Case Institute (maintenant Case Western Reserve), il étudiait pour son doctorat et enseignait au California Institute of Technology en 1962 lorsqu'il a été engagé par l'éditeur de manuels Addison-Wesley pour écrire un volume sur les compilateurs informatiques. (Les compilateurs sont des programmes spéciaux qui convertissent le texte tapé par les programmeurs en instructions dans le langage binaire natif d'un ordinateur.)
Dans son étude doublée d'un livre, Knuth raconte l'histoire du projet. De 1962 à 1966, il écrit la première ébauche au crayon. Le manuscrit comptait 3000 pages. Je pensais que c'était un volume de peut-être 600 pages. J'ai juste pensé que la saisie dans les livres était plus petite que mon écriture. Ensuite, j'ai tapé le premier chapitre et à lui seul, il faisait 450 pages. Je l'ai envoyé à l'éditeur et ils m'ont dit : Don, as-tu une idée de la durée de ton livre ?
Face à un manuscrit aussi lourd, de nombreux éditeurs auraient largué le projet. Au lieu de cela, Addison-Wesley a élaboré un calendrier de publication pour ce qui pourrait éventuellement s'étendre à sept volumes. Le volume 4 est censé être prêt en 2004 et le volume 5 en 2009. Ensuite, Knuth pourrait terminer les volumes 6 et 7 - si ce qu'il a à dire sur les sujets qu'il a choisis est toujours instructif. Peter Gordon, partenaire d'édition chez Addison-Wesley et éditeur de Donald Knuth depuis 20 ans, explique que le succès des trois premiers volumes de The Art of Computer Programming a permis à l'éditeur de construire toute sa ligne informatique autour des travaux de Knuth. Don a son propre plan de vie et son propre sens du timing, note-t-il. C'est un auteur tellement créatif et doué que le mieux qu'un éditeur puisse faire est de rester à l'écart et de le laisser suivre son plan.
Cela aide que le livre continue à attirer les éloges d'autres voyants dans le domaine numérique. Dans sa chronique de journal syndiqué, Bill Gates a répondu un jour à un lecteur : Si vous pensez que vous êtes un très bon programmeur, ou si vous voulez remettre en question vos connaissances, lisez L'art de la programmation informatique, par Donald Knuth. Gates a décrit sa propre rencontre avec le livre : Il m'a fallu une discipline incroyable et plusieurs mois pour le lire. J'ai étudié 20 pages, je l'ai rangé pendant une semaine et je suis revenu pour 20 autres pages. Si quelqu'un est si impétueux qu'il pense tout savoir, Knuth l'aidera à comprendre que le monde est profond et compliqué. Si vous pouvez tout lire, envoyez-moi un curriculum vitae.
Ce qui soutient Knuth à travers son projet épique, c'est son amour fondamental du sujet. Les gens qui travaillent sur l'analyse d'algorithmes ont un double bonheur, dit-il, ressemblant à Yoda. Vous êtes heureux lorsque vous résolvez un problème et encore une fois lorsque les gens sourient en utilisant votre solution dans leur logiciel.
Avant de pouvoir se reposer dans la terre promise, Knuth fait face à une dernière montagne. Il doit reconcevoir l'ordinateur généralisé utilisé dans son livre pour programmer des exemples et des exercices d'une machine de style von Neumann vieille de 50 ans avec des commandes inefficaces vers un système RISC (ordinateur à jeu d'instructions réduit) plus moderne permettant un fonctionnement plus rapide. (Les processeurs Intel de la plupart des PC sont des plus anciens ; les puces PowerPC des modèles Macintosh récents sont RISC.) J'essaie de le concevoir pour qu'il ait 10 ans d'avance sur son temps, dit Knuth. J'ai étudié toutes les machines que nous avons maintenant et j'ai essayé de prendre leurs plus belles caractéristiques et de les assembler toutes. Cette super machine RISC, qu'il appelle MMIX, est essentiellement un concept pédagogique. Mais il dit qu'il aimerait le voir construit. Je passe beaucoup de temps à le documenter pour que quelqu'un puisse le construire. La conception sera dans le domaine public. Au milieu de sa série de conférences d'introduction sur MMIX Computer Musings, Knuth n'est qu'à quelques mois de terminer cette phase de son travail.
Puis? Je commence à charger le volume 4 à pleine vitesse. Je peux écrire environ une page publiable par jour, dit-il. Sur un autre livre, il a écrit une fois à raison de deux pages par jour, mais c'était trop. Je ne pouvais pas être un bon mari et un bon père et ce n'était pas bon. Donc, je promets juste 250 pages par an pour le volume 4. Pour les passionnés de la Bible du logiciel de Knuth, Bill Gates inclus, ces pages ne peuvent pas arriver assez tôt.
Quant à la confiance inébranlable de Knuth dans la poursuite de son objectif à long terme, la biologie semble être de son côté. Sa mère a 87 ans, est en bonne santé et travaille toujours, dit-il, dans la gestion d'une agence immobilière. Son père, qui l'a initié à la typographie informatique, est décédé à 62 ans. Pourtant, ce patriarche numérique conclut : Le père de mon père a vécu jusqu'à 97 ans, alors j'espère prendre de lui.
Avant d'atteindre l'âge avancé requis pour mener à bien tous ses projets de publication, Knuth devra peut-être faire face aux tentations qui accompagnent la célébrité. Une annonce de magazine de deux pages pour fatbrain.com proclame, sur un collage avant-gardiste : présenter la seule librairie au monde où Donald Knuth dépasse John Grisham d'un milliard pour un. C'est peut-être la première reconnaissance commerciale du statut emblématique de Knuth parmi les digerati. Une telle reconnaissance conduira-t-elle à un fléau d'attention juste au moment où le sage du logiciel est sur le point de reprendre son chemin vers l'achèvement de la mission de sa vie ? On se demande combien de temps Moïse aurait pu errer dans le désert si les médias d'aujourd'hui avaient existé.