O HTML é considerado uma linguagem de programação? [fechadas]

184

Acho que a pergunta é auto-explicativa, mas estou me perguntando se o HTML se qualifica como uma linguagem de programação (obviamente o "L" significa linguagem).

O motivo da pergunta é mais pragmático - estou montando um currículo e não quero parecer idiota por listar coisas como HTML e XML em idiomas, mas não consigo descobrir como classificá-los.

nicael
fonte
28
Talvez você não deva chamá-lo de linguagens de programação, mas simplesmente linguagens , tecnologias , experiência ou habilidades .
Gumbo
5
Oi. Eu estou usando Java EE, e estou programando em XML, parece ...
whirlwin
4
Não, as linguagens de programação devem estar completas. O HTML não está completo.
Arunav Sanyal
2
O HTML é semelhante às folhas musicais perfuradas inseridas em um piano automático, para navegadores. Em certo sentido, é a linguagem de programação do navegador, ou seja, instrui o navegador o que mostrar. Atualmente, muitos idiomas têm construções lambda de alto nível, como LINQ em C #, que informam ao computador o que não fazer. A evolução das linguagens de programação está se movendo em direção a uma natureza mais declarativa, linguagens como Kotlin são evidentes disso.
aggaton
Como curiosidade, a Regra 110 foi implementada usando o CSS 3 e foi demonstrado que Turing está completo.
aggaton

Respostas:

463

Não, o HTML não é uma linguagem de programação. O "M" significa "Marcação". Geralmente, uma linguagem de programação permite descrever algum tipo de processo de fazer algo, enquanto o HTML é uma maneira de adicionar contexto e estrutura ao texto.

Se você deseja adicionar mais sopa de letrinhas ao seu currículo, não as classifique. Basta colocá-los em uma grande pilha chamada "Technologies" ou o que você quiser. Lembre-se, no entanto, que qualquer coisa que você listar é um jogo justo para uma pergunta.

O HTML é tão comum que eu esperaria que quase qualquer pessoa de tecnologia já o conhecesse (embora não seja algo como CSS e assim por diante), então você pode considerar não listar todos os inicialismos que você já encontrou. Costumo considerar os currículos que listam muitas coisas como suspeitos. Por isso, faço mais perguntas para eliminar as coisas que não devem ser listadas. :)

No entanto, se sua experiência em HTML incluir itens sérios de design da Web, incluindo Ajax, JavaScript e assim por diante, você poderá falar sobre aqueles na seção "Experiência".

brian d foy
fonte
38
+1 para chamá-lo uma inicialização em vez de uma sigla
Jason
15
O TeX é uma linguagem completa de Turing, portanto, sua classificação como linguagem de programação ou linguagem de marcação é um pouco embaçada. :)
mipadi
7
Aparentemente, o HTML5 + CSS3 também está completo: lemire.me/blog/archives/2011/03/08/…
e-satis
3
Eu costumava colocar o LaTeX como uma habilidade, mas porque é importante em alguns domínios. :)
brian d foy
7
@SarahofGaia um acrônimo é quando você diz as letras como se fosse uma palavra (por exemplo, NASA) em que uma inicialização é onde você diz cada letra individual (por exemplo, HTML). É uma diferença sutil, mas mesmo assim.
Jason
64

SIM, uma linguagem de programação declarativa.

Você realmente deseja listar as coisas mais importantes que você sabe que são relativas ao trabalho para o qual você está se candidatando em seu currículo. Se você listar o ASP.NET, mas não listar HTML, mesmo que seja algo óbvio, existem muitos gerentes e / ou tipos de RH que presumirão que você não conhece HTML, pois ele não está listado. Já tive isso comigo antes.

Atualização - Alguns dizem que não, não é uma linguagem de programação, e você pode não concordar comigo, mas, independentemente de um resumo, é uma linguagem de programação. Você recebe tipos de RH que analisam seu currículo antes mesmo que o gerente de contratação o veja. Se o gerente disser que você precisa conhecer HTML, e ele não estiver listado na seção 'linguagens de programação', a pessoa de RH poderá desconsiderar o currículo, pensando que não o conhece porque não está listado.

