There are side issues in comparing J with Chinese, for example I understand Chinese pictographs are not entirely arbitrary but to the knowledgeable often hint at their meanings, just as +/ % # shouts its meaning once you know +/ is sum, % is divide, and # is count (Skip's point: familiarity).
A well-written tacit verb is not merely understandable, it conveys a perception of the problem (again, modulo familiarity). The difficulty for newcomers or visitors is inexperience with the function, operator, and array perceptions that J facilitates. The difficulty for the J programmer is to find and convey a "function, operator, array" perception that illuminates and solves the problem. Below that perception is reached in two steps. Both verbs define the same "Newton polynomial". p =: 3 : '+/ 0 1 4 1 * 1,(y-0),((y-0)*(y-1)),((y-0)*(y-1)*(y-3))'"0 p1 =: (0 1 4 1 +/ .* [: */\ 1 , 0 1 3 -~ ])"0 Will the visitor be persuaded by p1? No; the visitor must first learn to value "function, operator, array" perceptions. Kip Skip Cave wrote: > Here is what I posted in the RosettaCode discussion on "terseness" > > Terseness has nothing to do with readability or understandability. > Chinese ideograms provide one symbol for each complete word in the > language, much like J or APL. Chinese text is extremely "terse" when > compared to English, but I'm sure if you told a native Chinese that > their language is harder to understand than English because it is too > terse, they would disagree. > > Readability/understandability of any text is simply a function of > familiarity, not terseness. The reason that many common programming > languages are "readable" to many programmers, is because a specific > language often uses constructs that are similar to other languages, for > similar functionality. J sacrificed similarity with scalar languages for > the higher goal of a simple, precise, executable notation. -- Teledon > <http://rosettacode.org/mw/index.php?title=User:Teledon&action=edit&redlink=1> > > 1:46 1 September 2009 > > Hopefully that will help defuse the argument that terseness = poor > readability. > > Skip Cave > >> Most of the "excessively terse" J code on RC is my fault. I actually wrote >> up an email explaining why I prefer this format, but it disappeared in the >> ruins of my failed HDD this weekend. >> >> I'll try to write it up again after I finish my migration to a new machine. >> For now, I'll have to put RC on the back burner. Sorry for starting the >> effort and then abandoning it. >> >> And sincere thanks to everyone who's contributed -- it makes a difference, >> if only to me. >> >> -Dan >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm >> >> >> > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
