No particular qualifications to comment on this (Education: Physics, 
Electrical Engineering; Engineering Maths - Work experience: mainly 
tinkering...) but I do have an opinion.

I am happy that j has a single/fixed index origin and that it is 0.

I think the makers of typewriters (choosing 0 as start of spaces) 
were more wise than Hollerith and his punched card (actually it was 
probably some other engineer at IBM that started labeling cards with 
column 1...).

I think * is a more fitting "answer to the ultimate question" than + 
(and I'm pretty sure the folks who assigned code points for ASCII 
started from 0).

I have never found IO 0 to be a hindrance - and back, last century, 
when I used APL - I typically made it the "default" in my workspaces.

My favorite example of IO issues was how the BASIC standards 
committee (ca. mid '70s) dealt with it - they didn't have a system 
variable or any such "complication", they simply allocated arrays 
with each dimension having an extra element. Then the programmer 
could think in either origin...

It always seemed to me that might lead to some confusion and obscure 
bugs, but I never actually tried doing it that way - besides, things 
like my favorite APL/j function (%.) would be intrinsically 
confused....  Not to mention bizarre results from simple things like 
$ and # - I suppose BASIC avoids the shape/count and related issues 
because the size of the array is declared (and padded for 
convenience...), gaining the approval of much of the programming 
community.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to