¿Se considera HTML un lenguaje de programación? [cerrado]

184

Supongo que la pregunta se explica por sí misma, pero me pregunto si HTML califica como lenguaje de programación (obviamente, la "L" significa lenguaje).

La razón para preguntar es más pragmática: estoy armando un currículum y no quiero parecer un tonto por enumerar cosas como HTML y XML en idiomas, pero no puedo encontrar la forma de clasificarlas.

nicael
fuente
28
Tal vez no debería llamarlo lenguajes de programación, sino simplemente lenguajes , tecnologías , experiencia o habilidades .
Gumbo
55
Hola. Estoy usando Java EE, y estoy programando en XML, parece ...
whirlwin
44
No, los lenguajes de programación deberían estar completos. HTML no está completo.
Arunav Sanyal
2
HTML es similar a las hojas musicales perforadas alimentadas a un piano automático, para navegadores. En cierto sentido, es el lenguaje de programación del navegador, es decir, le indica al navegador qué mostrar. Muchos lenguajes en estos días tienen construcciones lambda de alto nivel como LINQ en C # que le dicen a la computadora qué hacer y cómo no. La evolución de los lenguajes de programación se está moviendo hacia una naturaleza más declarativa, lenguajes como Kotlin son evidentes de esto.
aggaton
Como curiosidad, la Regla 110 se ha implementado usando CSS 3 y se ha demostrado que está completando Turing.
aggaton

Respuestas:

463

No, HTML no es un lenguaje de programación. La "M" significa "Marcado". En general, un lenguaje de programación le permite describir algún tipo de proceso de hacer algo, mientras que HTML es una forma de agregar contexto y estructura al texto.

Si está buscando agregar más sopa de letras a su CV, no los clasifique en absoluto. Simplemente póngalos en una gran pila llamada "Tecnologías" o lo que quiera. Recuerde, sin embargo, que todo lo que enumere es un juego justo para una pregunta.

HTML es tan común que esperaría que casi cualquier persona de tecnología ya lo supiera (aunque no cosas como CSS y demás), por lo que podría considerar no enumerar todas las iniciales que haya encontrado. Tiendo a considerar que los CV que enumeran demasiadas cosas son sospechosos, por lo que hago más preguntas para descartar las cosas que no deberían enumerarse. :)

Sin embargo, si su experiencia HTML incluye elementos serios de diseño web, incluidos Ajax, JavaScript, etc., puede hablar sobre ellos en la sección "Experiencia".

brian d foy
fuente
38
+1 por llamarlo una inicialización en lugar de un acrónimo
Jason
15
TeX es un lenguaje completo de Turing, por lo que su clasificación como lenguaje de programación o lenguaje de marcado es un poco borrosa. :)
mipadi
77
Aparentemente, HTML5 + CSS3 también está completo: lemire.me/blog/archives/2011/03/08/…
e-satis
3
Solía ​​poner LaTeX como una habilidad, pero porque es importante en algunos dominios. :)
brian d foy
77
@SarahofGaia un acrónimo es cuando dices las letras como si fuera una palabra (por ejemplo, NASA) donde una inicialización es donde dices cada letra individual (por ejemplo, HTML). Es una diferencia sutil, pero no obstante.
Jason
64

SÍ, un lenguaje de programación declarativo.

Realmente desea incluir en su currículum las cosas más importantes que sabe que están relacionadas con el trabajo que está solicitando. Si enumera ASP.NET pero no enumera HTML, aunque es algo obvio, hay muchos gerentes y / o tipos de recursos humanos que supondrán que no conoce HTML, ya que no está en la lista. Me ha pasado antes.

Actualización: algunos dicen que no, no es un lenguaje de programación, y es posible que no esté de acuerdo conmigo en esto, pero independientemente de un currículum es un lenguaje de programación. Obtiene tipos de recursos humanos mirando su currículum antes de que el gerente de contratación lo vea. Si el gerente dice que necesita saber HTML, y no está en la lista en la sección de 'lenguajes de programación', entonces la persona de Recursos Humanos puede ignorar su reanudación pensando que no lo sabe porque no está en la lista.

