Michael Drumheller wrote:
> I have two immediate worries about J that I wonder if people on this
> list could assuage: 

I count three list items.  Perhaps that means you're only worried
about two of them?  </joke>

> 1.  "J Programming Language" is a 562-hit Google query.  That is
> basically equal to zero, for large values of zero.  So I am
> immediately concerned that I am spending energy learning something
> that nobody knows about.  Is this just because J is so new?  Are there 
> strong indications that the J community is growing in size and 
> influence?

The community is relatively small.  But the people in it tend to do
good things -- the language itself is extremely useful.

The community appears to be growing -- I've seen google hits recently 
that I hadn't seen last year.

And if you want a lot of google hits, just try searching on "j"!
(er... sorry... another joke... but few of the J pages I've seen
spell out "J Programming Language")

> 2.  I was appalled at the "foo =. 3 : 0" syntax for defining a verb.
> I've heard so much about how elegant J is, but this was one
> of the first things I came across in the tutorial, and using integers 
> as special tokens like this strikes me as supremely arbitrary and 
> inelegant--and this is coming from a Perl hacker.  I know that I can 
> use "verb define" instead of "3", but why is "3" even an option--why 
> not at least "v"? I mean, it smacks of hardcoded-constant inelgance.  
> Can someone educate me as to the "roots" of this notatation, i.e., 
> does it derive from some "legitimate" area of mathematical notation or 
> concepts that I am simply not familiar with?  (Very likely--I am not a 
> mathematician!)

Well... J's roots as a language date back to the early 1960s (APL).
And, APL has long had a tradition of using numbers to select from a 
list of operations.  The numbers are somewhat menmonic in character, 
once you're familiar with them.

On the technical side, the use of numbers allows for a simple parser,
and numbers instead of charcters allows for conciseness.  'v' : is
longer than 3 : (for example).

For what it's worth, the syntax for 3 : 0 is rule 4 (Conj) at 
http://www.jsoftware.com/books/help/dictionary/dicte.htm
(that page might seem perplexing, but it's a complete description
of the syntax of the language).  Perhaps it's the semantics, or
the appearance, rather than the syntax which you find troubling?

Or maybe you've been influenced by the opinion that numbers have
no place in a well written program?  This opinion is frequently
voiced, but I think the "once and only once" concept is the 
real issue which seems to make that opinion valid.

> 3.  Having just signed up for this mailing list, the first things I
> noticed were the mention of Mathematica and Maple (two languages with
> which, regrettably, I have little ande zero experience with,
> respectively).  Is is fair to regard J as a "challenger" in the
> Mathematica/Maple market? 

They partially overlap.  J might be thought of as having some of the
character of Mathematica/Maple, some of the character of C/Java, some
of the character of Lisp/Forth, some of the character of Perl/Tcl,
and so on... but it's also distinct from all of those.

And I think it's worth learning just because it can help you think 
about problems more effectively.

> Thank you for your patience with my Absolute Newbie questions.  I'm
> looking forward to learning more about J, and I appreciate your help.

Have fun.

-- 
Raul
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to