Zero

Zero
Zero

04 junio 2013

Source code published

I have released the source code of the Zero programming system today.

Yes, I'm afraid that means this project is ended. I won't develop it anymore. This does not mean that it would not be possible to develop interesting tasks of polishing, improvement and new functionality. However, you have to say enough at some time, and actually the subject that motivated this software is not even active anymore.

And it should be noted that the software is good enough, i.e. it can be used for what it was initially designed (though it is true that the Prowl and J-- compiler could use a rewriting), and its inner workings can be perfectly shown.

Actually the source code contains a folder called prowlc, which is a true multiplatform compiler. Unfortunaltely, it is not complete, as it lacks decision and looping structures.

This has been an interesting story, in which I've learned a lot. I've learned it so well that I am perfectly sure I wouldn't had started this project if I knew (like today I know) the amount of work needed. I've also realised the problems related to multiplatform software: problems will arise there where you would not expect them to happen.

In the end, the important thing is that his software has accomplished its designed task. And probably, it will be useful for a few years still to come.

Código fuente liberado

Hoy he puesto el código fuente de Zero a disposición de cualquiera que le interese.

Sí, esto significa que este proyecto está acabado. No seguiré desarrollándolo. Esto no quiere decir que no se pudieran hacer labores interesantes de pulido, de mejora, y sobre todo, añadirle más funcionalidades. Sin embargo, en algún momento hay que decir basta, y lo cierto es que ya ni siquiera la asignatura que motivó este software está en activo.

Y en cualquier caso, el software es "suficientemente bueno", esto es, se puede usar para lo que se diseñó inicialmente (si bien los compiladores Prowl y J-- necesitarían una reescritura) y se puede mostrar el funcionamiento perfectamente.

El código incluye una carpeta prowlc, que es un compilador multiplataforma real, a medio escribir, es decir, es perfectamente funcional pero no soporta estructuras de decisión y repetición.

Ha sido una anadadura interesante, en la que he aprendido muchísimo. Tanto, que estoy perfectamente seguro que de saber inicialmente el trabajo que supondría, no lo habría abordado. También me ha permitido darme cuenta de las penalidades involucradas en crear software multiplataforma: las vías de agua surgen allí donde menos te lo esperas.

En fin, lo importante es que el software ha cumplido, y seguirá cumpliendo durante al menos algunos años más, su cometido.