En el mundo de los lenguajes de programación hay toda clase de ideas. Por ejemplo, Java es un lenguaje que se interpreta en una máquina virtual. Así, los desarrolladores del mismo no tuvieron que escribir un compilador, sino una máquina virtual que interpretara las instrucciones de Java, que se generan en algo que llaman “bytecode”. Esto hace a Java, a menos en principio, el lenguaje que permite escribir aplicaciones una vez y ejecutarlas en todas las plataformas donde exista la máquina virtual.
Pascal, por otra parte, es un lenguaje de programación creado por Niklaus Wirth, el cual pretende enseñar a programar, lo que en el fondo busca las mejores prácticas para desarrollar software. Pascal ha tenido un número grande de implementaciones, siendo la más popular Turbo Pascal, y ahora -en el mundo Windows- Delphi.
Borland, la empresa original creadora de Delphi (ahora propiedad de Embarcadero), lo que hizo estrictamente fue portar a la interfaz gráfica al lenguaje Pascal, pero ya aprovechando el viaje, decidieron crear objetos y un entorno de desarrollo RAD (Rapid Application Development). Delphi se compila y genera un ejecutable para procesadores x86. Su velocidad es en términos reales muy buena y es sin duda una herramienta muy versátil.
Sería sin embargo interesante tener un intérprete de Pascal, para que la depuración del código fuese más simple y amable. El depurador de Delphi es estupendo sin duda, pero requiere de cierta curva de aprendizaje. Con esto en mente, nació Némesis Pascal, el cual es un intérprete de Pascal escrito en Delphi (y Kylix para Linux). Las bibliotecas CLX mantienen las características de la plataforma cruzada. Las aplicaciones en Némesis Pascal corren en Windows usando controles nativos y en Linux, usando la biblioteca CLX. Pero si esto parece poco, el un sistema de código abierto, por lo cual cualquiera puede aprender al respecto de la escritura de intérpretes.
El código de Némesis Pascal es muy parecido al código de Delphi y además es compatible con Delphi/Kylix. Némesis Pascal usa una versión modificada del intérprete de Pascal JEDI, La versión original puede bajarse de aquí.
Con los dos elementos, TJvInterpreterPascal y TJvInterpreterFm, se pueden correr: units (las unidades de Pascal en Delphi, que es código de Delphi/Pascal), las formas y los reportes creados con QuickReports. La última versión puede descargarse de este sitio.
La máquina virtual del intérprete corre bajo Win321 o Linux. Bajo Win32, se puede correr en modo consola o gráfico. La única diferencia es que la consola en la máquina virtual soporta las operaciones de consola (modo terminal).
Pero hay más. Se tiene PSP (Pascal Server Pages), que es un lenguaje tipo HTML embebido, el cual combinado con la sintaxis de Pascal, se pueden crear páginas dinámicas muy fácilmente. Además, se tiene un entorno para escribir programas en el intérprete llamado Pascal Develop, con características como ser un editor que enfatiza con colores las palabras reservadas, los comentarios, etcétera, que permite auto-completar mientras uno escribe código, con un depurador integrado para las formas de Pascal, las unidades y los documentos PSP. Se pueden además crear múltiples proyectos o grupos de proyectos. Tiene soporte para impresión y se pueden crear fácil y rápidamente formas, unidades y consolas así como servicios web.
La página oficial es ésta y sin duda es una interesante alternativa para enseñar Pascal en entornos gráficos que además, funcionen en Linux.