Don Watson wrote: > I only remember how quickly I learned APL 40 years ago; > although J can express harder things much better, I perceive > it harder to express simple things in J.
My skill at APL was never high enough to let me claim expertise for such comparisons, but that won't keep me from taking a shot at explaining what you might be experiencing here. First of all, I want to mention that for the most simple things I consider J to be no more difficult than APL. The introductory labs are the level of work I have in mind here. As coding becomes somewhat more ambitious I think J may indeed require more effort to learn than its predecessors, the APLs. All these languages are noteworthy for allowing much to be accomplished with few tokens. This compression occurs because many things that have to be specified in other languages are things that "go without saying" in the Iverson languages. It looks to me that J is more difficult to learn than APL because there are more such things in play. One of the most prominent examples of this is rank. The long-term benefits of rank are great, but in the early stages those benefits may not be apparent, the abstraction of this big idea is pretty high, and its application is often invisible. Absence of index referencing is another thing that is disorienting for beginners. Core conjunctions From and Cut are tough, at least in my experience. It's worth emphasizing that the difficulty here arises from a way J is *simpler* than APL. Simplicity and ease are not so tightly coupled as we might imagine. Simplifications such as this (no special syntax for index reference) contribute to the power of J, but they also deprive people of the redundancy and structure that makes natural language easy for us to parse. Learning to live without such cues is part of learning any of these notational languages, but J is more extreme in this regard. I'm confident that it is not harder to express simple things in J, if we assess difficulty by comparing how much needs to be written or that code's complexities. It may well be harder to express simple things in J if we assess the relative difficulty of learning enough of the language to compose a satisfying answer. That, I propose, is a natural cost of working with a more powerful language. I remain satisfied by the cost-benefit ratio of such learning. Tracy ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
