And here is a bit more involved explanation of what those words mean: http://www.jsoftware.com/jwiki/HenryRich?action=AttachFile&d...
If there is one thing I learned as a polyglot it's that language usage patterns differ and trying to use one language as if it was another is counterproductive. My advice is to learn more and practice more - at some point you'll start seeing higher-level patterns in language design and will be able to cope with many, now unfamiliar, features and design decisions.
Basically, I want the languages I use and have to constantly relearn to have a syntax that is quick to pick up after having partly forgotten it for the nth time. That requires memorable and guessable names and keywords.
You definitely can use words instead of many symbols in J. I highly doubt though you want to do that for the core language. Much more productive - IMO - is to learn the vocabulary - which is very finite. Yes, I know it's a great show stopper for those considering learning J.
divide=: %
and then only use divide. If you don't want to come up with your own names for all the built-in functions, you can just use the names suggested in the vocabulary (J's main help file). If you don't want to write all those definitions to give names to the built-in functions, there is already a module in the standard library that does it for you.If you do decide to program in J, however, I recommend you just learn the symbolic names, they're so much shorter and fun. :)
Of course, I'm very much of a C programmer, and C is kind of good too at using operators in a terse manner.
If C required
foo >>= 4;
to be written as foo = foo shift_right 4;
then it just wouldn't be as nice and fun to program in. Even more so when using the pointer-dereferencing and pre/post-increment operators, or combinations.