¿Es HTML un lenguaje de programación?

Si estás inmerso en el mundo
informático, específicamente en el desarrollo web y programación, estoy seguro de
que esta pregunta en algún momento te representó un debate.




Ahora bien, si todavía no lo tienes
claro, déjame decírtelo de manera tajante: HTML NO es un lenguaje de
programación de computadoras.

Esto puede alterar a los
desarrolladores web y diseñadores gráficos que se enorgullecen de las páginas
web que han creado. Sin embargo, HTML no es un lenguaje de programación.

¿Por qué
HTML no es un lenguaje de programación?

HTML no es un lenguaje de
programación por tres razones:

  • No permite el uso de variables.
  • No permite el uso de sentencias
    condicionales.
  • No proporciona ninguna estructura de
    bucle iterativo.

¿Qué es un
lenguaje de programación?

Para discutir por qué algo es o no un
lenguaje de programación, debemos establecer una definición básica de lo que es
un lenguaje de programación de computadoras. Para hacer eso, debemos considerar
lo que hace una computadora, y más específicamente, lo que hace la CPU.

En el nivel más básico, una CPU hace
tres cosas:

  • Leer datos de la memoria;
  • Realizar lógica condicional en esos
    datos; y
  • Realizar iterativamente esa lógica a
    la velocidad de un rayo.

Para que cualquier cosa califique
como un lenguaje de programación de computadoras, debe proporcionar una forma
de programar estos aspectos de una computadora.

HTML no admite ninguna de estas
funciones. Es por eso que HTML no es un lenguaje de programación.

HTML no permite la lógica, el
control, el almacenamiento y la recuperación de datos, los bucles o cualquier
otra cosa que haga un lenguaje de programación. HTML es un lenguaje de marcado
para estructurar documentos”.

Ejemplos de
lenguajes de programación

Python y Rust califican como
lenguajes de programación de computadoras. También lo hacen C y Java.

Todos estos lenguajes proporcionan
una forma de declarar variables y asignar valores a esas variables. Así es como
los lenguajes de programación gestionan los datos.

Estos lenguajes admiten declaraciones
condicionales if… then… else . Así es como se realiza la lógica condicional.

Estos lenguajes también admiten
bucles for y while. Así es como se realiza la lógica repetitiva e iterativa
millones de veces por segundo.

HTML no tiene características
equivalentes. HTML no puede programar una computadora. Por lo tanto, HTML no es
un lenguaje de programación de computadoras.

¿HTML
combinado con CSS califica como lenguaje de programación?

Todas laspáginas web modernas utilizan una combinación de CSS y HTML para la maquetación y
el diseño. HTML da formato al texto de la página, mientras que CSS estructura y
aplica estilo a la página con fuentes, diseño de página y colores.

Una pregunta que surge a menudo es si
CSS es un lenguaje de programación o si la combinación de CSS y HTML cumple con
el umbral para calificar como lenguaje de programación. Desafortunadamente, no lo hacen.

Puedes hacer cosas impresionantes con
HTML y CSS. Hay varios ejemplos en JSFiddle donde los desarrolladores
implementan la Criba de Eratóstenes, una forma de calcular números primos, con
HTML y CSS. Ese es un algoritmo complicado y ciertamente demuestra cómo HTML y
CSS pueden aprovechar la potencia de procesamiento de una CPU.

Desafortunadamente, la implementación
de HTML y CSS requiere demasiada codificación.
Al final, esto destaca las deficiencias de HTML y CSS como supuestos lenguajes
de programación, frente a sus méritos.

CSS proporciona la capacidad de
declarar estilos como elementos de clase, pero describir estas construcciones
como variables es una exageración. Y sí, un desarrollador puede aplicar estilos
condicionalmente con CSS, pero no a través de una sintaxis if…else tradicional.
CSS proporciona solo formas rudimentarias de realizar cálculos e implementar
lógica condicional, y carece por completo de una estructura de bucle iterativo.

Incluso combinado con CSS, no podemos
decir honestamente que HTML es un lenguaje de programación.

