An Elementary Introduction to the Wolfram Language
Prefacio
Durante más de 30 años he venido explicando lo que hoy se conoce como Wolfram Language y, finalmente, decidí que era el momento de aplicar lo aprendido en ese proceso y escribir una introducción elemental que los lectores pudieran leer sin ayuda. El presente libro es el resultado de ese esfuerzo.
En el año 1988, cuando se hizo el primer lanzamiento de Mathematica, precursor de Wolfram Language, publiqué un libro que contenía un tutorial introductorio, así como la guía de referencia del sistema. Dicho libro alcanzó una gran popularidad y creo que se debió sustancialmente al pronto renombre de Mathematica. El libro, conocido luego como The Mathematica Book, logró cinco ediciones, a lo largo de las cuales fue creciendo en volumen hasta alcanzar cerca de 1500 páginas.
El libro The Mathematica Book se proponía cubrir de manera sistemática todos los aspectos de Mathematica. En 2007 se publicó una nueva edición que resultó de un tamaño tan grande que puso en claro que, de ahí en adelante, sería sencillamente imposible lograr su propósito en un solo libro. Por si fuera poco, la constante introducción de un gran número de nuevos ejemplos en la documentación en línea, habría hecho que una versión impresa alcanzara una extensión de más de 10 000 páginas.
En el año 2009, salió a la luz Wolfram|Alpha, cuya interfaz con lenguaje natural fue específicamente elaborada para permitir su utilización sin necesidad de mayor explicación ni documentación. Y de la amalgama de Mathematica y Wolfram|Alpha surgió Wolfram Language, que requirió nuevamente mayor explicación y documentación.
La documentación en línea para Wolfram Language, la cual en una versión impresa habría tenido más de 50 000 páginas, cumple con creces el objetivo de explicar detalladamente el uso de las múltiples capacidades del sistema. Sin embargo, especialmente para quienes se inician en el uso de Wolfram Language, se hace necesaria una presentación asequible de los principios del lenguaje, cuya coherencia y consistencia he procurado mantener, a través de los años, con gran esfuerzo.
Sin embargo, ¿qué hacer con quienes no están familiarizados con la programación de computadoras? Wolfram Language brinda una oportunidad única, no solamente para introducir a cualquier persona a la programación, sino para llevarla rápidamente a la frontera de lo que, hoy por hoy, es posible hacer en computación.
Esto es consecuencia del esfuerzo realizado en los últimos treinta años para crear la tecnología de Wolfram Language. Me he propuesto desarrollar un lenguaje con el que cualquiera pueda especificar lo que quiera hacer, de la manera más sencilla posible y de forma tal que los detalles se atiendan automáticamente y de manera transparente para alcanzar el objetivo.
Pero, ¿y si uno quisiera aprender de manera autónoma Wolfram Language? En ese caso sería de gran utilidad contar con un compendio sistemático que construya poco a poco, de un concepto al siguiente, y que conteste todas las preguntas obvias a medida que se progrese. Eso es lo que intento lograr en este libro.
Hay más de dos milenios de experiencia en la enseñanza de las matemáticas, y con ello se ha ido mejorando progresivamente la secuencia de la presentación de aritmética, álgebra y demás. En cambio, la enseñanza de Wolfram Language es algo completamente nuevo, que hay que ir desarrollando desde un principio. Y en ese sentido, la forma convencional de enseñar los lenguajes de programación no es de gran ayuda porque casi todo se refiere a tipos de estructuras de bajo nivel que en Wolfram Language ya están automatizadas.
Imagino este libro como un experimento: se trata de buscar una ruta específica para aprender Wolfram Language. No intento cubrirlo todo, porque quizás ello requeriría de más de 50 000 páginas. Más bien quiero explicar los principios del lenguaje mediante un número limitado de ejemplos específicos.
Sobra decir que Wolfram Language tiene muchas posibilidades de gran sofisticación. Algunas de ellas, como la identificación de objetos en imágenes, son sofisticadas internamente, pero se pueden describir con facilidad. En cambio, otras, como la computación de bases de Groebner, son difíciles de explicar y, desde luego, requieren conocimientos avanzados de matemáticas o de ciencias de la computación.
Ciertamente no es esta la única introducción elemental que podría idearse para enseñar Wolfram Language, y ojalá se escriban muchas otras. En esta, se sigue una ruta específica y, en algunos casos, arbitraria a través de las vastas capacidades del lenguaje, haciendo énfasis en algunas de sus características, sin tocar otras que pudieran tener iguales méritos.
Stephen Wolfram
 
Download Notebook Version
en