El lenguaje más sencillo para programar es, por definición, el Basic. En el mundo Mac nos ha acompañado prácticamente desde sus comienzos, aunque no siempre de forma continuada. Igualmente, la sencillez del lenguaje siempre ha llevado asociada la etiqueta de “programación para cosas poco serias”, idea equivocada si se tienen en cuenta los entornos de desarrollo para este lenguaje disponibles en la actualidad en el mundo Mac. De entre ellos, RealBasic (Real Software; www.realsoftware.com) es la opción que no sólo mantiene la sencillez del primero de los intérpretes de este lenguaje, sino que además aporta un rendimiento excepcional en la ejecución de las aplicaciones desarrolladas bajo este entorno. Si le parecen pocos puntos favorables, aún encontrará otros; como, por ejemplo, la posibilidad de generar un ejecutable para Windows o incluso portar a Real Basic los desarrollos realizados con uno de los lenguajes de programación más de moda en el mundo Windows: Visual Basic.

Pero, ¿qué tipo de cosas se pueden hacer con este lenguaje de programación? Si bien es cierto que en los albores de la informática el Basic hacía honor a su nombre por disponer de un conjunto de instrucciones que no siempre permitía hacer de forma adecuada (o con la velocidad requerida) lo que usted planeaba, la situación actual ha cambiado sustancialmente. Real Basic ofrece integración con los principales motores de bases de datos y le ofrece todo un compendio de posibilidades para trabajar con datos dinámicos o multimedia: animación, sonido, música o vídeo. Igualmente, su filosofía de programación orientada a objetos y el entorno integrado de desarrollo (IDE) permiten a sus usuarios disponer de un editor para la interfaz y el código de la aplicación en un mismo entorno. Por ejemplo, la construcción de elementos como los menús, tipos de ventanas y botones es una tarea que se puede completar en pocos minutos, frente a la dificultad de realizar la misma operación mediante el uso de otros lenguajes de programación.

¿Qué cosas programar?

Bien, la mejor respuesta puede encontrarla por usted mismo si da un repaso a su disco duro o, sencillamente, si hojea las revistas especializadas y sus sitios favoritos en Internet: ¿cuántas aplicaciones shareware o freeware tiene instaladas o sobre cuántas de ellas tiene conocimiento? Evidentemente, no todas ellas están creadas con Basic o, más concretamente, con Real Basic; pero sí podría acometer la amplia mayoría de ellas en este entorno de desarrollo (de hecho, alguna que otra extensión para el Sistema o utilidad comercial está programada con este lenguaje; ¿sorprendido?). Por tanto, con un poco de tiempo y paciencia usted mismo podría llegar a realizar aquellas aplicaciones que precise: agendas, conversores de formato de archivo, optimizadores de gráficos, sistemas de compresión propietarios, codificación de datos, contabilidades de caracter personal, reproductores multimedia a medida y un largo etcétera. ¿Reinventar la rueda? Puede que sí, pero a veces merece la pena… aunque sólo sea para comprender mejor el funcionamiento interno de la máquina con la que trabaja, estudia o se entretiene a diario: su Mac.

Pero la programación no exige buscar en todo momento su cara seria: los juegos son otra opción muy atractiva. En cuanto a la potencia de desarrollo que le ofrecerá RealBasic en este sentido, ¿qué pensaría si supiera que juegos tan acreditados como Myst y Riven fueron escritos con HyperCard? Pues bien, así fue… y resultan igualmente abordables con RealBasic. Por tanto, podemos echar por tierra uno de los mitos que rodean la programación: los programas (o juegos) espectaculares no tienen por qué exigir complicados lenguajes de programación reservados sólo a unos pocos.

Entender algunos conceptos

Lo más difícil para quien no haya programado anteriormente pueden ser los conceptos con los que se trabaja en la programación (y el uso de un lenguaje determinado): variables, matrices, bucles, saltos, rutinas, subrutinas… y un largo etcétera que pueden llevar a desanimarle incluso antes de empezar. Bien, en este primer capítulo trataremos precisamente este tipo de cuestiones; estableciendo, así, una base que le facilitará el seguimiento del cursillo en los próximos capítulos.

Comenzaremos con las variables, por ser estas las más abundantes e, incluso, importantes a la hora crear un programa. ¿Por qué? Las variables son las encargadas de contener los valores que asignaremos por omisión a ciertos parámetros del funcionamiento de una aplicación (por ejemplo, poner a cero un contador); son también las encargadas de almacenar los datos recibidos desde “el mundo exterior”, como los introducidos por el usuario mediante el teclado o al realizar una selección con el ratón sobre las opciones de menú, e incluso almacenar el nombre de un archivo seleccionado en un cuadro de diálogo, etc.

Variables. La función de las variables es la de contenedores de datos. Por ejemplo, en los elementos repartidos en un casillero de correo, cada una de las celdas del casillero podría ser una variable, mientras que el contenido de cada una de ellas se corresponderá con su valor. Evidentemente, el valor de la variable será en cada momento el de su propio contenido: puede que siempre sea el mismo, la suma de otras dos o que cambie de forma periódica o a intervalos regulares.

Trasladando este concepto al mundo de la programación, hemos de sustituir las celdas del casillero por una definición que nos recuerde en todo momento (o así debería ser) cual es la función de una variable.

Por ejemplo, si se encuentra con la línea de código:

A = 10

con el paso del tiempo le costará más entender la misión de dicha variable que si la define como:

Maximo = 10 (en la definición de variables no se pueden utilizar tildes, guiones, interrogaciones y otros caracteres “especiales”).

Pero las variables no sólo pueden almacenar datos numéricos, sino que también puede contener datos alfanuméricos (texto y números o sólo texto). De hecho es bastante probable que se haya encontrado en más de una ocasión con el término “cadena”. Pues bien, cuando se emplea dicho término nos estaremos refiriendo a una variable cuyo contenido es de texto o texto y números. A continuación puede encontrar tres ejemplos de este tipo de variables:

Alumno = “José García”

Contraseña = “100-José García”

Fecha = “131099”

El contenido de la primera variable es exclusivamente texto, mientras que el valor de la segunda es una mezcla de texto (caracteres) y números, y en el tercero se corresponde con un valor “numérico”; pero aún así será interpretado como caracteres, no por el valor que pueda representa la cifra.

En este punto conviene hacer una aclaración entre las variables puramente numéricas y los números que están contenidos en una variable alfanumérica. En el primer caso, la cifra asignada a una variable numérica expresa su propio valor; por tanto es posible realizar operaciones de caracter aritmético (sumas, restas, divisiones, multiplicaciones…). En el segundo, la cifra contenida en la variable alfanumérica no expresa su valor, sino que será