Il ne s'agit pas d'un problème technique mais plus d'une question qui me taraude l'esprit depuis que j'ai appris à « programmer » ou plutôt à formater avec TeX et LaTeX.

TeX a été écrit dans les années 70-80 en langage C. Or, en langage C, les variables pour effectuer des calculs sont assez simples d'usage. Elles sont typées (entier positif ou relatif, flottant, caractère, booléen, etc).

Mais avec TeX, faire des calculs est beaucoup plus compliqué et beaucoup moins pratique qu'en C puisqu'il n'existe plus que deux sortes d'objets variables (les compteurs et les longueurs) sur lesquels faire des calculs est syntaxiquement pénible (à mon avis).

Pour quelle raison Donald Knuth a-t-il choisi de n'avoir que deux types de variables sur TeX alors que manifestement il aurait pu (au vue du génie de TeX) au minimum reprendre la typologie des variables du langage C ?

Posée 15 Fév, 21:16

Andr%C3%A9C's gravatar image

AndréC
414
Taux d'acceptation : 0%

Modifiée Il y a 2 jours

Pathe's gravatar image

Pathe ♦♦
1.9k238

je ne suis pas sûre où j'ai lu que Don Knuth a essayé (sans réussir) de ne pas faire de TeX un langage de programmation.

(16 Fév, 00:19) touhami touhami's gravatar image

Le premier langage dans lequel Knuth a écrit TeX est le Pascal. Le passage à C est plus tardif. Les outils "web", "tangle" et "weave" sont d'abord fait pour Pascal. Voir la documentation de web/tangle pour s'en convaincre.

(16 Fév, 01:09) Le TeXnicien de surface Le%20TeXnicien%20de%20surface's gravatar image

@Le TeXnicien de surface Le Pascal et le C gèrent les variables de façon sensiblement identiques : elles sont déclarées et typées. Les calculs dans ces deux langages sont assez simples à écrire contrairement à TeX.

(16 Fév, 10:43) AndréC Andr%C3%A9C's gravatar image
Soyez le premier à répondre à cette question !
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.

Mots-clés de la question :

×2
×1
×1
×1

Question posée : 15 Fév, 21:16

Question vue : 84 fois

Dernière mise à jour : 16 Fév, 10:43

Questions similaires