International Essays

Nuevas funciones por doquier: Lanzamiento de la versión 14.3 de Wolfram Language & Mathematica

5 de agosto de 2025
Este cuaderno es una traducción al español del artículo de la Comunidad Wolfram “New Features Everywhere: Launching Version 14.3 of Wolfram Language & Mathematica” producido con ayuda de un LLM y verificado por un traductor profesional

Este es un gran lanzamiento

La versión 14.2 se lanzó el 23 de enero de 2025. ​Hoy, poco más de seis meses después, estamos lanzando la versión 14.3. Y a pesar de su modesta denominación .x, es una considerable, con muchas funciones importantes nuevas y actualizadas, especialmente en áreas fundamentales del sistema.
Me complace especialmente poder informar que en esta versión estamos entregando una cantidad excepcionalmente grande de funciones solicitadas desde hace mucho tiempo. ¿Por qué no llegaron antes? Bueno, fueron difíciles, al menos para construirlas con nuestros estándares, pero ahora están aquí, listas para que todos las usen.
Quienes han estado siguiendo nuestras revisiones de diseño de software transmitidas en vivo (42 horas de ellas desde la versión 14.2) pueden hacerse una idea del esfuerzo que dedicamos a lograr que el diseño de las cosas sea correcto. De hecho, hemos estado aplicado ese tipo de esfuerzo constantemente durante casi cuatro décadas, desde que comenzamos a desarrollar versión 1.0. Y el resultado es algo que a mi parecer es completamente único en el mundo del software: un sistema que es consistente y coherente de principio a fin, y que ha mantenido la compatibilidad durante 37 años.
Ahora es un sistema muy grande, y hasta yo a veces olvido algunas de las cosas asombrosas que puede hacer. Pero lo que ahora me ayuda rutinariamente con eso es nuestro Notebook Assistant, el cual se lanzó a finales del año pasado. Si intento averiguar cómo hacer algo, simplemente escribo una descripción ambigua de lo que quiero en Notebook Assistant. Notebook Assistant entonces es sorprendentemente bueno para “precisar” lo que estoy pidiendo, y producir fragmentos pertinentes de código de Wolfram Language.
A menudo fui demasiado ambiguo para que ese código fuera exactamente lo que quiero. Pero casi siempre me orienta en la dirección correcta y, con pequeñas modificaciones, termina siendo exactamente lo que necesito.
Es un flujo de trabajo muy bueno, hecho posible al combinar la inteligencia artificial más reciente con las características únicas de Wolfram Language. Hago una pregunta ambigua y Notebook Assistant me da un código preciso. Pero lo crucial es que el código no es código de un lenguaje de programación, es código de lenguaje computacional de Wolfram Language. Es un código específicamente diseñado para ser leído por humanos y para representar el mundo de forma computacional al nivel más alto posible. La inteligencia artificial va a comportarse de la manera heurística propia de las IA, pero cuando al seleccionar el código de Wolfram Language que uno desee, se obtiene algo preciso sobre lo cual se puede construir y confiar.
Es asombroso lo importante que es la consistencia del diseño de Wolfram Language en tantos aspectos. Es lo que permite que las diferentes facetas del lenguaje operar en conjunto de manera tan fluida. Es lo que hace que sea fácil aprender nuevas áreas del lenguaje. Y, hoy en día, también es lo que hace que sea sencillo para las inteligencias artificiales utilizar el lenguaje de forma eficaz, utilizándolo como una herramienta al igual que lo hacen los humanos.
El hecho de que Wolfram Language sea tan coherente en su diseño, y tenga tanto contenido incorporado, también tiene otra consecuencia: significa que es fácil añadirle elementos. Y en los últimos 6 años, se han publicado más de 3200 funciones adicionales en Wolfram Function Repository. Y sí, muchas de estas funciones pueden llegar a convertirse en funciones incorporadas completas, aunque a veces solo después de una década o más. Pero aquí y ahora Notebook Assistant las conoce en su forma actual, y puede mostrar automáticamente dónde podrían encajar en lo que estamos haciendo.
Pero bueno, volvamos a la versión 14.3. De la cual hay mucho de qué hablar...

A oscuras: El modo oscuro ya está aquí