Actualización 6-8-2012: cualquier instrucción que le indique a la computadora que haga algo es un lenguaje de programación. Entonces, incluso después de todos estos años, todavía mantengo mi respuesta. HTML es un lenguaje de programación. Algo que no es un lenguaje de programación sería XML.

Chris Pietschmann
fuente
16
Si hello world es un programa, entonces las páginas html son programas, ya que son simplemente un hello world más complejo. Ergo, html es un lenguaje de programación, ya que le indica a la computadora qué hacer. Estoy con este chico
espacio libre
17
No es verdad. Incluso hola mundo tiene lógica. Solo porque su IDE favorito prepara la estructura de programa necesaria debajo de las cubiertas, o solo se necesitan unas pocas palabras clave para imprimir en la salida, hay lógica en el trabajo. Sin embargo, estoy de acuerdo con Chris aquí sobre recursos humanos.
Ed S.
40
@freespace: según esa definición, casi todo es un lenguaje de programación, lo que lo convierte en una clasificación prácticamente inútil.
Kaz Dragon
20
@freespace: Ese argumento no tiene sentido. Es esencialmente lo mismo que decir: los perros tienen pelaje. Los gatos tienen pelaje. Por lo tanto, los gatos son perros.
James Curran
8
@ChrisPietschmann declarativa, sí. Programación, no. ¿Cómo escribirás un bucle en HTML?
Thorbjørn Ravn Andersen
46

No, la pista está en la M: es un lenguaje de marcado .

Jonny Buchanan
fuente
62
Técnicamente, esa es la M y la L :)
SpacePrez
10
Admito que técnicamente correcto es, de hecho, el mejor tipo de correcto :)
Jonny Buchanan
22

En cierto nivel, Chris Pietschmann tiene razón. SQL no está completo en Turing (al menos sin procedimientos almacenados), sin embargo, las personas lo enumerarán como un lenguaje, TeX está completo, pero la mayoría de las personas lo consideran como un lenguaje de marcado.

Dicho esto: si solo está solicitando empleo, sin discutir la lógica formal, simplemente los enumeraría a todos como tecnologías. Cosas como .NET no son idiomas, pero probablemente también se enumerarían.

Martin Beckett
fuente
2
"Sin embargo, la gente lo incluirá como un lenguaje", seguro, como un lenguaje de consulta, no como un lenguaje de programación.
Andrej Istomin
@AndrejIstomin No vi que no estás hablando de HTML, sino de SQL, lo siento.
Karl Richter
14

La 'M' representa un 'Marcado'. Es un 'lenguaje de marcado', no un lenguaje de programación. Algunas personas no estarán de acuerdo con esto, pero mi opinión es que si carece de construcciones lógicas (ramificación condicional, iteración, etc.) no es realmente un lenguaje de programación.

En cuanto a la hoja de vida, sugeriría colocar HTML y XML en una sección como 'Tecnologías'. Por lo general, tengo una sección como esta donde enumero cosas como software de control de versiones, sistemas operativos para los que he desarrollado, sistemas de construcción, etc.

Mark Roddy
fuente
1
Prolog no tiene bucles. Muchos lenguajes funcionales tienen que recurrir a la recursividad.
aggaton el
13

Creo que no es exactamente un lenguaje de programación, sino exactamente lo que dice su nombre: un lenguaje de marcado. No podemos programar usando solo HTML puro. Pero solo anote cómo presentar el contenido.

Pero si considera programar el acto de decirle a la computadora cómo presentar contenidos, es un lenguaje de programación.

paulosuzart
fuente
2
"Pero si considera programar el acto de decirle a la computadora cómo presentar contenidos, es un lenguaje de programación". En ese punto, uno podría llamar a todo programación porque eso es básicamente lo que es la causalidad. xD
13

Si va a decir que HTML es un lenguaje de programación, entonces también podría incluir cosas como documentos de Word, ya que también se basan en ML o 'Lenguaje de marcado'.

Entonces, no, HTML no es un lenguaje de programación. Se llama "marcado" por esa razón.

En pocas palabras: ¡HTML define el contenido!

