Después del lenguaje Scratch, seguimos hablando un poco sobre programación, hoy con un software hispano escrito por el argentino Pablo Novara.
Su nombre es PSeInt, la abreviatura de PSeudo Intérprete, y su cometido es precisamente ese, un intérprete de lenguaje pseudocódigo, que además cuenta con algunas ayudas para los estudiantes. Personalmente nunca me ha gustado el pseudocódigo, creo que ha sido una forma forzada de españolizar un lenguaje de programación estructurado tipo Pascal.
PSeInt tiene no obstante algunas características interesantes, y es que en menos de 12 MB. de archivo ZIP nos ofrece un cómodo y ágil editor de texto, que cuenta con comprobación de sintaxis en tiempo real, al más puro estilo de QuickBASIC, resaltado de sintaxis, y por supuesto, la capacidad de ejecutar nuestro programa .psc.
Como disfruto con la informática, no he podido evitar jugar un poco con él, e implementando uno de los primeros programas que desarrollé en Sinclair BASIC para Spectrum.
Su uso me recuerda al machaque en las prácticas de la universidad con el odioso lenguaje Merlin, si bien con PseInt es cómodo, y ofrece una ayuda integrada.
Lo que más me gusta es que el autor comenzó su desarrollo en 2003 usando C++ Builder, si bien después se pasó a C++ estándar usando GTK+, y posteriormente wxWidgets/wxWindows, un camino muy parecido a otro de mis software de programación favorito, el FMSLogo. El proyecto ha sido nominado también varias veces como Project of the Week en Sourceforge.
Por supuesto se encuentra disponible en español, y además compilado para Linux, macOS y Windows, si bien en éste último sólo en 32 bits. Los tienes en su página oficial.
Curioso, de los dos proyectos de programación que tuve que entregar para la asignatura, uno por curso, el primero fue un pseudocompilador de pseudocódigo: convertía pesudocódigo a QBasic. Hice una especificación de cómo era el pseudocódigo a escribir y la demo era el propio programa escrito enteramente en pseudocódigo, lo mejor era que una vez convertido el programa funcionaba exactamente igual que el que entregaba. El código no podía ser exactamente igual por alguna limitación que no recuerdo, pero el funcionamiento y algoritmo era exactamente el mismo.
También hice en su momento un intérprete de ensamblador de 6502 escrito en QBasic que corría en QB… igual toca recuperar estos proyectos y subirlos a Github…
Pues hicimos cosas parecidas entonces Fernando, aunque admito que el intérprete que hiciste escrito en pseudocódigo debió ser impresionante. Yo hice en Turbo C un intérprete del ensamblador del a Máquina Sencilla o Máquina Rudimentaria: http://docencia.ac.upc.edu/eines/MR/Intro.html de esas cosas inútiles, pero que son divertidas.
Si encuentras el código y decides publicarlo, me gustará echarle un vistazo.
Bueno, el QBASM ya está disponible para su escrutinio… https://github.com/alphp/QBASM
Y un poco la historia del proyecto: https://lab.fawno.com/2020/06/14/compilador-de-pseudocodigo/
Me ha encantado Fernando. Sobre todo lo de la «librería» donde están las cadenas que se reemplazan. Una solución muy inteligente. Lo que admiro es lo elegante del código, mucho más del que yo escribía en Turbo Basic o QuickBasic, y que habitualmente prescindía de tipos de datos.