¿Qué significa DIM en Visual Basic?
¿Qué significa DIM en Visual Basic?
Respuestas:
Dim originalmente (en BASIC) significaba Dimensión, 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 explica DIMENSION).
Hoy en día, Dim se utiliza para definir cualquier variable, no solo matrices, por lo que su significado ya no es intuitivo.
Dim
han tenido diferentes significados atribuidos a ello.
He encontrado referencias sobre el Dim
significado "Declarar en memoria" , la referencia más relevante es un documento sobre Dim Statement publicado en Oracle como parte de la Referencia del lenguaje Siebel VB. Por supuesto, puede argumentar que si no declara las variables en la memoria, ¿dónde lo hace? Quizás "Declarar en módulo" es una buena alternativa considerando cómo Dim
se usa.
En mi opinión, "Declarar en memoria" es en realidad un mnemónico , creado para que sea más fácil de 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ó una palabra clave, en su lugar, 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 puede ver incluso en nombres de métodos hasta VB6, por ejemplo Mid$
). Y así, solía Dim
dar solo dimensión a las matrices (observe que ReDim
redimensiona 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. Por lo tanto, podría significar lo que quieras, lo único que importa es que funcione.
De todos modos, eso no es completamente cierto. Como BASIC es parte de nuestra cultura, y entender por qué se convirtió en 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 suposición de lo que era. Y así, he cavado MSDN tanto los CD actuales como los antiguos de la versión de 1998. También busqué en la documentación el viejo QBasic [Tuve que usar DOSBox] y logré obtener un manual de Darthmouth, todo para descubrir cómo hablan Dim
. Para mi decepción, no dicen qué significa Dim
, y solo dicen cómo se usa.
Pero antes de que mi esperanza se debilitara, logré encontrar esta Guía de uso del sistema de microcomputadoras de la BBC (que dice ser de 1984, y no quiero dudarlo). La BBC Microcomputer 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 dimensionar 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, pero sirve como prueba para demostrar que asociarse 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
Entonces, no recibí la cita "Dim significa ..." pero supongo que está claro que cualquier ser humano decente que pueda leer esos documentos considerará que eso Dim
significa dimensión.
Con renovada esperanza, decidí buscar cómo Dim
fue elegido. Una vez más, no encontré una cuenta sobre el tema, pero pude encontrar una cita definitiva:
Antes de poder usar una matriz, debe definirla en una declaración DIM (dimensión).
Puede encontrar esto como parte de las Guías del usuario en línea de True BASIC 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 existió en FORTRAN antes, por lo que es probable que haya sido elegido por la 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 ;)
Dim
realmente significa
Es la abreviatura de Dimension, ya que se utilizó 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 original del compilador BASIC, donde saltaría al encontrar un DIM
comando, 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 de variables en implementaciones más recientes.
Significa Dimensión, pero generalmente se lee como "Crear variable" o "Asignar espacio para esto".
Declaración variable Inicialmente, era la abreviatura de "dimensión", que no es un término que se utiliza en la programación (fuera de esta palabra clave específica) en ningún grado significativo.
http://in.answers.yahoo.com/question/index?qid=20090310095555AANmiAZ
En el pasado, DIM reservó memoria para la matriz y cuando la memoria era limitada, tenía que tener cuidado de cómo la usaba. Una vez escribí (en 1981) un programa BÁSICO en TRS-80 Modelo 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 al cambiar la declaración DIM
La palabra clave Dim es opcional cuando la usamos con modificadores: público, protegido, amigo, amigo protegido, privado, compartido, sombras, estático, solo lectura, etc. Static nTotal As Integer
Para el tipo de referencia, tenemos que usar una nueva palabra clave para crear la nueva instancia de la clase o estructura. por ej Dim lblTop As New System.Windows.Forms.Label
.
La instrucción Dim se puede usar sin un tipo de datos cuando establece la opción Inferir en Activado . En ese caso, el compilador 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 declaración anterior es equivalente a: Dim nExpVar As Integer