I studied electrical engineering, but graduated with a BS in philosophy of science followed by an MS in photographic science. I used APL for statistical computing of colorimetric data in two standards laboratories. Later I used APL for digitizing an old Hardy spectrophotometer and doing off-line digital signal processing on the data for wavelength calibration. Still later, I supported a time-series database for oil traders. I have done a little programming in J, and with the help of this forum actually made a some money using J software to warp infra-red images.
In my APL work, only occasionally did I use an index origin of zero. It just seemed more intuitive to use the APL default index origin of one. That may be counter-intuitive to someone else. The ability to make the index origin a local variable allowed functions to be written either way without regard to the larger program, except the added complexity of changing index origins in the code. This made the re-use (stealing) of code written with the "wrong" index origin relatively easy. The choice of the index origin shares some problems with the choice of standards. Ultimately, the choice is arbitrary, but should not be capricious. Either index origin satisfies the arbitrary condition, and neither seems to be capricious. Use of one may provide a sense of elegance in a particular situation that the other does not, but this is dependent on the situation. In my opinion, the elegance of J, though frustrating to learn, far surpasses any loss of elegance from not being able to choose an index origin. The fixed index origin automatically facilitates the re-use of code. That said, I do miss the ability to choose. Having the index origin set to zero is not a great loss, but it did add one more annoyance to learning the language. Maybe the only ones who might care are the ones who once used APL and only those who used an index origin of one. Very happy with J, if I could ever get really good at it, David Porter ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
