- La notation est un outil essentiel pour aider la pensée, et joue un rôle central aussi bien en mathématiques que dans les langages de programmation
- Le langage APL a été développé comme une tentative de combiner les avantages de la notation mathématique avec l’exécutabilité et l’universalité d’un langage de programmation
- Les caractéristiques d’une bonne notation incluent la concision, la clarté, le pouvoir de suggestion, la subordination des détails et la possibilité de preuve formelle
- Il est possible de représenter et transformer efficacement avec APL diverses structures mathématiques (polynômes, transformations, graphes, etc.)
- L’introduction et l’apprentissage d’une notation doivent se faire naturellement dans le contexte, et sa structuration ainsi que sa polyvalence sont également importantes
La notation comme outil de pensée
- Dans des domaines scientifiques comme la chimie ou la botanique, une nomenclature systématique favorise aussi le progrès des disciplines
- George Boole soulignait que le langage lui-même est un moyen de penser
- La notation mathématique est un exemple représentatif de langage au service de la pensée, réduisant la charge cognitive et renforçant la capacité de raisonnement
- A.N. Whitehead et Charles Babbage ont souligné l’importance de la notation mathématique
Le potentiel des langages de programmation comme outils de pensée
- Les langages de programmation présentent les atouts de la polyvalence et de la clarté
- Ils permettent d’expérimenter des idées via l’ordinateur et de mener des expériences de pensée avec précision
- Cependant, la plupart des langages de programmation restent moins efficaces que la notation mathématique comme outils de pensée
- APL a été conçu comme une notation au service de la pensée, orientée vers la clarté et la précision
Principales caractéristiques d’une bonne notation
- Facilité d’expression du problème : elle doit permettre d’exprimer facilement des structures dérivées directement du problème
- Pouvoir de suggestion : la forme exprimée doit suggérer des problèmes analogues ou des extensions
- Subordination des détails : elle doit fournir une structure qui simplifie les détails complexes afin de faciliter la réflexion
- Concision : elle doit permettre une large gamme d’expressions avec un minimum de symboles et de règles
- Possibilité de preuve formelle : la notation doit se prêter aux preuves formelles et au raisonnement déductif
Introduction aux techniques de base de notation en APL
- Les structures fondées sur les tableaux, comme les vecteurs et les matrices, y sont utilisées naturellement
- Les fonctions et opérateurs s’appliquent automatiquement élément par élément aux vecteurs et matrices
- Des opérateurs comme la réduction (
/), le scan(\) et le produit intérieur(.) permettent d’exprimer des compositions de fonctions
- Des symboles de base comme
⍳, ⌽, ⍴, +, ×, * permettent de construire des expressions riches
- Toutes les fonctions suivent une règle de priorité à droite, ce qui permet d’écrire naturellement des expressions sans parenthèses
Exemples de résolution de problèmes et de stimulation de la pensée
- Des suites mathématiques comme les nombres triangulaires ou les factorielles peuvent être exprimées par des formules simples
- La représentation des polynômes ainsi que des opérations comme la multiplication ou la dérivation sont traitées de manière concise avec des règles cohérentes
- La théorie des graphes (arbres, fermeture transitive, arbre couvrant) peut elle aussi être exprimée clairement au moyen d’opérations sur tableaux
- L’approche peut s’étendre à de nombreux domaines, comme les permutations, l’algèbre booléenne ou les conversions entre systèmes numériques (factorisation en nombres premiers)
Preuve formelle et pensée structurée
- Comme toutes les opérations et expressions sont formulées sous une forme clairement exécutable, une vérification automatique par ordinateur est possible
- Divers exemples de preuves formelles sont présentés à l’aide de la récurrence, de la recherche exhaustive et de l’énumération d’identités
- Démonstrations formelles de l’identité de partition de la réduction et du scan, ainsi que de l’associativité et de la distributivité du produit intérieur
- Preuves directes des fonctions symétriques de Newton, de la multiplication des polynômes et des formules de dérivation
Comparaison entre APL et la notation mathématique traditionnelle
- APL fournit une définition claire des fonctions, des opérations cohérentes sur tableaux et un système de symboles riche
- Toutes les opérations suivent une règle d’évaluation de droite à gauche plutôt qu’un système classique de priorités
- Il réduit la complexité liée à l’usage des symboles mathématiques et prend en charge la manipulation formelle (formal manipulation)
- Sa syntaxe est concise et ses règles cohérentes, ce qui profite autant aux débutants qu’aux utilisateurs expérimentés
Introduction et apprentissage de la notation
- Il met l’accent sur une introduction naturelle, dans le contexte, des seules notations nécessaires, sans « cours de langue » séparé
- De nouveaux symboles s’apprennent intuitivement dans des situations de problème concrètes
- Plus que la difficulté intrinsèque de la notation, l’important est de reconnaître les diverses possibilités et son extensibilité
Possibilités d’extension et propositions autour d’APL
- Proposition d’étendre les fonctions, notamment pour le traitement des nombres complexes
- Nécessité de standardiser les fonctions d’éléments uniques (unique elements) et de résumé (summary)
- L’introduction d’opérateurs plus généralisés pourrait prendre en charge des sujets supplémentaires comme le calcul vectoriel
- Objectif : améliorer la clarté de la conception du langage et ses capacités de raisonnement
Équilibre entre efficacité et clarté
- Il est recommandé de définir d’abord une notation claire et analysable, puis d’en améliorer l’efficacité par l’optimisation
- La clarification des algorithmes aide ensuite à l’optimisation et à l’optimisation par le compilateur
- Les expressions de base écrites en APL peuvent contribuer à la fois à la recherche académique et aux applications industrielles
1 commentaires
Commentaire Hacker News
La notation a une signification plus profonde que le simple remplacement d’une représentation par une autre
Le déclin d’APL est dû à l’arrivée de Lotus 123 et de MS Excel
L’hypothèse de Sapir-Whorf suggère que la langue peut limiter la pensée
Un projet utilisant APL est en cours de développement
Il est regrettable qu’une application de notes Freeform n’ait pas pu être menée à terme
Il s’agit du cours où l’expression « outil de pensée » a été utilisée pour la première fois
Le document connexe mentionné est « Notation as a Tool of Thought » d’Iverson