¿Qué significa DIM en Visual Basic y BASIC?

¿Qué significa DIM en Visual Basic?

Dim originalmente (en BASIC) representaba Dimension, ya que se usaba para definir las dimensiones de una matriz.

(La implementación original de BASIC fue Dartmouth BASIC, que descendió de FORTRAN, donde se detalla DIMENSION).

Hoy en día, Dim se usa para definir cualquier variable, no solo las matrices, por lo que su significado ya no es intuitivo.

Dim tiene diferentes significados que se le atribuyen.

He encontrado referencias sobre el significado de Dim “Declarar en memoria” , la referencia más relevante es un documento publicado en Oracle sobre Dim Stat como parte de Siebel VB Language Reference. Por supuesto, puedes argumentar que si no declaras las variables en la memoria, ¿dónde lo haces? Tal vez “Declarar en Módulo” sea ​​una buena alternativa considerando cómo se usa Dim .

En mi opinión, “Declare In Memory” es en realidad un mnemónico , creado para que sea más fácil aprender a usar Dim . Veo “Declarar en memoria” como un mejor significado, ya que describe lo que hace en las versiones actuales del lenguaje, pero no es el significado correcto.

De hecho, en los orígenes de Basic Dim solo se usaba para declarar matrices. Para las variables regulares no se utilizó palabra clave, sino que su tipo se dedujo de su nombre. Por ejemplo, si el nombre de la variable termina con $ entonces es una cadena (esto es algo que podría verse incluso en nombres de métodos hasta VB6, por ejemplo Mid$ ). Entonces, Dim para dar dimensión a las matrices ( ReDim cuenta que ReDim cambia el tamaño de las matrices).


Realmente, ¿Importa ? Quiero decir, es una palabra clave que tiene su significado dentro de un lenguaje artificial. No tiene que ser una palabra en inglés o cualquier otro idioma natural. Entonces podría significar lo que quieras, todo lo que importa es que funciona.

De todos modos, eso no es completamente cierto. Como BASIC es parte de nuestra cultura, y comprender por qué llegó a ser lo que es, espero, ayudará a mejorar nuestra visión del mundo.


Me siento desde mi computadora con el deseo de ayudar a preservar esta pequeña parte de nuestra cultura que parece perdida, reemplazada por nuestra conjetura de lo que era. Y entonces, he cavado MSDN tanto el CD actual como el antiguo de la versión de 1998. También busqué en la documentación del antiguo QBasic [Tuve que usar DOSBox] y pude obtener un manual de Darthmouth, todo para ver cómo hablan sobre Dim . Para mi decepción, no dicen qué quiere decir Dim , y solo dicen cómo se usa.

Pero antes de que mi esperanza fuera débil, me las arreglé para encontrar esta Guía del sistema de microcomputadora BBC usada (que dice ser de 1984, y no quiero dudar de ello). El microordenador de BBC utilizó una variante de BASIC llamada BBC BASIC y se describe en el documento. Aunque no dice qué significa Dim , dice (en la página 104):

… puede acotar N $ para tener tantas entradas como desee. Por ejemplo, DIM N $ (1000) crearía una matriz de cadenas con espacio para 1000 nombres diferentes.

Como dije, no dice que Dim significa dimensión, sino que sirve como prueba para mostrar que asociar Dim con Dimension era algo común al momento de escribir ese documento.

Ahora recibí una sorpresa gratificante más adelante (en la página 208), el título de la sección que describe la palabra clave DIM (nota: que no figura en el contenido) dice:

Dimensión DIM de una matriz

Por lo tanto, no obtuve la cita “Dim significa” … pero supongo que está claro que cualquier ser humano decente que sea capaz de leer esos documentos considerará que Dim significa dimensión.


Con renovada esperanza, decidí buscar cómo se eligió Dim . Una vez más, no encontré una cuenta sobre el tema, aún así pude encontrar una cita definitiva:

Antes de que pueda usar una matriz, debe definirla en una statement DIM (dimensión).

Puede encontrarlo como parte de las Guías del usuario True BASIC en línea en la página web de True BASIC inc, una compañía fundada por Thomas Eugene Kurtz , coautor de BASIC.


Entonces, en realidad, Dim es una abreviatura de DIMENSION , y sí. Eso ya existía en FORTRAN, por lo que es probable que haya sido elegido por influencia de FORTRAN como dijo Patrick McDonald en su respuesta .


 Dim sum as string = "this is not a chinese meal" REM example usage in VB.NET ;) 

Es la abreviatura de Dimension, ya que se usó originalmente en BASIC para especificar el tamaño de las matrices.

DIM – (abreviatura de dimensión) define el tamaño de las matrices

Ref: http://en.wikipedia.org/wiki/Dartmouth_BASIC

Una parte del código fuente del comstackdor BASIC original, donde salta al encontrar un comando DIM , en el que puede ver claramente la intención original de la palabra clave:

 DIM LDA XR01 BACK OFF OBJECT POINTER SUB N3 STA RX01 LDA L 2 GET VARIABLE TO BE DIMENSIONED STA 3 LDA S 3 CAB N36 CHECK FOR $ ARRAY BRU *+7 NOT $ ... 

Ref: http://dtss.dartmouth.edu/scans/BASIC/BASIC%20Compiler.pdf

Más tarde se utilizó para declarar todo tipo de variables, cuando se agregó la posibilidad de especificar el tipo para las variables en las implementaciones más recientes.

Acotar una variable, básicamente le está diciendo al comstackdor que va a necesitar una variable de este tipo en algún momento.

Representa Dimension, pero generalmente se lee como “Crear variable” o “Asignar espacio para esto”.

Declaración de variables Inicialmente, era la abreviatura de “dimensión”, que no es un término que se utiliza en la progtwigción (fuera de esta palabra clave específica) en ningún grado significativo.

http://in.answers.yahoo.com/question/index?qid=20090310095555AANmiAZ

DIM significa Declaración en memoria DIM x Como nuevo entero crea un espacio en la memoria donde se almacena la variable x

En el pasado, DIM reservaba la memoria para la matriz y cuando la memoria era limitada, tenía que tener cuidado con la forma en que la usaba. Una vez escribí (en 1981) un progtwig BASIC en TRS-80 Model III con 48Kb de RAM. No funcionaría en una máquina similar con 16Kb de RAM hasta que redujera el tamaño de la matriz cambiando la statement DIM

Abreviatura de Dimension. Es un tipo de variable. Usted declara (o “dice” a Visual Basic) que está configurando una variable con esta palabra.

La palabra clave Dim es opcional, cuando la usamos con modificadores: público, protegido, amigo, amigo protegido, privado, compartido, sombras, estático, ReadOnly, etc. p. Ej., Static nTotal As Integer

Para el tipo de referencia, tenemos que usar palabras clave nuevas para crear la nueva instancia de la clase o estructura. por ejemplo, Dim lblTop As New System.Windows.Forms.Label .

La statement Dim se puede usar sin un tipo de datos cuando configura Option Infer en On . En ese caso, el comstackdor deduce el tipo de datos de una variable del tipo de su expresión de inicialización. Ejemplo:

 Option Infer On Module SampleMod Sub Main() Dim nExpVar = 5 

La statement anterior es equivalente a- Dim nExpVar As Integer