# Gambas/Conceptos básicos de programación
## Tipos de Datos

Los datos son abstracciones del mundo real que son necesarias para la resolución de una tarea y están representadas de forma que puedan ser procesadas por la computadora. Un dato puede ser único elemento o un conjunto de ellos que aporte información sobre el problema.
Si el dato está formado exclusivamente por números, será de tipo numérico. Si está formado por letras será de tipo alfanumérico, ya que puede contener datos numéricos, caracteres especiales y letras. los datos lógicos o “booleanos”, únicamente pueden tomas dos valores: Cierto (True) o Falso (False).
Los datos pueden ser variables y constantes.
| Tipo | Rango de Valores |
| Boolean | Verdadero o Falso |
| Byte | 0 a 255 |
| Short | -32.768 a +32.767 |
| Integer | -2.147.483.648 a +2.147.483.647 |
| Long | -9.223.372.036.854.775.808 a +9.223.372.036.854.775.807 |
| Single | Igual que el tipo float en C |
| Float | Igual que el tipo double en C |
| Date | Fecha y Hora, cada uno almacenado como un entero |
| String | Una cadena de caracteres de longitud variable |
| Variant | Cualquier tipo de dato |
| Object | Referencia anónima a cualquier objeto |
| Pointer | Una dirección de memoria |

## Variables

Una variable es un dato que se almacena en la memoria de la computadora, del que su valor puede variar a lo largo de la ejecución del programa. Una variable, en general, consta de: un identificador o nombre, que es una cadena de caracteres que sirve para referenciarla, y un valor.

### Declaración

* Sintaxis
[STATIC] {PUBLIC|PRIVATE} Identifier [Static array declaration] AS Datatype [=Expression]
* Sintaxis
[STATIC] {PUBLIC|PRIVATE} Identifier AS NEW Native Datatype [Array dimensions...]

### Asignación
## Constantes

Una Constante es un dato almacenado en la computadora del que su valor se mantiene fijo o constante durante la ejecución del programa. Las constantes pueden representarse:
* Indicando su valor (por ejemplo, 3.14, 13033 o "Este texto" son datos constantes de distinto tipo, o
* Empleando un identificador o nombre que permita hacer referencia a su valor en el programa. Imagina que asignamos al identificador “pi” el valor constante 3.14159. El identificador es más fácil de recordar que el valor y hace que el programa sea más sencillo de modificar si el valor de la constante variase, ya que bastará con actualizar el valor asignado al identificador.
* Sintaxis
{PUBLIC|PRIVATE} CONST Identifier AS Datatype = Constant value

## Comentar el código

Es una buena práctica agregar comentarios al código que escribes, independientemente si es un programa en Gambas o en cualquier otro lenguaje. En los ejemplos anteriores hacemos uso de los comentarios para proporcionar detalles del significado de los operadores. Todos los comentarios inician con un apostrofe (') y todo lo que se escriba después de él, sera ignorado por el compilador.
Uno de los peores vicios de los programadores es no comentar su código, y después cuando tratan de darle mantenimiento a una sección de código que escribieron unos cuantos meses antes, son incapaces de recordar para que usaron ciertas variables o que función tiene una parte especifica de su código. Ahora imagina que estas trabajando en un proyecto de programación en equipo, donde cada desarrollador se encarga de escribir una parte del código, o una clase que sera usada por alguna otra parte del código. Muchos desarrolladores dicen que sólo los tontos comentan su código, pero creo que es al revés.