houston
fuente
2
¿Cómo podría <b> esto es negrita </b> comparable a esto es negrita ? Si HTML no es lenguaje de programación, está bien, pero funciona con HTML! = Funciona con documentos de Word.
dpp
2
Word es una aplicación. Los archivos de texto enriquecido o los otros archivos que produce Word podrían considerarse (y se consideran) idiomas específicos del dominio. Y si conoces RTF o cualquier otro marcado complejo (especialmente algunos de los formatos binarios más antiguos, deberías estar contento de incluirlo en tu currículum. Esas bestias se vuelven bastante complejas)
Matthew Whited
HTML es un lenguaje de programación, tan simple como es, aún se encuentra dentro del término general del lenguaje de programación. Como dije antes, muy a menudo en Word configuras manualmente lo que es un párrafo o encabezado, etc. En HTML "automatizas" el proceso diciéndole / ordenando al navegador que haga un encabezado o párrafo (junto con todas las otras instrucciones que son disponible). La programación puede ser muy simple o realmente compleja. No hay un parámetro establecido de cuán complejo debe ser algo para que sea "programación". Simplemente debe ser algo que haga que algo haga algo ...
Cheesus Toast
10

Creo que definitivamente tiene su lugar en un currículum. El conocimiento de HTML es valioso, y realmente hay mucho que saber sobre los problemas y estándares de compatibilidad entre navegadores que deben seguirse.

No enumeraría HTML en "lenguajes de programación" junto con C # o algo así, pero vale la pena señalar su experiencia.

trineo
fuente
9

En la clase de lenguajes de programación avanzados que tomé en la universidad, tuvimos lo que creo que es una muy buena definición de "lenguaje de programación": un lenguaje de programación es cualquier lenguaje (formal) capaz de expresar todas las funciones computables, que la tesis de Church-Turing implica la es el conjunto de todas las funciones computables de Turing.

Según esa definición, no, HTML no es un lenguaje de programación, ni siquiera un lenguaje declarativo. Es, como otros han explicado, un lenguaje de marcado.

Pero las personas que revisan su currículum pueden no preocuparse por una distinción tan formal. Seguiría el buen consejo dado por otros y lo enumeraría en una sección de tipo "Tecnologías".

Michael Ekstrand
fuente
No es una definición tan buena porque C no está completa en Turing mientras que HTML5 + CSS3 sí, así que solo diría que HTML no es un lenguaje de programación 'general', solo uno altamente especializado.
Serge
3
@Serge ¿En qué sentido significativo no es C-Turing completo, sino HTML5 + CSS3?
Michael Ekstrand
el ram de C disponible es limitado 2 ** num_bits (size_t) dependiendo del estándar y la implementación, esto podría variar, probablemente existan algunas lagunas, pero digamos que la integridad de C de Turing es dudosa. La prueba de la integridad de HMTL + CSS en stackoverflow espera cierto nivel de implicación humana, por lo que probablemente no sea 100% convincente. De cualquier manera, se encuentran idiomas altamente improbables desde la animación de Powerpoint hasta la notación musical Turing Complete gwern.net/Turing-complete
Serge
55
No creo que limitarse a la memoria finita sea una objeción útil para considerar que C (o cualquier otro lenguaje de programación) sea Turing completo. Cualquier sistema implementado en realidad se limitará a la memoria finita, incluidos HTML5 + CSS3 o PowerPoint.
Michael Ekstrand
hablamos de lenguaje no implementado sistema real (el número de átomos / partículas en el universo observable es probablemente limitado)
Serge
7

Eludí este problema al no tener una sección de "lenguajes de programación" en mi currículum. En cambio, lo etiqueto simplemente como "idiomas", y pego HTML y CSS al final. Prefiero facilitarle la vida al revisor para que pueda ver si la mina verifica todos sus requisitos.

Solo los tontos ignorarían a un solicitante porque él o ella enumeró HTML bajo "idiomas" en lugar de alguna otra etiqueta, especialmente porque no hay un estándar de la industria. ¿Y quién quiere trabajar para tontos?

David
fuente
7

No, existe un gran prejuicio en TI contra el diseño web; pero en este caso los programadores "reales" están en terreno bastante firme.

Si ha realizado una gran cantidad de trabajo de diseño web, probablemente haya hecho algo de JavaScript, por lo que puede incluirlo en 'lenguajes de programación'; si también quieres incluir HTML, estoy de acuerdo con la respuesta que sugiere "Tecnologías".

