Bruno Daniel,
 
> What bothers me is rather that I'll probably never be able to see the
> _valence_ of the verbs (and thus its unambiguous meaning) fast,
because
> for this one has to count the verbs: 
 
Omitting your detailed comments on trains, and how to distinguish hooks
from forks, let me interject that valence is an entirely orthogonal
matter.  Any verb train may be put into either monadic or dyadic
contexts, and figuring out what sort of verb train you have in hand does
nothing to resolve valence.
 
Given that your overall point, here, was to indicate that J code is
often challenging to read, identifying this error does not reduce the
credibility of your assertion.
 
Everybody who is interested in promoting the use of J is interested in
making J code more approachable to those who find it hard.  At the same
time, there is usually the intent to retain and employ the most
remarkable features of J.  These purposes do not mesh easily.
 
I've made learning J my major hobby for a bit more than a year now, so
questions of what-it-takes-to-learn-it are familiar to me. I continue to
make some very elementary errors with distressingly high frequency. On
the other hand, I find and fix them a lot quicker, and I understand the
corrections provided by others much more easily.
 
My experience suggests to me a structure of fundamental concepts where
proficiency occurs insofar as somebody learns J.  The most basic is
thinking in terms of arrays. Verb basics, such as valence, is not far
off. Verb rank is crucial. Verb trains lie somewhat further on, and
operators beyond that. Among these topics there is a fair degree of
dependency, and the relationships of dependency alter as material moves
from simple to advanced. Learning J naturally involves all of these
areas at once. 
 
As for the advantages to the sort of notational changes you suggested,
I'm unsure. To some degree these can be approximated by using defined
names instead of primaries. Relying on naming to increase readability is
important for programming in general, to which J provides no exception.
 
I am personally disinclined to attempt thinking up improvements over J,
at least until I have a strong grasp of what J actually is. My
impression is that those who show eagerness to make changes to the
language inadvertently impede their own progress toward understanding
what is already before us.
 
Best regards,
 
Tracy Harms
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to