The Flash The Flash  • 30.01.17 4:17

HTML é uma linguagem de programação? Empty HTML é uma linguagem de programação? 30.01.17 4:17


Não.

Isto é uma dúvida e um erro comum. HTML é uma linguagem de marcação como o próprio nome diz. Hyper Text Markup Language. Mais amplamente pode ser considerada uma linguagem de dados. HTML apenas encapsula dados e descreve o que fazer com eles, não como fazer.
Ela não é linguagem de programação porque não é Turing complete. Ou seja, ela precisaria ter algumas características específicas para poder "programar um dispositivo". Você não pode executar o HTML, por isto é que precisa do JavaScript para fazer algumas coisas, esta sim uma linguagem de programação. Ambas podem até serem consideradas linguagens computacionais, mas para por aí.

Semântica: você programa e/ou codifica em JavaScript mas só codifica em HTML (você cria um código que declara uma forma de apresentação).

HTML está longe de ter a completude de Turing. Ela precisaria ter todas estas capacidades:

  • fazer cálculos;
  • mudar informações contidas em algum tipo de memória;
  • tomar decisões;
  • mudar o fluxo de execução.


Alan Turing criou uma máquina teórica mínima que permite fazer estas operações e passou-se considerar que qualquer linguagem de programação precisa ser capaz de fazer todas as operações desta máquina universal.

Estas linguagens que não são de programação ajudam instruir dispositivos (computadores com softwares, por exemplo) a realizar alguma tarefa, mas uma linguagem de marcação tem sua capacidade de fazer isto bem limitada.

Além disto uma linguagem de marcação sozinha não faz nada. Em tese você poderia até criar uma máquina que "entenderia" uma linguagem de marcação e fazer alguma coisa mas duvido que isto teria alguma utilidade real. Na prática, na tecnologia atual, estas linguagens só funcionam porque são interpretadas por softwares que foram criados com... linguagens de programação.

Outras linguagens

Em geral linguagens que terminam com ML são linguagens de marcação, vide XML. Claro que isto é apenas uma ideia inicial, existe uma linguagem de programação chamada ML (Meta Language) e várias derivadas delas (SML, CAML, OCAML, etc.). Embora não esteja no nome da maioria das linguagens de programação a sigla PL acaba sendo associada a elas de alguma forma. Um caso onde o nome tem a sigla é o PL/SQL que obviamente é uma linguagem de programação.

Então SQL deve ser uma linguagem de programação, certo? Não, pelo menos na sua versão ANSI ela não é Turing complete. As extensões fornecidas pelos principais sistemas de banco de dados do mercado, principalmente para trabalhar com stored procedures, são mais completas e aí sim podem ser consideradas Turing equivalent (apenas um nome alternativo/sinônimo).

CSS é uma linguagem de estilos e também não é uma linguagem de programação.

Já XSLT (Extensible Stylesheet Language Transformations) é uma linguagem declarativa como a maioria das linguagens de marcação mas é uma linguagem de programação já que permite fazer todas computações da máquina abstrata de Turing.

Tanto linguagens de programação quanto de marcação podem ser declarativas ou procedurais. São conceitos diferentes. Pode haver confusão porque é mais comum as PL serem procedurais e as ML serem declarativas.

Lua é uma PL que é usada como marcação em algumas situações. Claro que é o uso de apenas um subset mas ela pode ser usada como uma forma muito parecida com JSON que também é ML baseada em JavaScript que é uma PL. Certamente existem outras linguagens que possuem uma sintaxe que facilitam ter uso como linguagem de marcação.

Já se considerar HTML5+CSS3 como uma linguagem única aí fica mais complicado dizer se isto pode ser considerada uma linguagem de programação. Certamente seria uma PL bem estranha de usar mas pode fazer todas computações mínimas, certo?


Por que saber isto é importante?

Porque computação é uma ciência exata, quando você não liga para a exatidão das coisas você está no caminho errado para realizar este trabalho. Além de saber se comunicar melhor com seus pares de profissão (aqui em inclusive) há um efeito cognitivo importante quando procura fazer e definir as coisas da maneira correta. Você é reflexo do que você pratica. Ninguém é musculoso sem fazer esforço físico (nem tomando bomba). Ninguém vai se "comunicar com o computador" adequadamente se não exercita a comunicação precisa em tudo na vida. Não estou dizendo que você precisa saber tudo, que não pode errar ou que seria ingênuo, mas precisa se esforçar e ter isto sempre em mente. Desconheço uma chavinha no cérebro que liga ou desliga a capacidade e necessidade de comunicação correta. Que só queria ter um compilador para me ajudar indicar meus erros quando não estou programando :) .

Fonte: stackoverflow

pedxz pedxz  • 30.01.17 5:38

Super administradorMembro da Equipa

HTML é uma linguagem de programação? Empty Re: HTML é uma linguagem de programação? 30.01.17 5:38

Obrigada pela informação:D

The Flash The Flash  • 30.01.17 10:10

HTML é uma linguagem de programação? Empty Re: HTML é uma linguagem de programação? 30.01.17 10:10

pedxz escreveu:Obrigada pela informação:D
Não há de que, amigo :joinha:

nadi0s nadi0s  • 02.02.17 21:37

HTML é uma linguagem de programação? Empty Re: HTML é uma linguagem de programação? 02.02.17 21:37

Ótimo! Muito obrigado por compartilhar.

Nando Nando  • 02.02.17 21:39

HTML é uma linguagem de programação? Empty Re: HTML é uma linguagem de programação? 02.02.17 21:39

HTML é a linguagem mundial, agora é muito bom HTML5 e CSS3!

Karlee Karlee  • 02.02.17 21:49

HTML é uma linguagem de programação? Empty Re: HTML é uma linguagem de programação? 02.02.17 21:49

Realmente.. pena que não sei usar muito :c

Nando Nando  • 02.02.17 22:02

HTML é uma linguagem de programação? Empty Re: HTML é uma linguagem de programação? 02.02.17 22:02

Safadão escreveu:Realmente.. pena que não sei usar muito :c
Se quiser posso lhe dá umas aulas depois! <3

The Flash The Flash  • 02.02.17 22:41

HTML é uma linguagem de programação? Empty Re: HTML é uma linguagem de programação? 02.02.17 22:41

Safadão escreveu:Realmente.. pena que não sei usar muito :c
Como não sabe muito html? Só deve ter no máximo umas 20 tags :isfree:
Permissões neste sub-fórum
Não podes responder a tópicos

BH Servers

Recomendamos a BH Servers com proteção DDOS gratuita em Cloud Server de alta performance. Entrega imediata.