Afinal, CSS é ou não linguagem de programação? | Questionamento | Debate #CSS
Olá, meus caros. No meio dos meus devaneios, fiquei pensando sobre programação e o que a define. Após pensar em JS, pensei em HTML, que é uma linguagem de MARCAÇÃO e isso está bem definido na minha mente. Porém, ao pensar em CSS, me surgiu a dúvida:
##CSS É UMA LINGUAGEM DE PROGRAMAÇÃO?
Me questionei pois:
- Javascript tem eventos, e...CSS tem uma "espécie" de evento(hover, active etc)
- Através dos "eventos" citados, o usuário tem uma interação dinâmica
- Existem variáveis em CSS.
Peço para que me digam:
##É ou NÃO?
Até mais!
Não possuo fontes precisas, mas curso Ciência da Computação, aprendi em uma disciplina que para que uma linguagem possa ser considerada uma linguagem de programação ela deve resolver os problemas que são computáveis.
Por exemplo, é possível fazer uma calculadora usando qualquer linguagem de programação, algumas vão ser mais dificeis e outras mais fáceis.
Porém com CSS não consigo ver uma forma de fazer uma calculadora (Apenas usando CSS), pode existir uma forma, caso algum EXPERT do CSS possa falar eu agradeceria.
Mas isso é um exemplo simples, pode até ser possível, mas pensando em grandes sistemas, acho muito dificil que possa ser utilizado.
Então, por não passar no conceito de que "para que uma linguagem possa ser considerada uma linguagem de programação ela deve resolver os problemas que são computáveis." CSS não é uma linguagem de programação.
Gostei muito do questionamento, admito não ter uma resposta pronta então responderei de outra maneira, primeiramente direi o que acho com base em ideias que já possuo, em seguida farei uma pesquisa para tenter responder adequadamente.
Antes da pesquisa
Creio que não seja uma linguagem de programação. Elementos como condicionais, loops, funções, entre outros não são encontrados no CSS, o que me faz ter essa ideia de que não é uma linguagem de programação, ela me lembra algo mais como o HTML só que um pouco mais dinâmico.
Depois da pesquisa
Não é uma linguagem de programação. Ela é uma linguagem de estilização. Para ser considerada uma linguagem de programação ela precisaria ser turing complete, ou seja, precisaria conseguir realizar todas essas operações:
- realizar cálculos.
- alterar a informação contida na memória.
- tomar decisões.
- mudar o fluxo de execução.
Isso foi o suficiente para sanar minhas dúvidas, porém caso queira ler um pouco mais sobre, eu retirei a informação daqui:
https://pt.stackoverflow.com/questions/35547/html-%C3%A9-uma-linguagem-de-programa%C3%A7%C3%A3o
Esse post também foi bem explicativo e resumido:
https://pt.quora.com/Por-que-HTML-e-CSS-n%C3%A3o-s%C3%A3o-linguagens-de-programa%C3%A7%C3%A3o