Nothing Special   »   [go: up one dir, main page]

To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
Live Statistics
Spanish Articles
Improved in 24 Hours
Added in 24 Hours
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

De Wikipedia, la enciclopedia libre

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.

YouTube Encyclopedic

  • 1/2
    Views:
    9 267
    632
  • DataSet Tipado C# Tutorial 2013
  • Curso Python [P21] - Explicando los Objetos: Duck Typing ( el Tipado del Pato)

Transcription

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.

Confusión común del concepto

Es habitual que el lenguaje de programación C se considere fuertemente tipado, lo cual es relativamente incorrecto. Los compiladores de C nos avisan cuando los tipos no se corresponden, lo que puede ser fácilmente resuelto realizando un cast de la variable en cuestión. Sin embargo, tomando de nuevo la definición, un lenguaje es fuertemente tipado "si no se permiten violaciones de los tipos de datos", pero en el caso de C sí que se permite esto, dado que al efectuar un cast no estamos ante una conversión de tipo (no hay variación alguna de la representación del dato en memoria) sino ante un "mensaje" al compilador.

En la programación a bajo nivel de C son comunes violaciones de tipo con las que el programador debe ser especialmente cuidadoso.

Un ejemplo de lenguaje fuertemente tipado, como es Python, no permite violación de tipos. Esto se puede ver tratando de ejecutar una suma entre un string y un int.

Lenguajes no tipados

Los lenguajes de programación no 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

Esta página se editó por última vez el 7 oct 2023 a las 19:15.
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.