Cara, gostei da proposta e do desenvolvimento que você trouxe. Maaas nem precisa ir tão longe a ponto de discutir se Excel é ou não linguagem de programação. Tenho me pegado refletindo sobre algo que parece ainda mais “programável”: o PowerShell.
Olha só, de acordo com os critérios mencionados como ser Turing complete, ter controle de fluxo, suporte a variáveis, funções, capacidade de cálculo e manipulação de memória — o PowerShell preenche todos esses requisitos. Dá até pra ir além: ele carrega assemblies do .NET e manipula objetos via pipeline. Ou seja, se a gente for se apegar à definição puramente técnica, dá pra dizer que ele é uma linguagem de programação.
A Máquina de Turing é um critério técnico, mas ele mesmo admite que é uma convenção, um ponto de corte arbitrário e pragmático. O ponto é: ser Turing complete é condição suficiente, mas talvez não seja necessária pra gente, na prática, reconhecer algo como linguagem de programação.
Se a gente pensar que programar envolve projetar, abstrair, criar soluções genéricas, estruturar código para reuso e manutenção... aí o PowerShell começa a parecer mais com um instrumento de script do que uma linguagem "de verdade". Dá pra fazer umas mágicas com ele? Dá. Mas também dá com Excel, XSLT, ou até com CSS usando hacks. A questão é: vale a pena? Foi pra isso que ele nasceu?