Atualização 6-8-2012: Qualquer instrução que instrua o computador a fazer algo é uma linguagem de programação. Então, mesmo depois de todos esses anos, ainda mantenho minha resposta. HTML é uma linguagem de programação. Algo que não é uma linguagem de programação seria XML.

Chris Pietschmann
fonte
16
Se o hello world é um programa, as páginas html são programas, pois são apenas um hello world mais complexo. Portanto, o html é uma linguagem de programação, pois instrui o computador sobre o que fazer. Eu estou com esse cara.
Freespace
17
Não é verdade. Até o olá mundo tem lógica. Só porque seu IDE favorito prepara a estrutura necessária do programa, ou apenas algumas palavras-chave são necessárias para imprimir na saída, existe uma lógica no trabalho. Eu concordo com Chris aqui sobre RH.
Ed S.
40
@freespace - por essa definição, quase tudo é uma linguagem de programação, o que a torna uma classificação praticamente inútil.
Kaz Dragon
20
@ espaço: esse argumento é um absurdo. É essencialmente o mesmo que dizer: os cães têm pêlo. Gatos têm pêlo. Portanto, gatos são cães.
James Curran
8
@ChrisPietschmann declarative, sim. Programação, não. Como você escreverá um loop em HTML?
Thorbjørn Ravn Andersen
46

Não, a pista está no M - é uma linguagem de marcação .

Jonny Buchanan
fonte
62
Tecnicamente, isso é a M e L :)
SpacePrez
10
Admito que é tecnicamente correto, de fato, o melhor tipo de correto :)
Jonny Buchanan
22

Em algum nível, Chris Pietschmann está correto. O SQL não é Turing completo (pelo menos sem procedimentos armazenados), mas as pessoas listam isso como uma linguagem, o TeX é Turing completo, mas a maioria das pessoas o considera uma linguagem de marcação.

Dito isto: se você está apenas se candidatando a empregos, e não discutindo a lógica formal, eu listaria todos eles como tecnologias. Coisas como .NET não são idiomas, mas provavelmente também seriam listadas.

Martin Beckett
fonte
2
"ainda assim, as pessoas listarão isso como uma linguagem", com certeza, como linguagem de consulta, não como linguagem de programação.
Andrej Istomin
@AndrejIstomin Eu não vi que você não está falando sobre HTML, mas SQL, desculpe.
Karl Richter
14

O 'M' significa 'Marcação'. É uma 'Linguagem de Marcação', não uma linguagem de programação. Algumas pessoas vão discordar disso, mas minha opinião é que, se não houver construções lógicas (ramificação condicional, iteração etc.), não será realmente uma linguagem de programação.

Quanto ao currículo, sugiro colocar HTML e XML em uma seção como 'Tecnologias'. Normalmente, tenho uma seção como essa onde listo itens como software de controle de versão, sistemas operacionais para os quais desenvolvi, sistemas de construção etc.

Mark Roddy
fonte
1
Prolog não tem loop. Muitas linguagens funcionais precisam recorrer à recursão.
aggaton
13

Eu acho que não exatamente uma linguagem de programação, mas exatamente o que o nome diz: uma linguagem de marcação. Não podemos programar usando apenas HTML puro. Mas apenas anote como apresentar o conteúdo.

Mas se você considerar programar o ato de informar ao computador como apresentar o conteúdo, é uma linguagem de programação.

paulosuzart
fonte
2
"Mas se você considerar programar o ato de dizer ao computador como apresentar o conteúdo, é uma linguagem de programação." Nesse ponto, pode-se chamar tudo de programação, porque é basicamente o que é causalidade. xD
13

Se você quiser dizer que o HTML é uma linguagem de programação, inclua itens como documentos do Word, pois eles também são baseados no ML ou 'Markup Language'.

Portanto, não, o HTML não é uma linguagem de programação. É chamado de "marcação" por esse motivo.

Simplificando - o HTML define o conteúdo!

