International Essays

Recursos inéditos em toda parte: Lançamento da Versão 14.3 da Wolfram Language & Mathematica

05 de agosto de 2025
Publicação Original

Este é um grande lançamento

A Versão 14.2 foi lançada em 23 de janeiro de 2025. ​No dia de hoje, pouco mais de seis meses depois, estamos lançando a Versão 14.3. E, apesar de sua modesta designação .x, esse é um grande lançamento, com muitos recursos inéditos e atualizações importantes, especialmente em áreas centrais do sistema.
Estou particularmente satisfeito por poder informar que, nesta versão, estamos entregando um número excepcionalmente grande de recursos há muito tempo solicitados. Por que não estavam disponíveis antes? Bem, eles eram bastante difíceis — pelo menos para atender aos nossos padrões. Mas agora eles chegaram, prontos para todos usarem.
Quem tem acompanhado nossas revisões de design de software transmitidas ao vivo (42 horas delas desde a Versão 14.2) pode ter uma noção do esforço que fazemos para acertar o design de tudo. E, na verdade, temos nos esforçado há quase quatro décadas desde que começamos a desenvolver Versão 1.0. E o resultado é algo que considero absolutamente único no mundo do software: um sistema consistente e coerente de ponta a ponta, e que manteve compatibilidade por 37 anos.
Hoje é um sistema muito grande, e até eu às vezes me esqueço de alguns dos incríveis feitos que ele pode fazer. Agora o que rotineiramente me ajuda com isso é o Notebook Assistant, lançado no fim do ano passado. Para descobrir como fazer algo, basta digitar uma descrição vaga no Notebook Assistant. O Notebook Assistant é notavelmente bom em “refinar” os pedidos e produzir trechos relevantes de código em Wolfram Language.
Por vezes, eu era vago demais para o código ser exatamente o que eu queria. Mas quase sempre ele me coloca no caminho certo e, com pequenas modificações, acaba sendo exatamente o que preciso.
Torna-se um fluxo de trabalho muito bom, possibilitado pela combinação da IA mais recente com as características únicas da Wolfram Language. Eu peço algo vago. O Notebook Assistant me fornece código preciso. O ponto crucial é que o código não é código de linguagem de programação; é código de linguagem computacional da Wolfram Language. É um código especificamente concebido para ser lido por humanos e representar o mundo computacionalmente no nível mais elevado possível. A IA vai se comportar da forma heurística que as IAs fazem. Ao selecionar o código desejado em Wolfram Language, algo bem preciso é obtido, podendo se construir e confiar.
É impressionante como a consistência de design da Wolfram Language é importante de tantas maneiras. É isso que permite que as diferentes facetas da linguagem interoperem de forma tão fluida. É isso que torna fácil aprender novas áreas da linguagem. E, hoje em dia, é também o que facilita que as IAs usem bem a linguagem, recorrendo a ela como uma ferramenta, tal como os humanos fazem.
O fato de a Wolfram Language ser tão consistente em seu design — e ter tanto já incorporado — traz outra consequência: significa que é fácil ampliá-la. E, ao longo dos últimos 6 anos, mais de 3200 funções complementares impressionantes foram publicadas no Wolfram Function Repository. Várias dessas funções podem acabar evoluindo para funções completas e incorporadas, embora às vezes apenas depois de uma década ou mais. Mas, aqui e agora, o Notebook Assistant as conhece em sua forma atual — e pode mostrar automaticamente onde elas podem se encaixar no que você está fazendo.
Pois bem, vamos voltar à Versão 14.3. Há muito para se falado...

Entrar no escuro: O modo escuro chegou

