fbpx
Wikipedia

Tipado fuerte

Un lenguaje de programación es fuertemente tipado si no se permiten violaciones de los tipos de datos, es decir, dado el valor de una variable de un tipo concreto, no se puede usar como si fuera de otro tipo distinto a menos que se haga una conversión. No hay una única definición de este término. Un lenguaje que se dice que no está tipado se refiere a que no está fuertemente tipado.

Explicación detallada

Los lenguajes de programación suelen contar con un sublenguaje de tipos para declarar variables. Este sublenguaje instruye al compilador respecto al tipo de valores que puede adoptar cada variable. Por ejemplo:

int X; 

en el Lenguaje de programación C significa "la variable X adopta valores numéricos enteros".

Estos tipos también se declaran para todos los argumentos de procedimientos o subrutinas. Por ejemplo:

float subrutina(float Parametro) { return Parametro + 1.5; } 

Este procedimiento acepta un número en coma flotante (número real) y le suma 1,5.

En los lenguajes fuertemente tipados, el compilador no permite que se use una variable como parámetro de un procedimiento si sus tipos no coinciden exactamente. En el ejemplo anterior, no sería posible invocar la subrutina con la variable "X" si esta fuese de un tipo incompatible con float. Es decir, si X fuese de tipo entero, el compilador produce una conversión de int a float, y permite la llamada typecasting. En cambio si fuese de otro tipo, como puntero a char(char *), para el que no existe una conversión implícita a float, el compilador detectará el conflicto y producirá un error.

Conversión de tipos (typecasting)

Cuando un lenguaje es fuertemente tipado, el programador debe explícitamente convertir un tipo de datos en otro. Esto se conoce como conversión o moldeado de tipos (typecasting) y también debe estar soportado por el compilador. Por ejemplo:

subrutina((float)X) 

Indica al compilador que no estamos cometiendo un error y realmente deseamos convertir la variable "X" (entera) en una variable de coma flotante para invocar a "subrutina".

Cada lenguaje de programación puede ser más o menos tipado según en que casos exige el typecasting. Por ejemplo, la conversión automática entre entero y coma flotante podría ser admitida, pero no al contrario. Si no es factible la conversión entre un tipo u otro, el compilador también emitirá un error de compilación al momento de ejecutarlo.

Lenguajes no tipados

Los lenguajes de programación no tipados o débilmente tipados no controlan los tipos de las variables que declaran, de este modo, es posible usar variables de cualquier tipo en un mismo escenario. Por ejemplo, una función puede recibir como parámetro un valor entero, cadena de caracteres, flotante, etc.

No hay que confundir el término con los lenguajes de tipos dinámicos, en los que los tipos de las variables se deciden en tiempo de ejecución, si bien es cierto que muchos lenguajes de programación de tipos dinámicos (en los que no se declaran los tipos de datos) son también no tipados.

No son necesarias las conversiones de tipos, por lo tanto el siguiente ejemplo es correcto

a = 2 //a es un entero cad = "prueba de texto" //cad es una cadena de caracteres resultado = cad + a //resultado es una cadena de caracteres (las conversiones dependen del lenguaje) 

Ejemplos de lenguajes fuertemente tipados

Ejemplos de lenguajes no tipados


  •   Datos: Q991202

tipado, fuerte, lenguaje, programación, fuertemente, tipado, permiten, violaciones, tipos, datos, decir, dado, valor, variable, tipo, concreto, puede, usar, como, fuera, otro, tipo, distinto, menos, haga, conversión, única, definición, este, término, lenguaje,. Un lenguaje de programacion es fuertemente tipado si no se permiten violaciones de los tipos de datos es decir dado el valor de una variable de un tipo concreto no se puede usar como si fuera de otro tipo distinto a menos que se haga una conversion No hay una unica definicion de este termino Un lenguaje que se dice que no esta tipado se refiere a que no esta fuertemente tipado Indice 1 Explicacion detallada 1 1 Conversion de tipos typecasting 2 Lenguajes no tipados 3 Ejemplos de lenguajes fuertemente tipados 4 Ejemplos de lenguajes no tipadosExplicacion detallada EditarLos lenguajes de programacion suelen contar con un sublenguaje de tipos para declarar variables Este sublenguaje instruye al compilador respecto al tipo de valores que puede adoptar cada variable Por ejemplo int X en el Lenguaje de programacion C significa la variable X adopta valores numericos enteros Estos tipos tambien se declaran para todos los argumentos de procedimientos o subrutinas Por ejemplo float subrutina float Parametro return Parametro 1 5 Este procedimiento acepta un numero en coma flotante numero real y le suma 1 5 En los lenguajes fuertemente tipados el compilador no permite que se use una variable como parametro de un procedimiento si sus tipos no coinciden exactamente En el ejemplo anterior no seria posible invocar la subrutina con la variable X si esta fuese de un tipo incompatible con float Es decir si X fuese de tipo entero el compilador produce una conversion de int a float y permite la llamada typecasting En cambio si fuese de otro tipo como puntero a char char para el que no existe una conversion implicita a float el compilador detectara el conflicto y producira un error Conversion de tipos typecasting Editar Cuando un lenguaje es fuertemente tipado el programador debe explicitamente convertir un tipo de datos en otro Esto se conoce como conversion o moldeado de tipos typecasting y tambien debe estar soportado por el compilador Por ejemplo subrutina float X Indica al compilador que no estamos cometiendo un error y realmente deseamos convertir la variable X entera en una variable de coma flotante para invocar a subrutina Cada lenguaje de programacion puede ser mas o menos tipado segun en que casos exige el typecasting Por ejemplo la conversion automatica entre entero y coma flotante podria ser admitida pero no al contrario Si no es factible la conversion entre un tipo u otro el compilador tambien emitira un error de compilacion al momento de ejecutarlo Lenguajes no tipados EditarLos lenguajes de programacion no tipados o debilmente tipados no controlan los tipos de las variables que declaran de este modo es posible usar variables de cualquier tipo en un mismo escenario Por ejemplo una funcion puede recibir como parametro un valor entero cadena de caracteres flotante etc No hay que confundir el termino con los lenguajes de tipos dinamicos en los que los tipos de las variables se deciden en tiempo de ejecucion si bien es cierto que muchos lenguajes de programacion de tipos dinamicos en los que no se declaran los tipos de datos son tambien no tipados No son necesarias las conversiones de tipos por lo tanto el siguiente ejemplo es correcto a 2 a es un entero cad prueba de texto cad es una cadena de caracteres resultado cad a resultado es una cadena de caracteres las conversiones dependen del lenguaje Ejemplos de lenguajes fuertemente tipados EditarHaskell ML C DAX Ada Modula 2 Pascal Java C Objective C Go Rust Perl 6 TypeScript Lua Python DartEjemplos de lenguajes no tipados EditarLisp Perl PHP Prolog Basic JavaScript Datos Q991202Obtenido de https es wikipedia org w index php title Tipado fuerte amp oldid 136517277, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos