-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 "Terrence Brannon" <[EMAIL PROTECTED]> writes:
> all the prior examples in this section were based on operands of > rank-2. This rank-1 example can be tricky to a beginner because the > items of a 1-cell are not arrays, but atoms. ...or rank 0 arrays, right? I applaud your tenacity in understanding the logical foundations of J. Those foundations are important, your questioning has (I think) sparked some very insightful reflection and commentary here that should be helpful to many, and you'll probably be better at J for it. That said, I've noticed something about J that might be worth mentioning, just in case it helps. I think J's use of natural language grammatical terms (noun, verb, etc.) is deeper than just selecting user-friendly synonyms. I think it speaks to an effective way of learning and using J. I think it speaks to the way people find J a way of thinking rather than a programming language. I think learning J effectively is similar to learning a foreign language effectively. Yes, it helps to learn the grammar, but (as Ken or Chris or someone wrote in one of the J books) a good (the best?) way to learn a language is to practice in the presence of a laconic speaker that lets you do most of the talking but who does give you examples and feedback. That is, try the labs (listen), type something into J (speak to the interpreter), and see what you get. When you don't get what you want, listen some more, and try again (obviously having changed something). That's not to say you shouldn't learn the grammar. In a foreign language, grammatical knowledge can help one communicate new ideas in new ways with clarity and finesse. We don't learn grammar first, though, at least with our first language; we imitate what we hear others say and try to make ourselves understood. I learned German in high school and college and did pretty well, so I thought. Then, when I lived and worked in Germany (and totally in German), I discovered that what really counted was to be able to think in German. That didn't depend much on my understanding of grammar; it depended mostly on my frequent and rapid interaction with Germans (and Austrians and Swiss ...). I'd pick up phrases that sounded natural and insert them into my own sentences I spoke. Grammar was mostly useful if I had to analyze what I had said or if I wanted to put those words together in a different way, and it might have been surprising to me how little I had to worry about that had I not been so busy with learning the language rather than learning the grammar. (If you think you can't write some of the long tacit J sentences you see here rapidly [and I can't, at least to the degree I wish I could], think of those who speak or understand long, complex German sentences having most of the verb stuck at the end of the sentence with little problem -- or the Germans who get used to strange English sentences with much fewer of the grammatical nuances they use to guide their comprehension. I'm sure the same is true with many other language pairs.) For an example in another field, see the Koch method of learning Morse code (http://www.hfradio.org/koch_1.html). I realize that goes against the grain of the way we learn to program. I'm not asking you to be quiet here; I think we're learning a lot from your questions and answers. So, from a selfish reason, keep it up. I think some of the conversation about rank has been quite helpful for many of us. I do realize your learning style may be such that you really do need to approach it this way. Henry's may be, too; his J for C Programmers is great, it's light-hearted but deep in content, and it also seems different somehow than some of the other books Ken and others wrote. I'm glad you wrote it, Henry, for we all learn differently, and you explained some concepts in ways many of us find easier to grasp quickly. I'm just cautioning you to think about your goal. If it's to use J as a highly productive way to think about and work with mathematical things (and I'm by no means limiting the domain of J when I say "mathematical things"; J has taught me how much of what others might see as pushing symbols around is really mathematical in nature), then think seriously about the immersion approach to learning a foreign language and the Koch approach to learning Morse code as you think about learning J. Does that help? I'm curious in your thoughts as you read this and integrate it with what you're experiencing. Bill - -- Bill Harris http://facilitatedsystems.com/weblog/ Facilitated Systems Everett, WA 98208 USA http://facilitatedsystems.com/ phone: +1 425 337-5541 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (MingW32) Comment: For more information, see http://www.gnupg.org iD8DBQFGE9Hu3J3HaQTDvd8RArStAJ9Ysmjtx7OihQP+IlnMaq+KHBGZ9QCcCN7g 6MwTnBjBvn8Xe91YnCq/Ze4= =ac+h -----END PGP SIGNATURE----- ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
