1 pontos por GN⁺ 2025-04-26 | 1 comentários | Compartilhar no WhatsApp
  • A notação (Notation) é uma ferramenta importante para auxiliar o pensamento, desempenhando um papel central tanto na matemática quanto nas linguagens de programação
  • A linguagem APL foi desenvolvida como uma tentativa de combinar as vantagens da notação matemática com a executabilidade e a universalidade de uma linguagem de programação
  • As características de uma boa notação incluem concisão, clareza, sugestividade, subordinação dos detalhes e possibilidade de prova formal
  • É possível representar e transformar com eficiência em APL várias estruturas matemáticas, como polinômios, transformações e grafos
  • A introdução e o aprendizado da notação devem ocorrer naturalmente dentro do contexto, e a estrutura e a generalidade da notação também são importantes

Notação como Ferramenta de Pensamento

  • Em áreas científicas como química e botânica, sistemas de nomenclatura também impulsionaram o progresso acadêmico
  • George Boole enfatizou que a própria linguagem é um meio de pensamento
  • A notação matemática é um exemplo representativo de linguagem que apoia o pensamento, reduzindo sua carga e ampliando a capacidade de raciocínio
  • A.N. Whitehead e Charles Babbage destacaram a importância da notação matemática

O potencial das linguagens de programação como ferramenta de pensamento

  • Linguagens de programação têm como pontos fortes a universalidade e a clareza
  • Elas permitem experimentar ideias por meio do computador e realizar experimentos mentais de forma precisa
  • No entanto, a maioria das linguagens de programação ainda é menos eficaz como ferramenta de pensamento do que a notação matemática
  • O APL foi projetado como uma notação voltada a apoiar o pensamento, buscando clareza e precisão

Principais características de uma boa notação

  • Facilidade de expressão do problema: deve permitir representar com facilidade estruturas derivadas diretamente do problema
  • Sugestividade: a forma expressa deve sugerir problemas semelhantes ou expansões possíveis
  • Subordinação dos detalhes: deve oferecer uma estrutura que simplifique detalhes complexos e favoreça o raciocínio
  • Concisão: deve possibilitar ampla expressividade com o mínimo de símbolos e regras
  • Possibilidade de prova formal: a notação deve ser adequada para provas formais e raciocínio dedutivo

Introdução às técnicas básicas de notação do APL

  • Uso natural de estruturas baseadas em arrays, como vetores e matrizes
  • Funções e operadores são aplicados automaticamente elemento a elemento sobre vetores/matrizes
  • Operadores como redução(/), scan(\) e produto interno(.) expressam composição de funções
  • Símbolos básicos como , , , +, ×, * permitem compor expressões ricas
  • Todas as funções seguem a regra de precedência à direita, permitindo escrever expressões naturais sem parênteses

Exemplos de resolução de problemas e estímulo ao pensamento

  • Sequências matemáticas como números triangulares e fatoriais podem ser expressas com fórmulas simples
  • Representação de polinômios e operações como multiplicação e derivação são tratadas de forma concisa com regras consistentes
  • Teoria dos grafos (árvores, fecho transitivo, árvores geradoras) também pode ser expressa com clareza por meio de operações sobre arrays
  • Pode ser estendido a várias áreas, como permutações, álgebra booleana e conversão entre sistemas numéricos (fatoração em primos)

Prova formal e pensamento estruturado

  • Como todas as operações e expressões são representadas em formas claramente executáveis, é possível fazer verificação automática com o computador
  • São apresentados vários exemplos de prova formal por indução matemática, busca exaustiva e enumeração de identidades
  • São formalmente demonstradas a partição (identity) de redução e scan, bem como associatividade e distributividade do produto interno
  • São provadas diretamente funções simétricas de Newton, multiplicação de polinômios e fórmulas de derivação

Comparação entre APL e a notação matemática tradicional

  • O APL oferece definição clara de funções, operações consistentes sobre arrays e um sistema rico de símbolos
  • Em vez de regras de precedência para todas as operações, aplica-se a regra de execução da direita para a esquerda
  • Reduz a complexidade do uso de símbolos matemáticos e apoia a manipulação formal (formal manipulation)
  • A sintaxe é concisa e as regras são consistentes, beneficiando tanto iniciantes quanto usuários experientes

Introdução da notação e métodos de aprendizado

  • Destaca-se a abordagem de introduzir naturalmente, no contexto, apenas a notação necessária, sem uma "aula de linguagem" separada
  • Novos símbolos são aprendidos de forma intuitiva dentro de situações concretas de resolução de problemas
  • Mais importante do que a dificuldade da notação em si é reconhecer as várias possibilidades e extensões que ela sugere

Possibilidades de expansão e propostas para o APL

  • Propostas de expansão de funções, incluindo tratamento de números complexos
  • Necessidade de padronizar funções de elementos únicos (unique elements) e resumo (summary)
  • A introdução de operadores mais generalizados pode apoiar tópicos adicionais, como cálculo vetorial
  • O objetivo é melhorar a clareza do design da linguagem e a capacidade de raciocínio

Equilíbrio entre eficiência e clareza

  • Recomenda-se primeiro definir uma notação clara e analisável e depois aumentar a eficiência por meio de otimização
  • Tornar o algoritmo mais claro também ajuda em otimizações posteriores e na otimização por compiladores
  • Expressões básicas escritas em APL têm potencial para contribuir tanto para a investigação acadêmica quanto para aplicações industriais

1 comentários

 
GN⁺ 2025-04-26
Comentários do Hacker News
  • A notação tem um significado mais profundo do que simplesmente substituir uma expressão por outra

    • Uma nova notação faz pensar sobre um problema de uma nova maneira
    • Muitos problemas não resolvidos podem vir a ser solucionados com uma notação poderosa
    • Isso é algo óbvio para matemáticos e cientistas da computação, mas controverso entre linguistas e educadores
    • A hipótese de Sapir-Whorf afirma que a linguagem determina o pensamento
    • A linguagem natural é um produto cultural, e no meio acadêmico é um tabu relacionar cultura e pensamento
    • Até na educação, os estudantes acabam não aprendendo notações que lhes permitam realmente compreender os problemas
  • O declínio do APL ocorreu por causa do surgimento do Lotus 123 e do MS Excel

    • O APL poderia ter tido um impacto muito maior
    • A comunidade de CS estava focada em Symbolics, IA e LISP
  • A hipótese de Sapir-Whorf sugere que a linguagem pode limitar o pensamento

    • A linguagem e o pensamento podem ser determinados pelas regras da interação social
    • A música pode expressar coisas que não podem ser expressas de outras formas
  • Estou desenvolvendo um projeto usando APL

    • Os conceitos do APL servem como base para o pensamento
    • Estou ensinando NAATOT em um programa de arquitetura
    • Meu sonho é fazer os alunos criarem seu próprio sistema de notação simbólica
  • É uma pena não ter conseguido concluir um app de anotações freeform

    • Era uma ideia adequada para conteúdo técnico de áreas STEM
    • Como exemplo, compartilho antigas anotações de química
  • Esta foi a palestra em que a expressão "ferramenta do pensamento" foi usada pela primeira vez

    • Ao aprender APL, percebi que era possível colocar muito código em um tweet
    • A notação matemática carece de universalidade e pode ser interpretada de formas diferentes
    • Há um custo alto quando a notação se separa da visualização e da ergonomia do problema
    • A notação padrão pode limitar o pensamento criativo
  • Como material relacionado, é mencionado "Notation as a Tool of Thought", de Iverson