Esta es una comparación de las características de los sistemas de tipos y la verificación de tipos de múltiples lenguajes de programación .
Definiciones breves
Idioma | Tipo de seguridad | Expresión de tipo | Compatibilidad y equivalencia de tipos | Comprobación de tipos |
---|---|---|---|---|
A+ | fuerte | dinámica | ||
ActionScript 3.0 | fuerte | implícito con tipado explícito opcional | estático | |
abecedario | fuerte | |||
ABAP | fuerte | nominal | estático | |
Ada | fuerte [TS 1] | explícito | nominal | estático |
Agadé | fuerte | nominal | estático | |
Aldor | débil | parcialmente implícito [1] | estático | |
Alef | fuerte | estático | ||
ALGOL 58 | fuerte | explícito | estático | |
ALGOL 60 | fuerte | explícito | estático | |
ALGOL 68 | fuerte | explícito | estructural | Uniones estáticas y etiquetadas |
ALGOL W | fuerte | estático | ||
Alicia | fuerte | implícito con explícito opcional | estático | |
Alma-0 | estático | |||
Charla ambiental | fuerte | dinámica | ||
AMOS BÁSICO | estático | |||
Escritura de ángel | fuerte | estático | ||
APL | fuerte | dinámica | ||
Script de Apple | débil | dinámica | ||
Arco | dinámica | |||
Asamblea | ? | ? | ? | ? |
Tecla de acceso rápido automática | sin tipo | — | — | — |
AutoLISP | dinámica | |||
Ateji PX | fuerte | explícito | nominal | estático |
AWK | débil | implícito | dinámica | |
B | sin tipo | |||
Bailarina | fuerte | estructural | estático | |
Intento | ? | ? | ? | ? |
BÁSICO | fuerte | explícito | nominal | estático |
BCP | sin tipo | |||
Cáscara de frijol | fuerte | nominal | dinámica | |
DICHA | sin tipo | — | — | — |
Abucheo | fuerte | implícito con tipado explícito opcional | estático con tipado dinámico opcional | |
Hermano | fuerte | implícito con tipado explícito opcional | nominal | estático |
do | débil | explícito | nominal | estático |
DO-- | débil | estático | ||
C++ ( ISO/IEC 14882 ) | débil | explícito con tipado implícito opcional (mediante el uso de auto en C++11) | nominal | estático [TS 2] |
DO* | débil | explícito | estático | |
DO# | débil [TS 3] | implícito con tipado explícito opcional | nominal | estático [TS 4] |
C-shell (concha C) | ? | ? | ? | ? |
Camilla | fuerte | implícito con tipado explícito opcional | estático | |
Cecilio | Dinámico con tipado estático opcional | |||
Limpio | fuerte | implícito | estático | |
Ceilán | fuerte | estático | ||
Capilla | implícito con tipado explícito opcional | estático | ||
ENFRIAR | fuerte | estático | ||
Arrojar | fuerte | |||
Cilk | débil | explícito | estático | |
Clara | fuerte | implícito con tipado explícito opcional | Dinámico con tipado estático opcional | |
Limpio | fuerte | ? | ||
Clojure | fuerte | implícito con tipado explícito opcional | dinámica | |
CLU | fuerte | |||
COBOL | fuerte | explícito | nominal | estático |
Cobra | fuerte | explícito con tipificación implícita opcional | estático con tipado dinámico opcional | |
Script de café | implícito | dinámica | ||
Fusión fría (CFML) | fuerte | implícito | dinámica | |
COMAL | fuerte | |||
Ceceo común | fuerte | implícito con tipado explícito opcional | estructural para tipado implícito, nominal para tipado explícito | Dinámico, alguna comprobación estática (dependiendo de la implementación) |
Componente Pascal | fuerte | estático | ||
Fresco | fuerte | explícito | estático | |
CORAL | fuerte | estático | ||
Cristal | implícito con tipado explícito opcional [2] | estructural | estático | |
Cuneiforme | explícito | estático | ||
Rizo | fuerte | nominal | ||
Curry | fuerte | implícito con tipado explícito opcional | estático | |
Citón | fuerte | implícito con tipado explícito opcional | nominal (tipos de extensión) y estructural (Python) | Dinámico con tipado estático opcional |
D | débil [TS 3] | explícito | nominal | estático |
Dardo | fuerte [3] | mecanografía gradual | nominal | estático con tipado dinámico opcional |
Dylan | fuerte | dinámica | ||
Torre Eiffel | fuerte | nominal | estático | |
Elixir | fuerte | implícito | dinámica | |
Erlang | fuerte | implícito | dinámica | |
Euforia | fuerte | explícito, implícito con objetos | nominal | estático, dinámico con objetos |
F# | fuerte | implícito | nominal | estático |
Adelante | sin tipo | — | — | — |
Fortran | fuerte | explícito [TS 5] | nominal | estático |
Gambas | fuerte | explícito | nominal | |
GL Básico | fuerte | Declaraciones no explícitas disponibles a través de las opciones del proyecto | nominal | estático |
Destello | fuerte | implícito con explícito opcional | nominal | estático |
Ir [4] | fuerte | parcialmente implícito ( inferencia de tipo local ) | estructural | estático |
Gosu | fuerte | parcialmente implícito ( inferencia de tipo local ) | nominal (subclasificación) y estructural | estático |
Genial | fuerte | implícito con tipado explícito opcional | Dinámico con tipado estático opcional | |
Puerto | fuerte | implícito con tipado explícito opcional | dinámica | |
Haskell | fuerte | implícito con tipado explícito opcional | nominal [5] [6] | estático |
Hacha | fuerte | implícito con tipado explícito opcional | nominal (subclasificación) y estructural | estático con tipado dinámico opcional |
Yo | fuerte | implícito | dinámica | |
icono | fuerte | implícito | dinámica | |
ISLISP | fuerte | dinámica | ||
Yo | fuerte | dinámica | ||
Java | fuerte [7] | explícito | nominal | estático |
JavaScript | débil | implícito | — | dinámica |
Julia | fuerte | implícito con tipado explícito opcional [8] | estructural para tipado implícito, nominal para tipado explícito | dinámica |
Alegría | fuerte | dinámica | ||
Kotlin | fuerte | parcialmente implícito (inferencia de tipo local) | nominal | estático |
LabVIEW | fuerte | |||
Lua | fuerte | implícito | dinámica | |
Arce | fuerte | dinámica | ||
Mercurio | fuerte | estático | ||
Matemática | fuerte | dinámica | ||
Código M de MATLAB | fuerte | dinámica | ||
Módulo-2 | débil [TS 3] | explícito | nominal | estático |
Módulo-3 | débil [TS 3] | explícito | estructural | estático |
PAPERAS (M) | sin tipo | — | — | — |
Neko | dinámica | |||
Nemerle | fuerte | implícito | nominal | estático |
Logotipo de Net | fuerte | implícito | dinámica | |
NetRexx | fuerte | implícito con explícito opcional | Dinámico con tipado estático opcional | |
nuevoLisp | implícito | dinámica | ||
NUEVOP | fuerte | estático | ||
Neolengua | dinámica | |||
Escritura de Newton | dinámica | |||
Nial | dinámica | |||
Nim | fuerte | parcialmente implícito (inferencia de tipo) | estático | |
Níquel | fuerte | |||
Ahora | dinámica | |||
Oberón | fuerte | explícito | nominal | estática y parcialmente dinámica [TS 6] |
Objetivo-C | fuerte | explícito | nominal | Dinámico con tipado estático opcional [9] |
OCaml | fuerte | implícito con tipado explícito opcional | nominal para registros, [10] estructural para objetos [6] [11] | estático |
Objeto Pascal | fuerte | explícito | nominal | estático |
Abuelo | fuerte | implícito con tipado explícito opcional | estructural | estático |
Oxígeno | débil | implícito | estático | |
Oz-Mozart | fuerte | implícito | estructural | dinámica |
Pascal | débil [TS 3] | explícito | nominal | estático |
Perl 5 | implícito | dinámica | ||
PHP | débil | implícito con tipado explícito opcional | nominal | dinámica |
Más | fuerte | explícito | estructural | estático, dinámico (opcional) |
Prólogo | dinámica | |||
Puro | dinámica | |||
Puro Script | fuerte | implícito con tipado explícito opcional | nominal | estático |
Pitón | fuerte | implícito (con tipificación explícita opcional a partir de 3.5) | nominal | dinámica |
R | implícito | dinámica | ||
Raku | parcialmente implícito [TS 7] | Dinámico con tipado estático opcional | ||
REBOL | fuerte | implícito | dinámica | |
Rexx | sin tipo | —, implícito en relación con los números | — | estático+dinámico con respecto a los números |
Juego de rol | débil | estático | ||
Rubí | fuerte | implícito | — | dinámica |
Óxido | fuerte | explícito con tipificación implícita opcional [12] | mayormente nominal | estático |
S | dinámica | |||
Jerga | fuerte | implícito | dinámica | |
Escala | fuerte | parcialmente implícito (inferencia de tipo local) | nominal (subclasificación) y estructural | estático |
Esquema | fuerte | implícito | dinámico ( latente ) | |
Semilla7 | fuerte | explícito | nominal | estático |
Simula | fuerte | estático [TS 8] | ||
Charla informal | fuerte | implícito | dinámica | |
Rápido | fuerte | parcialmente implícito (inferencia de tipo local) | nominal (subclasificación) y estructural | estático |
ML estándar | fuerte | implícito con tipado explícito opcional | estructural | estático |
Tcl | dinámica | |||
Mecanografiado | ? | opcional | estructural | estático |
Unícono | fuerte | implícito | dinámica | |
Visual Basic | fuerte | implícito con tipado explícito opcional | nominal | estático |
Visual Basic (.NET) | débil [TS 3] | explícito | estático | |
Prólogo visual | fuerte | parcialmente implícito | nominal | estático |
Lenguaje Wolfram | fuerte | dinámica | ||
Windows PowerShell | fuerte | implícito | dinámica | |
SG | fuerte | nominal | estático | |
Xojo | fuerte | explícito | nominal | estático |
XPath / XQuery | fuerte | parcialmente implícito | nominal | Dinámico con tipado estático opcional |
Idioma | Tipo de seguridad | Expresión de tipo | Compatibilidad y equivalencia de tipos | Comprobación de tipos |