Creando un gestor de archivos retro usando FoxBASE: Parte 1

Creando un gestor de archivos retro usando FoxBASE: Parte 1


Imagen creada usando Gemini


Introducción

¡Bienvenidos amigos de lo retro!

Por medio de esta serie de artículos me propongo ir creando paso a paso un gestor de archivos retro, una especie de clon simplificado del famoso Norton Commander, pero elaborado con un entorno de desarrollo popular en los años 80.

Sí, ese entorno de desarrollo mencionado se trata de FoxBASE+ 2.10, como el título de este artículo de presentación lo indica; un sistema más bien orientado a la creación de programas para la gestión de bases de datos y poco adecuado para otras tareas.

Pero a pesar de sus muchas limitaciones para otros fines, dicho gestor de bases de datos es también más o menos apto para hacer algunas cosas más, y eso vamos a tratar de demostrar entre todos, lo cual a mi modo de ver hace de esta idea algo más interesante debido a las dificultades a ser superadas.

En todo caso, como todo esto está pensado sólo como un proyecto con fines educativos y de preservación histórica, las comentadas limitaciones de FoxBASE no resultan tan importantes para nosotros, dado no pretendemos crear un producto comercial sino nada más desarrollar un clon con las características o funcionalidades más básicas de Norton Commander, y de paso darnos un paseo por una tecnología popular en los años 80.

Por cierto, también pretendo ir haciendo otro clon más completo y publicar el proceso en forma de libro por entregas en una plataforma como Gumroad (o alguna otra recomendada por ustedes si la conocen); esta vez se tratará de un gestor un poco más completo hasta donde nos sea posible llegar, y no hace falta decir cuánto me gustaría poder contar con el apoyo y las recomendaciones de muchos de ustedes.

El otro gestor de archivos comentado estará elaborado usando QuickBASIC, o más probablemente FreeBASIC, de modo podamos implementar con más facilidad algunas funcionalidades más complicadas, o incluso casi imposibles de desarrollar con FoxBASE.

En este caso podríamos usar otro lenguaje de programación popular en la época como C o Pascal, sin embargo, considero a QuickBASIC o FreeBASIC mucho más sencillo de comprender para las personas con menos experiencia en programación.

De todos modos, ambos sistemas serán publicados como software libre, y todo su código estará disponible en GitHub; el uno nombrado como NC-FoxBASE y el otro bautizado como Cuban Commander puesto vivo en Cuba.

El libro como pueden intuir tratará del desarrollo de Cuban Commander, usando como se ha dicho FreeBASIC como lenguaje de programación, en tanto estos artículos en #ecency cubrirán el proceso de creación de NC-FoxBASE.

En fin, el objetivo de estos textos será pedagógico en lo fundamental, y podemos resumirlos como sigue:

  • Demostrar las capacidades y limitaciones de FoxBASE+, un gestor de base de datos xBase popular a finales de los años 80.

  • Enseñar modularidad en programación retro: separación en módulos .PRG para UI, filesystem y lógica.

  • Ofrecer un caso práctico de retrocomputing aplicado a educación técnica en Cuba.

  • Preservar la memoria digital mostrando cómo se construían interfaces de usuario en modo texto en los 80.

  • Buscar vías para superar las limitaciones en la tecnología encontradas durante el desarrollo del gestor de archivos con FoxBASE.


¿Qué vamos a necesitar?

En primer lugar necesitaremos una copia de FoxBASE versión 2.10, la cual por fortuna podemos conseguir todavía en sitios de preservación de software histórico o abandonware como 🔗 WinWorld.

En adición nos será necesario disponer de un entorno donde podamos correr FoxBASE, puesto como sabemos éste es un software de 16 bit desarrollado para MS-DOS, y los sistemas operativos más modernos no suelen poder correrlo directamente ahora.

En mi caso particular usaré el emulador DosBOX, porque me parece la opción más sencilla, sin embargo, otro podría usar una computadora ahora obsoleta con MS-DOS o FreeDOS instalado si dispone de ella.

En adición es posible utilizar también un software como VirtualBox de modo se pueda instalar sobre éste un MS-DOS o un FreeDOS; o si lo prefieren y tienen la posibilidad podrían usar una computadora con un Windows anterior capaz de correr programas de DOS directamente.

En realidad existen muchas opciones para lo comentado, y cada cual podrá usar la de su gusto según su propia experiencia o consultar si así lo prefiere y se encuentra con problemas.

Pero el recurso más importante a tener a mano será la curiosidad técnica y las ganas de aprender o rememorar cómo se pensaba a finales de los años 80 y principios de los 90.

No se necesita ser un experto en el tema para seguir esta serie; si conoces lo más básico de programación no tendrás problemas en entenderlo todo.


¿Por qué debería interesarte esto?

Los amantes de la retroinformática no necesitan una razón para ocupar su tiempo libre en una actividad como esta, por un lado porque si por su edad no conocieron cómo se hacían las cosas en la época, una tarea así puede mostrarles cómo los programadores resolvían problemas antes de la existencia de las librerías modernas, y por otro lado porque si conocieron cómo era ese mundo ahora pasado de moda tienen la oportunidad de disfrutar de la nostalgia de un momento histórico vivido por ellos mismos.

Las razones podrían resumirse como:

  1. Historia viva de la programación Te enseña a pensar como se hacía antes.

  2. Facetas oscuras de FoxBASE: La mayoría de la gente usaba FoxBASE para facturas y listados de clientes no para hablar con el sistema operativo superando sus limitaciones.

  3. Un puente hacia mi próximo proyecto: Te contaré cómo esta misma idea, llevada a su máxima expresión, se va a convertir en un libro completo sobre Cuban Commander hecho con FreeBASIC.


Por ahora me despido hasta una próxima entrega, donde comenzaremos a desarrollar nuestro NC-FoxBASE, y si alguien tiene una idea mejor y lo comenta, después también podemos implementar otros programas.

En dicha próxima entrega empezaremos a ver cómo podemos hacer la interfaz gráfica en modo texto de nuestro gestor de archivos retro con su doble panel y menús caracterícticos de Norton Commander.

¡Nos vemos en la siguiente parte de este artículo tutorial!



0
0
0.000
2 comments
avatar

Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!

Please consider delegating to the @stemsocial account (85% of the curation rewards are returned).

Consider setting @stemsocial as a beneficiary of this post's rewards if you would like to support the community and contribute to its mission of promoting science and education on Hive. 
 

0
0
0.000
avatar

Congratulations @retrotech-cuba! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)

You received more than 2500 upvotes.
Your next target is to reach 2750 upvotes.

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

0
0
0.000