Pero a menos que esté apuntando a agentes que intentan marcar casillas en lugar de encontrarle un buen trabajo, una lista básica de las cosas que ha usado realmente no se ve tan bien. Es mejor enumerar los proyectos en los que ha trabajado y detallar las tecnologías que utilizó en cada uno; eso demuestra que tienes experiencia real de usarlos en lugar de solo que conoces algunas palabras de moda.

Simón
fuente
5

Bueno, L es para lenguaje, pero no implica lenguaje de programación. Después de todo, ¡el inglés o el francés también son idiomas (naturales)! ;-)

Como se dijo anteriormente, colóquelos en una sección subsidiaria, Tecnología parece ser un buen término.

(Mirando mi propio currículum, no actualizado en un tiempo) He creado una sección llamada "Idiomas", así que no me puedo equivocar ... :-D
he puesto "(X) HTML y CSS, XML / DTD / Schema y SVG "al final de la sección, claramente separados.

En francés, tengo una sección "Langages" (programación y marcado) y otra "Langues" (francés / inglés). En la versión en inglés, titulé ambos en "Idiomas", que es torpe ahora que lo pienso, aunque el contexto lo aclara. Debería encontrar una mejor formulación.

PhiLho
fuente
4

HTML no es de ninguna manera un lenguaje de programación.

Los lenguajes de programación tratan con '' funciones de procesamiento '', etc. HTML solo trata con la interfaz visual de una página web, donde la programación real maneja el proceso. PHP por ejemplo.

Si alguien realmente conoce la programación, realmente no puedo ver cómo la gente puede confundir HTML con un lenguaje de programación real.

brian d foy
fuente
66
Eso no es verdad. Un lenguaje de programación simplemente proporciona instrucciones para que una computadora haga algo. HTML es un lenguaje específico de dominio que instruye a una computadora para el diseño básico de un documento de hipertexto.
Matthew Whited
3
Luego, un archivo txt le indica a la computadora qué texto mostrar
whackamadoodle3000
... A menos, por supuesto, que esté educado y entienda el idioma inglés y la informática ... en cuyo caso HTML es obviamente un lenguaje de programación. Me encanta cuando las personas usan palabras como "real" o "real" porque generalmente se sientan al lado de una "verdadera falacia escocesa". ¿Alguna vez has usado un diccionario? La próxima vez que lo haga, ¿qué tal si examina cuidadosamente la definición de "programación" y localiza dónde tiene una DEPENDENCIA en la palabra "procesamiento". ¿Por qué sé que HTML es un lenguaje de programación? Tengo un título de honor de primera clase en informática y entiendo inglés.
Cheesus Toast
3

En términos de reclutamiento, habiendo estado en ambos lados de la cerca, definitivamente coloque HTML bajo 'lenguajes de programación', o quizás más seguro bajo 'tecnologías'

Sí, todos sabemos que es un lenguaje de marcado y no un lenguaje de programación. pero a) las agencias de contratación no saben y no les importa, y b) los empleadores no saben y no les importa. De Verdad.

Y señalar su ignorancia solo te servirá mal. Y los técnicos que finalmente vean su CV estarán agradecidos por un candidato que haya oído hablar de HTML, y no se preocuparán por la taxonomía.

Honestamente, no es un problema.

CJM
fuente
1
¿Los técnicos que verán su currículum estarán agradecidos por un candidato que haya oído hablar de HTML? Todavía no me he graduado de la universidad, pero ya desprecio a las personas que enumeran HTML en lenguajes de programación. Pero a cada uno lo suyo, supongo.
MiseryIndex el
77
Si estás planeando trabajar para alguien más una vez que te gradúes, Misery, no olvides practicar esconder el desprecio para no fallar en cada entrevista debido a "el solicitante actúa como un imbécil" :)
Peter Recore
3
Un poco duro, Peter, pero puede que tengas razón: en una nota seria, a menudo te enfrentarás a entrevistadores equivocados; discrepar discretamente podría conseguirle el trabajo, pero si parece despectivo y superior, se lo perderá, independientemente de cuán 'correcto' sea.
CJM
0

Anótelo en tecnologías o algo así. Simplemente lo dejaría si fuera usted, ya que se espera que conozca HTML y XML en este momento.

Jon
fuente