- La notación es una herramienta importante para ayudar al pensamiento y cumple un papel clave tanto en matemáticas como en los lenguajes de programación
- El lenguaje APL fue desarrollado como un intento de combinar las ventajas de la notación matemática con la capacidad de ejecución y la universalidad de un lenguaje de programación
- Las características de una buena notación incluyen concisión, claridad, capacidad de sugerencia, subordinación de los detalles y posibilidad de demostración formal
- Diversas estructuras matemáticas (polinomios, transformaciones, grafos, etc.) pueden expresarse y transformarse eficientemente con APL
- La introducción y el aprendizaje de la notación deben darse de forma natural dentro del contexto, y también son importantes la estructuración y la generalidad de la notación
La notación como herramienta para pensar
- En campos científicos como la química y la botánica, la nomenclatura sistemática también impulsa el desarrollo de la disciplina
- George Boole enfatizó que el lenguaje mismo es un medio para pensar
- La notación matemática es un ejemplo representativo de un lenguaje que apoya el pensamiento, ya que reduce la carga mental y potencia la capacidad de razonar
- A.N. Whitehead y Charles Babbage destacaron la importancia de la notación matemática
El potencial de los lenguajes de programación como herramientas para pensar
- Los lenguajes de programación tienen la fortaleza de la generalidad y la claridad
- Permiten experimentar ideas y realizar experimentos mentales claros mediante la computadora
- Sin embargo, la mayoría de los lenguajes de programación tienen un papel más débil como herramientas para pensar en comparación con la notación matemática
- APL fue diseñado como una notación orientada a apoyar el pensamiento, buscando claridad y precisión
Principales características de una buena notación
- Facilidad para expresar problemas: debe permitir expresar con facilidad estructuras derivadas directamente del problema
- Capacidad de sugerencia: la forma expresada debe insinuar problemas similares o ampliados
- Subordinación de los detalles: debe ofrecer una estructura que simplifique detalles complejos para ayudar al pensamiento
- Concisión: debe permitir una amplia gama de expresiones con un mínimo de símbolos y reglas
- Posibilidad de demostración formal: la notación debe facilitar la prueba formal y el razonamiento deductivo
Introducción a las técnicas básicas de notación en APL
- Usa de manera natural estructuras basadas en arreglos, como vectores y matrices
- Las funciones y operadores se aplican automáticamente elemento por elemento sobre vectores y matrices
- Permite expresar composición de funciones mediante operadores como reducción(
/), escaneo(\) y producto interno(.)
- Con símbolos básicos como
⍳, ⌽, ⍴, +, ×, * se pueden construir fórmulas ricas
- Todas las funciones siguen la regla de precedencia por la derecha, lo que permite escribir expresiones naturales sin paréntesis
Ejemplos de resolución de problemas y estímulo del pensamiento
- Secuencias matemáticas como los números triangulares y el factorial pueden expresarse con fórmulas simples
- La representación y multiplicación de polinomios, así como operaciones como la derivación, se manejan de forma concisa con reglas consistentes
- La teoría de grafos (árboles, cierre transitivo, árboles de expansión) también puede expresarse claramente con operaciones sobre arreglos
- Puede extenderse a diversos campos, como permutaciones, álgebra booleana y conversión entre sistemas numéricos (factorización prima)
Demostración formal y pensamiento estructurado
- Como todas las operaciones y expresiones se representan de forma claramente ejecutable, es posible validarlas automáticamente con una computadora
- Se presentan diversos ejemplos de demostración formal mediante inducción matemática, búsqueda exhaustiva y enumeración de identidades
- Se demuestran formalmente la partición (identidad) de reducción y escaneo, así como la asociatividad y distributividad del producto interno
- Se prueban directamente las funciones simétricas de Newton y las fórmulas de multiplicación y derivación de polinomios
Comparación entre APL y la notación matemática tradicional
- APL ofrece definición clara de funciones, operaciones sobre arreglos consistentes y un rico sistema de símbolos
- En lugar de reglas de prioridad para cada operación, aplica una regla uniforme de ejecución de derecha a izquierda
- Reduce la complejidad del uso de símbolos matemáticos y apoya la manipulación formal
- Su sintaxis es concisa y sus reglas son consistentes, lo que beneficia tanto a principiantes como a usuarios avanzados
Introducción y aprendizaje de la notación
- Se enfatiza un enfoque en el que la notación necesaria se introduce naturalmente dentro del contexto, sin una "clase de lenguaje" separada
- Los nuevos símbolos se aprenden de forma intuitiva dentro de situaciones problemáticas concretas
- Más que la dificultad de la notación en sí, lo importante es reconocer las distintas posibilidades y la capacidad de expansión que sugiere
Posibilidades de expansión y propuestas para APL
- Se propone ampliar funciones, incluyendo el manejo de números complejos
- Se necesita estandarizar las funciones de elementos únicos (
unique elements) y resumen (summary)
- La introducción de operadores más generalizados permitiría dar soporte a temas adicionales, como el cálculo vectorial
- El objetivo es mejorar la claridad del diseño del lenguaje y su capacidad de razonamiento
Equilibrio entre eficiencia y claridad
- Se recomienda definir primero una notación clara y analizable, y luego aumentar la eficiencia mediante optimización
- Clarificar el algoritmo también ayuda posteriormente a la optimización y a la optimización del compilador
- Las expresiones básicas escritas en APL pueden contribuir tanto a la investigación académica como a las aplicaciones industriales
1 comentarios
Opinión de Hacker News
La notación no solo sustituye una representación por otra, sino que tiene un significado más profundo
El declive de APL se debió a la aparición de Lotus 123 y MS Excel
La hipótesis de Sapir-Whorf sugiere que el lenguaje puede limitar el pensamiento
Estoy desarrollando un proyecto con APL
Me da pena no haber podido terminar la app de notas Freeform
Esta es la conferencia donde se usó por primera vez la expresión "herramienta del pensamiento"
Como material relacionado, se menciona "Notation as a Tool of Thought" de Iverson