En el de informática, el mecanografiar débil es una característica atribuida al tipo sistemas de algunos lenguajes de programación que es el contrario de mecanografiar fuerte, y por lo tanto el mecanografiar débil término tiene tantos diversos significados como lo hace el mecanografiar fuerte (véase mecanografiar fuerte para una lista y una discusión detallada).

Una de las definiciones mas comunes indica que eso los lenguajes de programación débil-mecanografiados son los que apoyan el tipo implícito conversión (casi todas las idiomas apoyan por lo menos un tipo conversión implícito), el polimorfismo ad hoc (también conocido como que sobrecarga ) o ambos. Estas reglas menos restrictivas del uso pueden dar la impresión que la adherencia terminante a las reglas que mecanografían es menos importante que en las idiomas strongly-typed y por lo tanto que el tipo sistema es " weaker". Sin embargo, tales idiomas tienen generalmente restricciones en lo que pueden hacer los programadores con los valores de un tipo dado ; así es posible que una lengua débil-mecanografiada sea el tipo seguro. Por otra parte, débil-mecanografiado idiomas puede ser el estáticamente mecanografiado, en este caso el sobrecargar se resuelve estáticamente y el tipo operaciones de la conversión es insertado por el recopilador, o mecanografiado dinámicamente, en este caso todo es resolved en el tiempo de pasada.

La ventaja demandada de mecanografiar débil es que requiere menos esfuerzo de parte del programador que mecanografiar fuerte, porque el recopilador o el intérprete realiza implícito ciertas clases de conversiones. Sin embargo, uno demandó la desventaja es ése retén débil mecanografiado de los sistemas de programación pocos errores en de tiempo de compilación y algunos de éstos pudieron todavía permanecen después de que se haya terminado la prueba. Dos idiomas de uso general que apoyan muchas clases de conversión implícita son el C y el C++, y él se demandan a veces que éstas son débil idiomas mecanografiadas. Sin embargo, otros sostienen que estas idiomas ponen bastantes restricciones en cómo los operandos de diversos tipos pueden ser mezclados, que los dos se deben mirar como idiomas fuerte mecanografiadas.

C++ pone más restricciones en la dirección de tipos enumerados que C:

animal del enum {CAT=0, DOG=2, PIG=3}; animal a = CAT; /* la palabra clave del enum aquí es opcional en C++ * animal b = 1; /* esto es un error en C++ *

.

  • Zenithic
  • Diana Norman
    Random links:Thomas M. Disch | Hitoyoshi, Kumamoto | José Julián Acosta | 450 Brigitta | Enciclopedia de Routledge de la filosofía

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">