2

Cuales son las principales diferencias entre lenguajes tipados y no tipados, y que ventajas y desventajas tienen cada uno

Jeison Andres
JeyG20
6003
Escribe tu comentario
+ 2
3
6083Puntos

Que un lenguaje sea tipado significa que le tienes que especificar a tu lenguaje de programación que clase de dato es la variable que estas declarando. Por que tienes que hacer esto? Por que cada tipo de dato tiene un tamaño distinto en BYTES .

Cuando declaras una variable de tipo INT, le estas diciendo, en el caso de c, al compilador que necesitas 4 BYTES en memoria ram para almacenar un número en el caso de una variable de tipo entero, mientras que si declaras un CHAR estas pidiendo al compilador que recerve en la memoria ram 1 BYTE ya que los char usan 1 byte de espacio para poder almacenar todas las letras que tenga el código ASCII.

Es bastante obvio por que si tienes que hacer un programa eficiente necesites un lenguaje de tipado, por que tienes que hacer un buen uso de la memoria RAM de tu computadora. Pero, y con los lenguajes que no se usan para aplicaciones que necesiten esta eficiencia? Ahí es donde aparecen los lenguajes no tipados, donde no tienes que declarar explicitamente el tipo de dato que vas a usar, por que el lenguaje se hará cargo.

Entonces, la diferencia es que en uno tipado, tienes que manejar el tipo de dato de tus variables, mientras que en uno no tipado no es que no se manejan los tipos de datos, dejas que el lenguaje de programación los maneje.

Cada uno tiene sus ventajas y desventajas, es obvio que al tener que manejar los tipos de datos, la programación es más compleja, pero es más eficiente, si no es tipado quizas tu aplicación no sea más rápida, pero será más fácil de programar.

Ninguno es mejor que otro por si mismo, pero sabes cuando es mejor uno que otro? Cuando tienes un proyecto y tienes que decidir la herramienta para crear esa gran aplicación.

Espero que te sirva, saludos 😉

3
6083Puntos
3 años

Y te dejo un ejemplo que espero que te sirva para entenderlo más.

Como ruby no deja que declares el tipo de tu dato, si tu quieres almacenar un número entero y sabes que NO ALMACENARAS UN NÚMERO MAYOR QUE 255 no puedes declarar un entero que solo sea de UN BYTE (ya que un byte son 8 bits, y 2^8 es 254), entonces ruby usara 4 BYTES para un entero que solo necesitaba 1 byte.

Pero por favor, no piensen que los lenguajes no tipados son malos por esto, yo programo mucho en c, y se que tardo posiblemente el TRIPLE para hacer un programa que lo que tarda alguien que usa python.

1
6003Puntos
3 años

Gracias por tu respuesta, me aclaraste las cosa