Executando verificação de segurança...
5

Mais uma questão onde a divisória é muito tênue. :D

Votei sim mas acho que precisaria embasar o meu raciocínio.

O Excel (ou a maioria das planilhas eletrônicas acho que desde o visicalc) poderiam ser consideradas uma linguagem de programação? O Smalltalk é uma IDE euma linguagem de programação. Scratch é uma IDE? e uma linguagem de programação. Emacs é um editor/ide mas a linguagem de programação é elisp.

Mas é possível fazer um sistema em uma planilha como o Excel apenas utilizando os recursos mesmo sem utilizar VBA.

Sobre o Excel (ou outras planilhas) e ignorando o VBA e qualquer outra finalidade.

  • é possível fazer cálculos? : sim e é uma das finalidades básicas de uma planilha.
  • é possível mudar informações contidas em algum tipo de memória? ; acho que o que mais acontece
  • é tomar decisões : sim; tem if e outras comparações
  • é mudar o fluxo de execução : sim

Estudo de caso

  • Indústria com um sistema em excel. Planilha com quase 8MiB. Nenhuma linha de VBA.
  • Proposta inicial. Converter para um programa GUI com uma versão para a engenharia/vendas e outra para clientes.

Como o meu ambiente de desenvolvimento é Linux...

  • Dificuldade para abrir o arquivo (LibreOffice causava alguns erros; WPS abriu legal)
  • Como não sou muito familiarizado com planilhas, levei um tempo mas é chato converter aquele monte de fórmulas, If, Lookup, etc., para uma linguagem de programação e pegar a lógica da coisa.

Resultado

  • Primeira versão ficou ótima.
  • Mais funcionalidades e facilidade que o excel.
  • Integração com outros sistemas da empresa.
  • Ainda estou melhorando.
Carregando publicação patrocinada...
4

Legal, a ideia é essa. De fato não é uma unanimidade, mas eu percebo que a maioria das pessoas usam esse critério porque se considerar de outra forma fica aberto demais, e até ficaria sem sentido direfenciar HTML como uma linguagem de marcação.

O Donald Knuth, um acadêmico dos melhores na área da computação, desses que rarmente aparece um, com lucidez incrível, já escreveu que considera HTML uma linguagem de programação (já recebi negativo na postagem provavelmente porque a pessoa também acha que é, mas não quis dizer nada). Quem sou eu para contestar o Donald Knuth, mas isso mostra que nem tudo que uma determinada pessoa falou seja provado como verdade.

Vou dar o exemplo do Winston Churchil que tem uma famosa frase:

A democracia é péssima, mas é melhor que as outras formas

Até pode ser verdade, mas o argumento que as pessoas usam para afirmar isso é que ele falou, esse argumento não é válido, mesmo que a premissa seja verdadeira.

Então estou dizendo que o Don Knuth está errado? Claro que não, apenas que ele usou outro critério. Nos escritos dele está lá o argumento. Ele diz que qualquer linguagem usada que mande o computador executar algo é uma linguagem de programação. Ok, é um critério.

Por esse critério o português pode ser uma linguagem de programação, ainda mais com IA. Porque na definção dele não importa o quão complexa é a tradução para um computador executar, se tem que usar um LLM e agentes para o computador executar, e pior ainda se for falado, tem que fazer o reconhecimento da voz.

Então o HTML seria uma PL porque diz ao computador como apresentar dados na tela do computador (ou de outra forma). Não deixa de ser uma forma de programar. Ele não está errado, mas está adotando um critério mais aberto que complica a classificação e não é o´que eu vejo como prevalente. O Turing complete parece ser o critério quase universal. E eu tenho quase certeza que se perguntar para ele se usando o critério de TC, HTML não é um PL. E se por acaso ele discordar ele nos dará um belo ensinamento com argumentos fundamentados.

Obviamente que pelo critério dele Excel é uma PL.

Um amigo meu perguntou: se fizer uma continha simples no Excel, você está programando? Eu respondi com outra pergunta, se você escrever um Hello World em Python ou Java, está programando? Então importa o que você faz ou a capacidade que a linguagem tem?

Claro que usei o Excel como exemplo, poderiam ser outras planilhas e provavelmente o Visicalc em alguma versão era Turing complete, mas acho que não nas primeiras.

É isso aí, o exemplo é perfeito.

Se alguém disser que HTML ou Excel não é uma PL, ok a pessoa pode estar certa, só gostaria que ela falasse qual é o critério que usou, até para ajudar outras pessoas a aprender mais sobre isso.

Obrigado pela oportunidade de eu dar mais detalhes.