En ciencias de la computación, el tipado explícito es un estilo de tipado, en el que cada variable debe ser declarada junto con su tipo . Por ejemplo: si una variable X va a almacenar números enteros, entonces su tipo debe declararse como entero.

Por el contrario, algunos lenguajes de programación utilizan tipado implícito (también conocido como inferencia de tipos), donde el tipo de una variable se deduce del contexto en tiempo de compilación.

Es importante no confundir el tipado explícito/implícito con el tipado estático/dinámico. Los primeros se refieren a la forma en que las variables (y sus tipos) son declaradas, mientras que los segundos se refieren a si el lenguaje comprueba los tipos en tiempo de compilación o en tiempo de ejecución.

Ejemplos

editar

Considere el siguiente ejemplo escrito en el lenguaje de programación C :

#include <stdio.h>

int main(void) {
  char s[] = "Cadena de prueba";
  float x = 0.0f;
  int y = 0;

  printf("Hola mundo!\n");
  return 0;
}

Las variables s, x e y se declaran como una cadena de caracteres, un número de punto flotante y un entero, respectivamente. Desde C23, C soporta inferencia de tipos con la palabra clave auto . [1]​ Usando esa característica, el ejemplo anterior podría escribirse de la siguiente forma:

#include <stdio.h>

int main(void) {
  auto s = "Cadena de prueba";
  auto x = 0.0f;
  auto y = 0;

  printf("Hola mundo!\n");
  return 0;
}

De manera similar al segundo ejemplo, en ML estándar no es necesario declarar explícitamente los tipos . En cambio, el tipo está determinado por el tipo de la expresión asignada.

let val s = "Cadena de prueba"
  val x = 0.0
  val y = 0
in print "Hola mundo!\n"
end

No hay tipos explícitos en este programa. El compilador infiere los tipos string, real e int para las variables, y rechazaría la expresión s+x como un error de tiempo de compilación.

Referencias

editar
  1. «WG14-N3007 : Type inference for object definitions». open-std.org. 10 de junio de 2022. Archivado desde el original el December 24, 2022.