Tal vez hemos escuchado que algunos lenguajes de programación son de tipado fuerte y otros de tipado débil. Hay una gran diferencia entre ambos tipos. Normalmente el tipado débil es el más criticado de todos, pero también es querido por muchos. Aquí daré una pequeña explicación.
Para comenzar, debemos saber que el tipado se refiere a cómo declaramos los tipos de variables. Por ejemplo, algunas las declaramos como enteras, algunas otras como cadena, flotantes, etcétera. Y en algunos lenguajes, no necesitamos declarar el tipo, pues éste se adivina.
Por otro lado, el tipado fuerte no permite hacer operaciones entre objetos de distintos tipos. No podemos sumar una cadena mas un entero. En cambio, en los débilmente tipados sí.
La mayoría de veces, el tipado débil es en donde no indicamos el tipo de variable al declararla. La verdadera diferencia es que podemos asignar, por ejemplo, un valor entero a una variable que anteriormente tenía una cadena.
También podemos operar aritméticamente con variables de distintos tipos. Por ejemplo, sumar “x” + 5.
Veamos lo que pasa en JavaScript cuando hacemos la siguiente operación:
let resultado = "x" + 5;
En un lenguaje fuertemente tipado daría un error, pero en JavaScript no pasa nada:
Aquí es en donde indicamos el tipo de dato al declarar la variable. Dicho tipo no puede ser cambiado nunca. Y no podemos operar entre distintos tipos.
Por mencionar algunos…
Intentemos realizar la operación de “x” + 5 en Python, y veamos lo que pasa:
Es un poco difícil determinar los de tipado débil y los de tipado fuerte. Los de tipado fuerte son más seguros, pues no permiten hacer operaciones con variables de distintos tipos.
Personalmente preferiría que todos fueran de tipado fuerte. Si no nos queda otra opción, simplemente hay que castear o comprobar el tipo cada vez que trabajemos con una variable. Afortunadamente tenemos funciones como gettype, settype, typeof, etcétera.
Además, algunos lenguajes (como PHP) están introduciendo un tipado fuerte al declarar funciones. De todos modos, al final todo depende del programador, pues éste se encarga de que el código funcione.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.
Ver comentarios
C es un lenguaje de tipado débil.
Los débilmente tipados tienen ese halo de "fácil de usar" precisamente por que permiten olvidarse de esas aparentes restricciones al querer operar dos variables de diferente tipo. Sin embargo, al final parecen ser preferibles los lenguajes fuertemente tipados, puesto que previenen errores de una manera más certera.
Excelente artículo, he aprendido bastante aquí ^^
Pero si según Wikipedia, Python es de tipado fuerte.
Hay algo que no capto de primera, si Python es fuertemente tipado (es decir que no soporta operaciones entre instancias de diferentes tipos), ¿por qué la 5+True da como resultado 6?
Los booleanos en Python son considerados un subtipo de los enteros: https://docs.python.org/3/library/stdtypes.html#numeric-types-int-float-complex
wow no creas todo lo de wikipedia, python no es fuertemente tipado, ahi no declaras las variables, puedes declarar claro, en los objetos defines los atributos con sus respectivos tipos etc. Pero en algoritmia sencilla, puedes facilemente poner x = "hola" y en la siguiente linea sumarle un numero etc. Yo no lo desfiniria como fuertemente tipado
Tienes razón. Ya he editado el artículo :-)