Notas introductorias
En este blog hemos empleado el modo consola con no poca frecuencia por su simplicidad de uso y por centrarnos en gran medida en el aprendizaje de los lenguajes OOo Basic y Python. Resulta además que esto de la IA nos ha devuelto sin avisar a momentos en los que predominaba el uso de la consola, por oposición al predominio de los GUI como propuestas orientada a satisfacer las necesidades de usuarios poco interesados por las sutilezas de los algoritmos y mucho por la funcionalidad y, por qué no, también por atractivo de las herramientas: en este caso, el modo consola resulta poco amigable y menos estético aun.
Aunque sea de interés más bien secundario, no parece apropiado omitir completamente la temática de la construcción de interfaces, aunque sólo sean como meras auxiliares en determinadas fases de los procedimientos o como mera concesión a esos usuarios que prefieren "lo visual" a la transparencia y simplicidad formal del algoritmo.
Empezaremos por algunas nociones básicas sobre qué son las interfaces gráficas y seguiremos por la de propósito general de OOo Basic. La idea es crear un ejemplo de docap que haga uso de un cuadro de diálogo para familiarizarnos con la implementación de componentes básicos en los recursos digitales.
El mundo de las interfaces gráficas es tan complejo que se está produciendo una división del trabajo dentro de los programadores en la que se diferencian quienes se especializan en la generación de algoritmos (código oculto) y quienes se dedican a generar las formas en las que estos programas se muestran e interactúan con el usuario. Pero esta es una distinción que no nos afecta ni preocupa, ya que nosotros somos (o aspiramos a ser) tanto creadores de recursos como usuarios.
Las interfaces de texto, como es la consola o CMD, ofrecen formas de interacción muy simples, a veces poco amigables; por eso, aunque son muy eficaces, a nivel comercial resultan poco atractivas, por lo que han sido sustituidas por interfaces gráficas. Una etapa intermedia es aquella en la que determinados programas funcionaban a base de comandos; como ejemplo el procesador de textos WordPerfect que aprendimos a manejar los que nos iniciamos en los programas informáticos cuando se empezaban a popularizar los ordenadores tipo Amstrad y similares. Los anteriores eran meras unidades centrales sin periféricos (había que añadirlos) como pantallas y teclados, que incorporaban sistemas básicos de almacenamiento (cintas de cassette, por ejemplo) y trabajaban directamente en modo consola. Pero estamos regresando demasiado a la pasado
Las interfaces gráficas de usuario (GUI) ofrecen controles como ventanas, cuadros de diálogo, barras de herramientas, botones, listas desplegables y muchos otros elementos (objetos) con los que estamos tan acostumbrados a tratar que si un programa no cuenta con ellos, instintivamente los consideramos arcaicos, aunque lo cierto es que las interfaces de consola son tan eficientes como las gráficas, además de más sencillas y más económicas de crear y de mantener; y que ciertos lenguajes de programación siguen trabajando básicamente en ese modo (R es un ejemplo, aunque ya cuenta con un programa más "amigable" como es R-Studio)
De Shmuel Csaba Otto Traian, CC BY-SA 3.0,
Este gráfico resume la complejidad que subyace al planteamiento de GUI potentes como con las que interactuamos a diario en nuestros dispositivos electrónicos. Afortunadamente no es este el nivel mínimo de complejidad al que nos tenemos que enfrentar para crear una GUI en nuestros programas, ya que para implementar las más simples realmente no necesitamos nada especial. Sírvanos de ejemplo las ventanitas emergentes que hemos creado en OOo Basic como MsgBox o InputBox. En realidad, en hasta ahora en OOo Basic nos hemos limitado a utilizar las formas más elementales de interfaces gráficas, pero más bien llevados por las necesidades que derivan del funcionamiento de este lenguaje dentro de la suite que por interés en el uso de las mismas.
Y en cuanto a Python no nos han sobredo motivos para iniciarnos en la implementación de las formas más básicas de GUI, por lo que su uso ha sido muy escaso, y sinceramente no creo que vayan a cambiar mucho las cosas, al menos en el futuro próximo. Aun así, trataré de dedicar algo de tiempo a acortar el camino pendiente para que este proyecto personal de aprendizaje no se descompense demasiado en esta temática en cuanto al uso y ritmo de avance en ambos lenguajes.
Por ello en este blog emplearemos una conceptualización simplificada del esquema anterior, que, un tanto chapuceramente en lo que a la imágen se refiere, podemos representar de este modo,...
La GUI sustituye en ella las posiciones/funciones básicas de entrada/salida (input-output), bien ambas, bien únicamente la entrada, como tendremos ocasión de ver en OOo Basic. Esa interfaz conecta con el código (el que procesa los datos y genera resultados) mediante una capa intermedia de código específico que debemos conocer para que lo "dibujado en pantalla" sea funcional. El "programa" oculto devuelve a la interface los resultados y se muestra una nueva interface gráfica con ese resultado.
En este último punto es donde OOo Basic muestra algunas de sus características específicas como lenguaje de script: esa devolución de información se presenta generalmente en una GUI que no es otra que el servicio con el que estamos trabajando. Pero esta y otras cuestones las iremos viendo en las entradas que publiquemos en esta sección del blog, además de en lo que ahora consideraré como ejemplos de uso.
No hay comentarios:
Publicar un comentario
Comenta esta entrada