Comecei a usar computadores com telas em 1976. Naquela época, a tela era toda preta, e o texto era branco. Em 1982, quando os computadores “workstation” surgiram, isso se inverteu, e passei a usar monitores que se pareciam mais com páginas impressas, com texto preto em fundo branco. E esse foi o modo usual de funcionamento por várias décadas. Há pouco mais de cinco anos, o “modo escuro” começou a se popularizar e voltamos aos monitores no estilo dos anos 1970, claro, agora com cores completas, em resolução muito mais alta, etc. Há muito tempo, temos “estilos de modo escuro” disponíveis em notebooks. Na Versão 14.3, temos suporte completo ao modo escuro. Ao definir o seu sistema para Dark Mode na Versão 14.3, todos os notebooks, por padrão, serão exibidos automaticamente em modo escuro:
Poderíamos pensar: não é meio corriqueiro configurar o modo escuro? Não seria apenas mudar o fundo para preto e o texto para branco? Bem, na verdade, há muito, mas muito mais envolvido. E, no fim, é uma interface de usuário — e um desafio algorítmico — bastante complexo, que eu acho que agora resolvemos muito bem na Versão 14.3.
Eis uma pergunta básica: o que acontece a um gráfico ao ativar o modo escuro? Você quer que os eixos mudem para branco, mas que as curvas mantenham suas cores (caso contrário, o que aconteceria com o texto que se refere às curvas pela cor?). E é exatamente isso que acontece na Versão 14.3:
Plot[{Sin[x],Cos[x],Tan[x]},{x,0,10}]
Plot[{Sin[x],Cos[x],Tan[x]},{x,0,10}]
Nem é preciso dizer que um ponto complicado é que as cores das curvas precisam ser escolhidas de modo que fiquem boas tanto no modo claro quanto no escuro. E, na verdade, na Versão 14.2, ao “polir” as cores padrão para gráficos, fizemos isso em parte justamente antecipando o modo escuro.
Na Versão 14.3 (como discutiremos abaixo), continuamos aprimorando as cores dos gráficos, tratando de muitos casos difíceis e sempre preparando tudo para contemplar tanto o modo escuro quanto o claro:
ArrayPlot3D[Total[CellularAutomaton[<|"Dimension"3,"GrowthCases"{1,2,3}|>,{{{{1}}},0},15]]]
ArrayPlot3D[Total[CellularAutomaton[<|"Dimension"3,"GrowthCases"{1,2,3}|>,{{{{1}}},0},15]]]
Mas os gráficos gerados por cálculo não são os únicos afetados pelo modo escuro. Há também, por exemplo, incontáveis elementos de interface do usuário. Tudo precisa ser adaptado para ficar bem no modo escuro. Ao todo, há milhares de cores afetadas, todas necessitando ser tratadas de maneira consistente e estética. E, para fazer isso, acabamos concebendo toda uma gama de métodos e algoritmos (que eventualmente disponibilizaremos externamente como um paclet).
O resultado, por exemplo, é que algo como o notebook pode essencialmente ser configurado automaticamente para funcionar no modo escuro:
Mas o que está acontecendo por baixo dos panos? Nem é preciso dizer que há uma representação simbólica envolvida. Normalmente, especifica-se uma cor, por exemplo, como
RGBColor
[1,0,0]
. Mas, na Versão 14.3, em vez disso, usamos uma representação simbólica como:
LightDarkSwitched[Red,LightBlue]
No modo claro, isto aparecerá em vermelho; no modo escuro, em rosa:
Style["Text",25,LightDarkSwitched[Red,Pink]]
Style["Text",25,LightDarkSwitched[Red,Pink]]
Ao fornecer apenas uma única cor em
LightDarkSwitched
, nossos algoritmos automáticos serão usados, neste caso produzindo, no modo escuro, uma cor rosada:
Style["Text",25,LightDarkSwitched[Red]]
Style["Text",25,LightDarkSwitched[Red]]
Isto especifica a cor do modo escuro, deduzindo automaticamente uma cor de modo claro correspondente apropriada:

Como isso se relaciona à IA? Conectando-se com o mundo agente

Apenas faça um ajuste nisso!

Mapas ficam mais bonitos

Tudo tem modo escuro:

Um vermelho melhor: introduzindo novas cores nomeadas

Mais aprimoramentos de gráficos

Assim como no modo escuro:

Álgebra não comutativa

Desenhe nessa superfície: a anotação visual de regiões

Há também uma versão com contornos:

Cálculo e Visualização da Curvatura

bem como as curvaturas máximas e mínimas:

Geodésicas e Planejamento de Trajetórias

Geometria a partir de Subdivisão

Ou em 3D:

Conserte Essa Malha!

Colorir Essa Molécula — e Mais

As proteínas são dobradas — localmente

Será que esse sistema de engenharia realmente funcionará?

Suavizando nossos fluxos de trabalho de sistemas de controle

Indo para o hiperbólico no layout de grafos

O mais recente em cálculo: Transformadas de Hilbert, Funções de Lommel

Preenchendo mais no mundo das matrizes

With[ ] funciona com vários argumentos

Cyclic[ ] e Listas Cyclic

Novidade em Tabular

Estilização Tabular

Classificação Semântica, Extração de Características Textuais e Tudo Isso

Funções compiladas que podem pausar e retomar

Cálculo Externo Encapsulado Mais Rápido e Fluido

De notebooks a apresentações: o desafio da proporção de aspecto resolvido

Ainda mais polimento da interface do usuário

Markdown!

Novidade na Documentação Web: Barra Lateral de Navegação

E ainda mais...