Comencé a usar computadoras con pantallas en 1976, y en ese entonces todas las pantallas eran negras y el texto que aparecía era blanco. En 1982, cuando salieron las computadoras tipo “estación de trabajo”, esto se invirtió, y empecé a usar pantallas que se parecían más a páginas impresas, con texto negro sobre fondos blancos. Esa fue la forma habitual en que funcionaron las cosas durante varias décadas. Luego, hace poco más de cinco años, el “modo oscuro” empezó a hacerse popular, y se volvimos a las pantallas al estilo de los años setenta, aunque ahora, por supuesto, con todo el color, mucha más resolución, etc. Hemos tenido “estilos de modo oscuro” disponibles en los cuadernos desde hace mucho tiempo. Pero ahora, en la versión 14.3, tenemos soporte completo para el modo oscuro. Y si configuramos el sistema en Modo oscuro, en la versión 14.3 todos los cuadernos se mostrarán automáticamente en modo oscuro de forma predeterminada:
Podríamos pensar: ¿no es algo trivial configurar un modo oscuro? ¿No basta simplemente con cambiar el fondo a negro y el texto a blanco? Bueno, en realidad hay mucho, mucho más que eso. Y al final, es un desafío bastante complejo, tanto de interfaz de usuario como algorítmico, que creo que ahora hemos resuelto muy bien en la versión 14.3.
Aquí tenemos una pregunta básica: ¿qué debería sucederle a una representación gráfica al cambiar a modo oscuro? Queremos que los ejes se vuelvan blancos, pero que las curvas mantengan sus colores (de lo contrario, ¿qué pasaría con el texto que hace referencia a las curvas por su color?). Y eso es exactamente lo que ocurre en la versión 14.3:
In[]:=
Plot[{Sin[x],Cos[x],Tan[x]},{x,0,10}]
In[]:=
Plot[{Sin[x],Cos[x],Tan[x]},{x,0,10}]
No hace falta decir que un punto complicado es que los colores de las curvas deben elegirse para que se vean bien tanto en el modo claro como en el modo oscuro. Y de hecho, en la versión 14.2, cuando “mejoramos” nuestros colores predeterminados para las representaciones gráficas, lo hicimos precisamente en parte anticipándonos al modo oscuro.
En la versión 14.3 (como se discutirá a continuación) hemos seguido mejorando los colores de los gráficos, abarcando muchos casos complejos y asegurándonos siempre de preparar todo tanto para el modo oscuro como para el claro:
In[]:=
ArrayPlot3D[Total[CellularAutomaton[<|"Dimension"3,"GrowthCases"{1,2,3}|>,{{{{1}}},0},15]]]
In[]:=
ArrayPlot3D[Total[CellularAutomaton[<|"Dimension"3,"GrowthCases"{1,2,3}|>,{{{{1}}},0},15]]]
Pero los gráficos generados por computación no son el único tipo de elemento afectado por el modo oscuro. También existen, por ejemplo, innumerables elementos de la interfaz de usuario que deben adaptarse para verse bien en modo oscuro. En total, hay miles de colores afectados, todos los cuales deben ser tratados de manera consistente y estética. Para lograr esto, terminamos inventando toda una gama de métodos y algoritmos (que eventualmente pondremos a disposición externa como un paclet).
Y el resultado, por ejemplo, es que algo como el cuaderno puede configurarse esencialmente de forma automática para funcionar en modo oscuro:
¿Pero qué está ocurriendo bajo la superficie? No hace falta decir que hay una representación simbólica involucrada. Normalmente, especificamos un color como, por ejemplo,
RGBColor
[1,0,0]
. Pero en la versión 14.3, en su lugar podemos usar una representación simbólica como:
In[]:=
LightDarkSwitched[Red,LightBlue]
En el modo claro, esto se mostrará en rojo; en el modo oscuro, en rosa:
In[]:=
Style["Text",25,LightDarkSwitched[Red,Pink]]
In[]:=
Style["Text",25,LightDarkSwitched[Red,Pink]]
Y, sí, cambia al modo oscuro:

¿Cómo se relaciona con la IA? Conectando con el mundo agéntico

¡Tan solo ajusta un modelo a eso!

Los mapas se vuelven más hermosos

Todo tiene un modo oscuro:

Un mejor rojo: Introducción de nuevos colores nombrados

Mejoras adicionales en los gráficos

Así como en el modo oscuro:

Álgebra no conmutativa

Dibuja sobre esa superficie: La anotación visual de regiones

Cálculo y visualización de curvaturas

Geodésicas y planificación de trayectorias

Geometría a partir de subdivisión

O en 3D:

¡Arregla esa malla!

Colorea esa molécula, y más

Y esta es una versión 3D:

Las proteínas se pliegan, localmente

¿Realmente funcionará ese sistema de ingeniería?

Suavizamos nuestros flujos de trabajo de sistemas de control

El espacio hiperbólico en el diseño de grafos

Lo más reciente en cálculo: Transformadas de Hilbert, funciones de Lommel

Más en el mundo de las matrices

With[ ] admite múltiples argumentos

A menudo me encuentro anidando constructos de With:

Cyclic[ ] y listas cíclicas

Novedades en Tabular

Estilo de tabular

Clasificación semántica, extracción de características textuales, y demás

Funciones compiladas que se pueden pausar y reanudar

Cálculo externo encapsulado más rápido y fluido

De cuadernos a presentaciones: El desafío de la relación de aspecto resuelto

Aún más ajustes en la interfaz de usuario

¡Markdown!

Podemos obtener una versión en Markdown con tan solo usar Archivo > Guardar como > Markdown:
Así es como se ve esto en un visor de Markdown:

Novedades en la documentación web: Barra lateral de navegación

Y aún más...