Linguagens de arrays vs. a maldição da planilha

Linguagens orientadas a arrays como APL e Kap estão sendo propostas como alternativas mais principled às planilhas para manipulação complexa de dados, mas sua notação simbólica densa e a avaliação da direita para a esquerda levantam grandes preocupações de usabilidade e facilidade de aprendizado. Comentadores contrastam o modelo bagunçado, porém acessível, do Excel — “grade mais fórmulas”, agora ampliado com lambdas, Python e fórmulas de array — com as expressões compactas, quase matemáticas, das linguagens de array, que podem ser poderosas, mas opacas para não especialistas. Muitos concluem que, embora as planilhas tenham sérios problemas de correção e manutenção, qualquer substituto precisa encontrar os usuários onde eles estão em termos de ergonomia, familiaridade e fluxos de trabalho reais.

Excel como ambiente de programação

  • Vários comentários destacam que o Excel já é uma linguagem de programação “de verdade”: agora tem LAMBDA, lambdas reutilizáveis (nas versões recentes do 365), funções personalizadas, VBA e até Python embutido.
  • Fórmulas de array e arrays dinâmicos “spilled” são apontados como grandes melhorias para operar em intervalos sem copiar e colar fórmulas. O PowerQuery é citado como outra ferramenta embutida poderosa.
  • Alguns argumentam que, para usuários do mundo real, fórmulas são apenas um meio para obter os dados de que eles precisam; os dados, e não o código, são o principal.

Compilação e análise de planilhas

  • Há interesse em converter planilhas para linguagens convencionais (Python, C#, Java) para expor dependências entre células e adicionar estrutura.
  • Existem bibliotecas em Python que interpretam fórmulas do Excel como um DAG e permitem manipular “células” programaticamente. Implementar isso é descrito como complexo devido à falta de uma especificação formal de fórmulas e a muitos casos extremos.
  • Já existem pesquisas e ferramentas (por exemplo, linting, detecção semântica de cheiros) para detectar fórmulas inconsistentes e erros prováveis.

UX e confiabilidade de planilhas

  • Reaparece o desejo por uma distinção visual clara entre células de fórmula e células de entrada; soluções alternativas existentes incluem “Mostrar Fórmulas”, Trace Dependents, formatação condicional com ISFORMULA e convenções manuais de cores.
  • Alguns acham que realçar isso por padrão distrairia da leitura dos dados; outros argumentam que reduziria a carga cognitiva e bugs.
  • Planilhas são descritas como extremamente poderosas, mas também frágeis: fáceis de modificar acidentalmente, difíceis de auditar em escala e amplamente usadas em contextos críticos apesar de muitos erros ocultos.

Linguagens de arrays vs. planilhas

  • A afirmação do artigo de que linguagens de array se encaixam melhor na forma como usuários de planilhas pensam é contestada; muitos dizem que usuários típicos pensam em linhas/colunas, não em matrizes abstratas.
  • Defensores de linguagens de array no estilo APL enfatizam densidade, composicionalidade, eliminação de loops e benefícios de “tool-for-thought” depois que os idioms são aprendidos.
  • Críticos focam em descobribilidade, curva de aprendizado íngreme, glifos incomuns e fraca adequação aos usuários mainstream do Excel; eles comparam desfavoravelmente com linguagens mais verbosas, mas familiares (Scheme, Lisp, Python).

Notação simbólica, legibilidade e ergonomia

  • Há um longo debate sobre glifos Unicode no estilo APL: defensores os comparam à notação matemática e dizem que eles melhoram o reconhecimento de padrões; céticos os veem como code-golf, difíceis de digitar, impossíveis de pesquisar e pouco acessíveis.
  • As sugestões incluem representações duplas (símbolos ↔ nomes por extenso) ou linguagens de array usando ASCII/palavras em inglês (por exemplo, Uiua) para facilitar a adoção.

Kap especificamente

  • Kap é apresentado como uma linguagem de array inspirada em APL, com uma UI parecida com planilha, voltada para JVM/JS/nativo.
  • O autor (na thread) diz que o objetivo não é substituir o Excel para usuários médios, mas oferecer aos usuários de “classe planilha” um ambiente mais bem fundamentado e integrar-se estreitamente com o Excel (copiar/colar, links ao vivo).
  • Alguns comentaristas acham que o exemplo mostrado (a maior palavra com ≤2 vogais) é artificial demais e pedem demonstrações mais realistas e orientadas a negócios.