Don't forget that some primitives have unique obverses like d. (Derivative).
On Thu, Aug 4, 2011 at 3:33 PM, Murray Eisenberg <[email protected]>wrote: > Some years ago at a J conference I gave a talk comparing J with > Mathematica. One of the things I considered was the number of built-in > objects. > > One of the points I made, which really riled Ken Iverson, was that (at > that time) the number of such objects was not really all that different > between Mathematica and J. And to arrive at that conclusion, I counted > the objects in quite a different way from what you did. > > Two of my points were: > > (1) The verb "o." should _not_ be counted as just one such object. > Rather, it should be counted as around 24 separate objects. After all, > you have to pair the verb with a left argument, and each left argument > provides a different "function" in the mathematical sense. It is no more > correct to claim that "1 & o." and "2 & o." are just special cases of > the same creature as it would be to claim that Mathematica's Sin and Cos > are special cases of the same creature. In particular, you still need to > remember in the case of J that the left argument 1 provides the sine > function and 2 the cosine function -- which is no more (human) memory > taxing that to remember that Sin is the sine function whereas Cos is the > cosine function: the names of the underlying entities with Mathematica > just differ in the prefix "co". > > (2) Each J verb (and other parts of speech) that has both a monadic and > a dyadic use should be counted as (at least) two separate objects, > despite being represented by a single symbol. For example "<." is Floor > when used monadically but Lesser Of when used dyadically; and these two > underlying functions, however closely related they may be, are > nonetheless different functions. > > By my count at that time, the numbers of primitives in the two languages > were of the same order of magnitude, or even closer. > > (Today, the situation would be different, though: as each successive > version of Mathematica is released, more and more functions that used to > be in standard add-on packages are now available directly in the kernel.) > > In any case, counting such objects is at best a truly first-order > approximation to the complexity of a programming language -- for the > user. Especially for novices, what may matter a whole lot more is how > similar function names or symbols are to mathematical or other terms > they already know. In the same way that it may be easier to learn French > if you know another Romance language (or Latin) than to learn Russian. > > > On 8/4/11 12:54 PM, [email protected] wrote: > > Date: Thu, 4 Aug 2011 11:13:06 -0400 > From: Devon McCormick <[email protected]> > Subject: [Jprogramming] The size of J > To: J-programming forum <[email protected]>, > [email protected] > Message-ID: > <CAGdEmpG+S=nsrryq8cjgbtku0jnsi2ar0sdwxmusyjcqhs+...@mail.gmail.com > > > Content-Type: text/plain; charset=UTF-8 > > Hi - > > I was reading a section in "Patterns of Software" by Richard P. Gabriel in > which he talks about "language size". This book is one of those annoying > ones in which he seems to argue for many of the strengths of an APL but > never, based on the parts I've read, mentions APL (though he must have > known > of it). > > In the essay on "Language Size", he talks about how the initial > implementation of Common Lisp > "...was relatively small: 772 defined symbols, including function names, > macro names, global variables, and constants." Much of this essay builds > the case for a small (but not too small) language being better than a large > one. He also touches on the usefulness of arrays, in a way. > > In any case, here's my count for the size of J7: > > Vocabulary page: (*/10 4 3)-6 > Foreign#: 0 1 2 3 4 5 6 7 8 9 11 13 15 18 128 > Foreigns: +/3 20 7 7 6 7 11 5 3 42 1 21 5 7 6 > > Total: +/114 151 NB. Basic vocabulary symbols + foreigns. > > +/114 114 151 NB. monads and dyads - assumes all have both forms, > but... > 379 > _24 NB. not both monadic and dyadic - above letters on Vocabulary > page... > _22 NB. not both - letters and numerals > > NB. Total: > +/114 114 151 _24 _22 NB. monads and dyads and foreigns - univalents > 333 > > So, 333 semantic tokens in total, by my count. > > -- > Murray Eisenberg [email protected] > Mathematics & Statistics Dept. > Lederle Graduate Research Tower phone 413 549-1020 (H) > University of Massachusetts 413 545-2859 (W) > 710 North Pleasant Street fax 413 545-1801 > Amherst, MA 01003-9305 > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
