Anecdotes of how we have made systems and programs, their mistakes and things learned. Real facts and opinions. Algorithms and Problems. Tips and Tricks.
It was the early 70s of the last century, and in our PDP-8 compatible minicomputer from Digital Equipment Corporation (DEC) there was almost no way to program except by hand-coding machine language. Later, the Central Institute for Digital Research (ICID) developed the assembler and later the LEAL language (LEnguaje ALgoritmico) that I have referred to in other articles and in which it was quite difficult and tedious to program as it was postfix notation, especially when evaluating complicated formulas which was mostly our case.
Only a few dozen minicomputers existed in the country, and LEAL was mostly the preferred development language. Later, ICID developed FORTRAN-IV, which was already a powerful language for the development of our type of programming for Neurosciences.
But along the way, a highly qualified university professor, whom we all knew by his surname, Salcedo, managed to install the FOCAL (FOrmula CALculator) on the minicomputer, originally developed by DEC and which was a competitor to the BASIC language that we all know about because of the later advent of personal computers.
FOCAL, being an interpreter, was very comfortable to use on the CID-201-B teletypewriter, and allowed to develop programs interactively, testing parts and allowing having subroutine libraries already set up, which accelerated the process of terminating the programs.Let us remember that for all the rest of the languages, first you had to insert the tape of "the first part" which then allowed to read the tape of the program as such, and if it compiled well then you had to insert the tape with "the second part" or executor of the program. This is how they worked with LEAL, FORTRAN, and others that ICID developed.
But FOCAL we can program as now in PYTHON, in an interactive way, very seductive for the CID-201-B programmers, and Salcedo became the national hero who promoted and demonstrated the use of this system and FOCAL language to many developers. Because of his efforts, the use of CID-201-B resulted in greater and better results.
We in Neuroscience use FOCAL to test algorithms separately, but since it is an interpreter and our methods are computationally intensive, in the end we always had to develop programs in machine language, in LEAL, or in FORTRAN to which we had to add subroutines written in machine language resorting to whatever trick we had at hand, or occurred to us, such as using logarithmic arithmetic for the massive calculation of data.
In any case, FOCAL and Salcedo constituted a milestone in the development of our programming.
Thank you very much for sharing, Salcedo.
Octavio Báez Hidalgo.