quinta-feira, 29 de agosto de 2019

Afinal, HTML é ou não é linguagem de programação?

<post>

<h3> A (im)popularidade </h3>



Há um ano, eu decidi ingressar num projeto de software com um amigo meu. Não é uma coisa muito complexa, mas requer tempo, dedicação e estudo consideráveis. Mais recentemente, comecei a aprender o necessário para se montar uma página da Web, já que planejamos uma aplicação em navegador para nosso produto. Entre as ferramentas, está a famosa linguagem HTML (quase sempre vinculada, aliás, com sua parceira inseparável, CSS). O motivo por tamanha fama é bastante simples: ela é o esqueleto de todas as páginas de Internet que você vai encontrar na vida, pelo menos até o momento em que este texto está sendo produzido. É com ela que os sites que você acessa são feitos.

Porém, existe, desde muito tempo, uma grande discussão sobre a natureza do HTML. Seria ela uma linguagem de programação? Essa pergunta aparece em massa em discussões entre programadores, cientistas e engenheiros da computação e web designers. Não é raro ver memes sobre isso, também. Quase sempre dizendo que quem é programador de HTML não é programador de verdade, mais ou menos nessa linha de raciocínio.


Apesar da chacota, muitas pessoas ainda têm dúvida sobre HTML. Na publicação de hoje, eu pretendo dar uma resposta simples e fácil de entender, embora eu não seja um teórico da computação. Que tal, então, começarmos com uma clarificação? Vamos ver o que é, realmente, essa linguagem tão presente e tão zoada.

<h3> O que é HTML? </h3>

HTML é uma abreviação para Hyper Text Markup Language (Hipertexto de Marcação de Linguagem). É uma linguagem de marcação usada na construção de páginas da Web, como já dito anteriormente. Os arquivos, de extensão .html ou .htm, podem ser interpretados por navegadores e, assim, fornecem a fundação para os sites.

A linguagem nasceu no início dos anos 90, e foi criada pelo físico Tim Berners-Lee. Desde então, vem se aprimorando e, atualmente, está em sua versão 5.2. A grande vantagem do HTML é que, mesmo depois de décadas de mudanças, os navegadores ainda são capazes de interpretar, sem grandes problemas, os códigos das primeiras versões da linguagem.

O diferencial de HTML é a sua sintaxe, que consiste no uso de marcadores (tags). Esses marcadores especificam o tipo de informação contida entre eles e instruem os navegadores, sendo uma espécie de "legenda" para a planta do site, que seria o código como um todo. Existem marcadores para indicar títulos, subtítulos, parágrafos, imagens, formulários, entre muitos outros. A maioria desses tipos é, na verdade, composta por um par de marcadores, que indicam o início e o fim do bloco de código. Um exemplo seria <p> isto é um parágrafo </p>. O marcador "p" define um parágrafo.

exemplo de código HTML.


Além disso, os marcadores podem receber diversos atributos, que são propriedades adicionais para estilização, demarcação ou especificação de um bloco de código. O marcador <a>, por exemplo, requer um atributo chamado href, que deve ser preenchido com um endereço virtual (URL ou um caminho no seu próprio computador). Isso porque o <a> especifica um link em uma palavra e, portanto, precisa de um endereço ao qual levar. Até mesmo a palavra pudim pode virar um link nas mãos dessa ferramenta.

Ok, tudo isso é muito bonito e você já tem uma boa noção do que estamos falando aqui. Mas você provavelmente veio aqui para saber a resposta da pergunta no título. Então, vamos logo a ela.

<h3> Veredicto </h3>

Sinto dizer, mas HTML não é uma linguagem de programação, se levarmos em conta as definições principais do termo. Uma linguagem de programação é definida como uma linguagem formal utilizada para passar instruções para um computador. Seu uso também está relacionado à descrição de algoritmos e produção de software*. Em resumo, é o idioma através do qual programadores se comunicam com os computadores.

HTML, por sua vez, não passa de um sistema de marcação e estruturação de páginas web. De fato, pode-se argumentar que o HTML transmite instruções para apresentação do conteúdo da página. Porém, não se pode dizer que há comunicação entre o programador e o computador. Não apenas isso, o HTML é incapaz de fazer a grande maioria das coisas que são a base das linguagens de computação, como declarar variáveis, criar funções, controlar o fluxo de execução, etc. Não que isso seja uma desvantagem. O ponto é que ela não possui essas características pelo simples fato de não ser este o seu propósito. Como linguagem de marcação, seu dever é majoritariamente descritivo (no máximo, ela é responsável por enviar dados obtidos do usuário a outro lugar, para serem processados lá).

Se você quiser, nada te impede de redefinir o que seria uma linguagem de programação para encaixar o HTML nesse novo significado. Mas o consenso geral é o que eu acabei de apresentar.

*Definição obtida de https://techterms.com/definition/programming_language

<!-- Último comentário -->

Ainda que HTML não seja mesmo uma linguagem de programação e que os "programadores" de HTML não sejam tão programadores assim, eu gostaria de fazer uma observação. O HTML é apenas uma pequena parte do desenvolvimento Web (Web development). Sem entrar em muitos detalhes, ele, junto com o CSS, fazem parte do front-end de uma aplicação, ou seja, a parte gráfica, de interface e design. Eles são os agentes capazes de deixar tudo bonito e bem organizado. Porém, aquele que trabalha nessa área tem muitas outras preocupações, dentre elas o back-end - a parte que ninguém vê. É lá onde ficam todos os dados do site, geralmente num banco de dados. Além disso, existe a camada de mediação entre o front-end e o back-end, a camada de segurança... Para cada uma dessas atribuições, há outra linguagem por trás: SQL, PHP, Ruby são as mais comuns.

Portanto, quem mexe com web e HTML pode ser, nesses casos, chamado de programador. Às vezes, até mais do que alguns outros que só sabem fazer um "Hello, World!" no terminal.


Finalmente, eu gostaria de falar sobre um fato inusitado que me ocorreu. Eu estava na faculdade num dia qualquer e fui na lanchonete para comer. Coincidentemente, encontrei meu ex-professor de estatística aplicada, matéria que eu havia pegado no semestre anterior.  Enquanto conversávamos, ele mencionou que havia corrigido a minha última prova e lido meu comentário (eu tinha escrito para ele um recado final, agradecendo pela boa didática durante o semestre e, como não deixo nenhuma oportunidade de dar risadas passar, divulguei, também, o meu blog). Então, ele disse que gostara muito do meu conteúdo e da forma com a qual eu escrevia, e disse também que acompanhava as postagens. Eu fiquei muito surpreso, eu não imaginara que ele realmente tinha se prestado a acessar este humilde site. Isso me deixou muito feliz, porque pude ver pela primeira vez um leitor do blog que não fosse meu amigo ou minha namorada. E também pude receber um feedback importante para qualquer produtor de conteúdo.

Fica aqui a minha homenagem e o meu agradecimento, professor Raphael. Espero que continue acompanhando o blog e que goste do que faço por aqui!

</post>

Nenhum comentário:

Postar um comentário