Variable (computadora)

En informática , las variables son símbolos que asocian un nombre (el identificador ) con un valor. En la mayoría de los idiomas y especialmente en los más comunes, las variables pueden cambiar de valor con el tiempo ( dinámico ). En los lenguajes de ciertos paradigmas , en particular la programación funcional , su valor está, por el contrario, congelado en el tiempo ( estático ).

Variables y constantes

A diferencia de una variable, una constante es un identificador asociado con un valor fijo. Sintaxis, este identificador tiene todos los aspectos de una variable. Sin embargo, se le asigna un valor final, es decir constante , como el tamaño de un tablero de ajedrez (8x8). Una constante contiene un valor que puede tener diferentes valores dependiendo de las ejecuciones, como el juego del buscaminas donde el jugador puede elegir el tamaño del tablero.

Variables de programación

En un lenguaje de programación, una variable es el espacio de almacenamiento para un resultado. Sin embargo, las posibilidades De una variable están íntimamente ligadas al lenguaje de programación al que nos referimos. Por ejemplo, una variable en C ++ tendrá seis características:

Sin embargo, se pueden encontrar idiomas que restringen estas características:

Variables y punteros

En todos los lenguajes que permiten la creación dinámica de direcciones (nuevo en C ++ o Java), la noción de variable se complementa con la noción de puntero (tipo de datos asociados a una variable, cuyos valores son direcciones). La dirección contenida en una variable de puntero puede ser inaccesible para el programador (PHP, Java, Python) o directamente accesible (C ++) .

Nombre de variables

En algunos idiomas, los nombres de las variables (como los de los identificadores ) deben comenzar necesariamente con una letra (mayúscula o minúscula) o con un _ ( subrayado ). Los demás caracteres que componen el nombre de la variable deben ser una letra, un número o un _ . La diferenciación de mayúsculas y minúsculas (sensibilidad a mayúsculas y minúsculas) en el nombre de una variable depende del idioma considerado.

Ejemplos de nombres de variables válidos, en C  :

Ejemplo de un nombre de variable inválido en C:

Así, el primer carácter no puede ser un número, porque esto permite facilitar la compilación o la interpretación del programa eliminando una ambigüedad: cuando el compilador lee un número, sabe que los caracteres que seguirán constituirán un valor numérico. . Asimismo, si lee una letra o un guión bajo, sabrá que se trata de una variable.

Todos estos nombres de variables son válidos en Lisp .

Mecanografía

Cuando el tipo de una variable se determina en la compilación (explícitamente por el programador o automáticamente por inferencia de tipo ), hablamos de tipado estático . Los valores de esta variable deben ser de este tipo (en sentido amplio, es decir del mismo tipo o de un tipo derivado).

La escritura estática ayuda a generar un código objeto más eficiente (en términos de consumo de memoria y velocidad de ejecución). Sin embargo, prohíbe la reflexividad durante la ejecución.

De lo contrario, en los casos en los que no son las variables las que tienen un tipo, sino los valores, hablamos de tipado dinámico o tipado latente.

Hablamos de tipado fuerte cuando el lenguaje requiere que las variables se declaren en un tipo y se usen en este tipo (por ejemplo: Ada o C ++). Hablamos de tipado débil cuando el lenguaje admite que una variable puede cambiar de tipo durante su existencia (en particular para ajustarse a la semántica de una expresión).

Ciclo de vida de variables

Generalmente hay cinco operaciones sobre variables, cada una de las cuales puede tomar diferentes formas sintácticas.

Los lenguajes, como C , Caml o Pascal , requieren declarar una variable o incluso darle un tipo antes de su uso. La declaración forzada de variables permite al compilador o intérprete identificar errores tipográficos como variables no declaradas o variables homónimas. Otros lenguajes hacen la declaración en el momento de la primera asignación (este es el caso de la mayoría de los lenguajes de scripting ) o cuando aparecen por primera vez en el código (como en Prolog).

En cuanto a la inicialización de variables, es decir la asignación de un valor al mismo tiempo que la definición, algunos lenguajes requieren inicializar una variable antes de su primera lectura, otros aportan un valor implícito (especificado o indeterminado), y finalmente otros dejan que la variable tenga un valor no especificado. Los lenguajes como Oz o Prolog no realizan, estrictamente hablando, la inicialización. Al declarar variables sin valor asociado, decimos que la variable no está vinculada . El valor de la variable se determina a medida que se ejecuta el programa, esto se llama unificación .

En la programación funcional o en los lenguajes de programación lógica , las variables solo pueden tener un valor durante su existencia.

Reflexividad

En la mayoría de los lenguajes, las variables existen solo como herramientas para el programador. Por lo tanto, cambiar el nombre de todas las apariciones de una variable no modificará el funcionamiento del programa.

Por el contrario, para aportar expresividad adicional, algunos lenguajes permiten considerar un nombre de variable como un valor como cualquier otro (por ejemplo, estos son los símbolos de Common Lisp y Smalltalk ). Esta es una técnica muy útil para implementar eficazmente algoritmos de cálculo simbólico .

Notas y referencias

  1. En C, no varía con el tiempo si usamos la palabra clave const

Ver también