Houston
fonte
2
Como <b> isto está em negrito </b> comparável a isto está em negrito ? Se HTML não for uma linguagem de programação, tudo bem, mas trabalhando com HTML! = Trabalhando com documentos do Word.
Dpp
2
O Word é um aplicativo. Os arquivos Rich Text ou os vários outros arquivos que a palavra produz podem ser (e são) considerados idiomas específicos do domínio. E se você sabe RTF ou qualquer outra marcação complexa (especialmente alguns dos formatos mais velhos binários baseada você deve estar feliz em colocar isso em seu currículo Essas bestas ficar bastante complexa..)
Matthew Whited
HTML é uma linguagem de programação - por mais simples que seja, ainda se enquadra no termo geral da linguagem de programação. Como eu disse antes, muitas vezes no Word você configura manualmente o que é um parágrafo ou cabeçalho etc. No HTML, você "automatiza" o processo informando / instruindo o navegador a transformar algo em um cabeçalho ou parágrafo (junto com todas as outras instruções acessível). A programação pode ser muito simples ou realmente complexa. Não existe um parâmetro definido para o quão complexo algo precisa ser para que ele seja "programação". Simples precisa ser algo que faz algo fazer alguma coisa ...
Cheesus Toast 03/06
10

Eu acho que definitivamente tem seu lugar em um currículo. O conhecimento de HTML é valioso, e realmente há muito a saber, com questões e padrões de compatibilidade entre navegadores que devem ser seguidos.

Eu não listaria o HTML em "linguagens de programação" ao lado de C # ou algo assim, mas vale a pena observar sua experiência.

sledgebox
fonte
9

Nas aulas de linguagens de programação avançadas que fiz na faculdade, tivemos uma definição muito boa de "linguagem de programação": uma linguagem de programação é qualquer linguagem (formal) capaz de expressar todas as funções computáveis ​​que a tese de Church-Turing implica é o conjunto de todas as funções computáveis ​​de Turing.

Por essa definição, não, o HTML não é uma linguagem de programação, nem mesmo declarativa. É, como outros explicaram, uma linguagem de marcação.

Mas as pessoas que revisam seu currículo podem muito bem não se importar com essa distinção formal. Eu seguia o bom conselho dado por outras pessoas e o listava em uma seção do tipo "Tecnologias".

Michael Ekstrand
fonte
Não é uma definição tão boa porque C não é Turing completo enquanto HTML5 + CSS3 são, então eu diria que HTML não é uma linguagem de programação 'geral', apenas uma altamente especializada.
Serge
3
@ Emerge Em que sentido significativo C não é Turing completo, mas HTML5 + CSS3 são?
Michael Ekstrand
a ram disponível de C é limitada a 2 ** num_bits (size_t), dependendo do padrão e da implementação, isso pode variar, provavelmente existem algumas brechas, mas digamos que a conclusão de C de Turing seja duvidosa. A prova da integridade do HMTL + CSS no stackoverflow espera algum nível de envolvimento humano, portanto, provavelmente não 100% convincente. De qualquer maneira línguas altamente improváveis de animação Powerpoint a notação de música são encontrados Turing completa gwern.net/Turing-complete
Serge
5
Não acho que limitar a memória finita seja uma objeção útil para considerar C (ou qualquer outra linguagem de programação) como Turing completa. Qualquer sistema realmente implementado será limitado à memória finita, incluindo HTML5 + CSS3 ou PowerPoint.
Michael Ekstrand
falamos a linguagem não real sistema implementado (número de átomos / partículas no universo observável é provavelmente limitada)
Serge
7

Eu contornar esse problema por não ter uma seção "linguagens de programação" no meu currículo. Em vez disso, rotulo-o simplesmente como "linguagens" e colo HTML e CSS no final. Prefiro facilitar a vida do revisor, para que ele possa ver se a mina faz a verificação de todos os seus requisitos.

Somente os tolos desconsiderariam um candidato porque ele listou o HTML em "idiomas" em vez de algum outro rótulo, especialmente porque não há um padrão no setor. E quem quer trabalhar para tolos?

David
fonte
7

Não - existe um grande preconceito em TI contra o web design; mas, neste caso, os programadores "reais" estão bem firmes.

Se você fez muito trabalho de web design, provavelmente fez um pouco de JavaScript, então pode colocar isso em 'linguagens de programação'; se você quiser listar o HTML também, concordo com a resposta que sugere "Tecnologias".