Para profundizar en el punto, cada
vez que se requiere un procesamiento complicado para representar una página
HTML, se debe inyectar un programa real en la mezcla. Es por eso que vemos HTML
combinado regularmente con Java, PERL y PHP en el servidor y JavaScript en el cliente.

HTML es en
realidad un lenguaje de marcado

HTML no es un lenguaje de
programación. Es un lenguaje de marcas (markup).
De hecho, ese es el nombre de la tecnología: HyperText Markup Language. Ese
hecho autoidentificado por sí solo debería resolver el debate.

Entonces,
¿qué pasa si HTML es un lenguaje de programación o no
?

Tal vez la verdadera pregunta sea
esta: ¿importa si HTML se ajusta a la definición técnica de un lenguaje de
programación o no?

«Sospecho por qué la gente
quiere decidir esto. Con demasiada frecuencia, se trata de controlar quién es
un ‘programador real’ y quién no lo es. No hagas eso».  Ned Batchelder, ingeniero de software. 

Batchelder dijo que puede ver ambos
lados en el debate. Una persona podría argumentar razonablemente que HTML es un
lenguaje de programación porque es un lenguaje de computadora, estructurado
para decirle a una computadora qué hacer, específicamente cómo mostrar una
página. «Hay reglas, y si las rompes, no hará lo que quieres».

Que HTML sea técnicamente un lenguaje
de programación o no, no disminuye su importancia en el mundo del desarrollo de
software. No disminuye las habilidades de las personas que crean sitios web
increíbles con HTML.

HTML es el
primer lenguaje que debes aprender

Aunque HTML no es un lenguaje de programación,
sigue siendo el primer lenguaje que cualquier persona que quiera convertirse en programador debe
aprender.

Es fácil escribir tu primer programa HTML. Todo lo que necesitas es un
navegador web y un editor de texto. No hay necesidad de instalar compiladores o
intérpretes como lo harías con Java
o Python.

Además, obtienes resultados
instantáneos. Cuando un programa funciona, puedes ver los resultados de su
esfuerzo en un navegador web inmediatamente.

Las lecciones que un aspirante a
desarrollador aprende de HTML se trasladarán a lo largo de su carrera de
programación. Éstos incluyen:

El papel de HTML en el desarrollo de
páginas web;

  • Cómo el código se traduce en
    software;
  • La importancia de la estructura del
    programa;
  • Cómo solucionar problemas de código;
    y
  • El sentimiento de satisfacción cuando
    un programa de software funciona.

Los desarrolladores que comienzan con
HTML crean una base sólida para aprender otros lenguajes informáticos, como
Java o Python.

Trayectoria
profesional HTML y CSS

Si quieres aprender a programar, eso
es genial. Debes seguir siempre tus intereses.

Pero puedes tener una carrera
satisfactoria y exitosa en informática y nunca aprender cómo compilar un
archivo fuente Java o implementar un paquete NodeJS.

Los desarrolladores web autónomos con
conocimientos de HTML y CSS cobran un promedio de $200 por crear un sitio web y
$100 al mes por el mantenimiento continuo. Con solo 10 clientes, un
desarrollador web independiente puede generar más de $15,000 al año. Con un
poco de prisa, un buen desarrollador web puede duplicar eso.

Si te encanta el desarrollo de HTML y
la naturaleza visual del diseño de sitios web, no permitas que el debate sobre
el lenguaje de programación disminuya tu amor por el oficio. Es solo una
etiqueta…es básicamente una tontería.

¿Cuál es la diferencia entre codificación y programación?

1 comentario en «¿Es HTML un lenguaje de programación?»

  1. Estoy de acuerdo en que NO es un lenguaje de programación (es un lenguaje de marcas); pero NO por las razones que indican.

    Existen los lenguajes "declarativos" que tampoco tienen proporcionan estructuras de bucles (prolog, por ejemplo: y SQL en sus elementos más puros… los "bucles" de SQL son prescindibles).

    Responder

Deja un comentario