Mas, a menos que você esteja mirando agentes que estão tentando marcar caixas em vez de encontrar um bom emprego, uma lista simples das coisas que você usou não parece tão boa assim. É melhor listar os projetos em que trabalhou e detalhar as tecnologias usadas em cada um; isso demonstra que você tem uma experiência real de usá-los, e não apenas que conhece algumas chavões.

Simon
fonte
5

Bem, L é para linguagem, mas não implica linguagem de programação. Afinal, inglês ou francês também são idiomas (naturais)! ;-)

Como dito acima, coloque-os em uma seção subsidiária, a tecnologia parece ser um bom termo.

(Olhando para o meu próprio currículo, não atualizado há um tempo) Eu criei uma seção chamada "Idiomas", para que não me engane ... :-D
Coloquei "(X) HTML e CSS, XML / DTD / Schema e SVG "no final da seção, claramente separados.

Em francês, tenho uma seção "Langages" (programação e marcação) e outra "Langues" (francês / inglês). Na versão em inglês, intitulei os dois em "Languages", que é desajeitado agora que penso nisso, embora o contexto esclareça isso. Eu deveria encontrar uma formulação melhor.

PhiLho
fonte
4

HTML não é de forma alguma uma linguagem de programação.

Linguagens de programação lidam com '' funções de processamento '', etc. HTML apenas lida com a interface visual de uma página da web, onde a programação real lida com o processo. PHP por exemplo.

Se alguém realmente conhece programação, realmente não consigo ver como as pessoas podem confundir HTML com uma linguagem de programação real.

brian d foy
fonte
6
Isso não é verdade. Uma linguagem de programação simplesmente fornece instruções para um computador fazer alguma coisa. HTML é uma linguagem específica de domínio que instrui um computador para o layout básico de um documento de hipertexto.
Matthew Whited
3
Em seguida, um arquivo txt instrui o computador o texto para exibição
whackamadoodle3000
... A menos que você seja educado e compreenda a língua inglesa e a ciência da computação ... nesse caso, o HTML é obviamente uma linguagem de programação. Adoro quando as pessoas usam palavras como "real" ou "real" porque geralmente ficam ao lado de uma "verdadeira falácia escocesa". Você já usou um dicionário? Da próxima vez que você fizer isso, que tal examinar cuidadosamente a definição de "programação" e localizar onde há DEPENDÊNCIA na palavra "processamento". Por que eu sei que HTML é uma linguagem de programação? Tenho um diploma de primeira classe em ciência da computação e entendo inglês.
Cheesus Toast
3

Em termos de recrutamento, tendo estado nos dois lados da barreira, definitivamente coloque o HTML em 'linguagens de programação' ou, talvez mais seguro, em 'tecnologias'

Sim, todos sabemos que é uma linguagem de marcação e não uma linguagem de programação. mas a) as agências de recrutamento não sabem e não se importam eb) os empregadores não sabem e não se importam. Realmente.

E apontar a ignorância deles apenas o servirá mal. E os técnicos que eventualmente verem seu currículo serão gratos por um candidato que tenha ouvido falar em HTML e não se preocuparão com a taxonomia.

Honestamente, não é um problema.

CJM
fonte
1
Os técnicos que visualizarão seu currículo serão gratos por um candidato que tenha ouvido falar em HTML? Ainda não me formei na faculdade, mas já desprezo as pessoas que listam HTML em linguagens de programação. Mas cada um na sua, eu acho.
MiseryIndex
7
Se você planeja trabalhar para outra pessoa depois de se formar, Misery, não se esqueça de praticar esconder o desprezo para não falhar em todas as entrevistas devido a "o candidato age como um idiota" :)
Peter Recore
3
Um pouco duro, Peter, mas você pode estar certo - em uma observação séria, muitas vezes você se depara com entrevistadores equivocados; discordar com tato pode lhe dar o emprego, mas se você parecer desdenhoso e superior, perderá - independentemente de quão "certo" possa ser.
CJM
0

Listá-lo em tecnologias ou algo assim. Eu deixaria de lado se fosse você, já que é esperado que você conheça HTML e XML neste momento.

Jon
fonte