"why not both?"

On the long run, yes, it is very likely each of the two has its strong and
weaker points.
However, to start with, I would not embark on both at the same time,
because there are quite some differences that might confuse you and
distract from actually learning the core, and lead to frustration. It's a
bit like Italian and Spanish: learn both, and you could start mixing up
concepts (been there, done that).

For instance:
- trains of two isolated verbs are interpreted differently in J and Dyalog:
J (u v) y <-> y u v y and x (u v) y <-> x u v y
Dyalog (u v) y <-> u v y and x (u v) y <-> u x v y (I hope I got that
correct)
- J only combines strings of numbers into a vector, while Dyalog does that
for any juxtaposed value, including variable names, leading to nested
vectors (sort of implicitly boxing of the juxtaposed values)
- many primitives are packed differently into the glyphs, e.g. in Dyalog,
IIRC, / is used as verb (replicate) and as an operator (reduce) (see
https://aplwiki.com/wiki/Function-operator_overloading), while in J verbs,
adverbs and conjunctions don't change to other types based on their context
in an expression; Dyadic cases of scan (\) and reduce (/) in Dyalog do
other things than in J,…
- Is the index origin still 1 by default in Dyalog ? If so, I'd advise
setting it to 0 to keep mental sanity.

Anyway, of course, it's personal, and it might also be fun to explore the
differences…
Jan-Pieter

On Wed, Oct 6, 2021, 02:49 Raul Miller <[email protected]> wrote:

> J and Dyalog APL have some interesting ties.
>
> Of course, Ken Iverson invented both languages.
>
> But, also, Roger Hui (the primary implementer of J) has moved over to
> Dyalog and has been using his experience here to help out over there.
>
> Anyways... this is definitely an area where you might want to ask: why not
> both?
>
> Thanks,
>
> --
> Raul
>
> On Tue, Oct 5, 2021 at 6:27 PM Jan-Pieter Jacobs
> <[email protected]> wrote:
> >
> > Hi Joseph
> > I have to say I don't know APL very thoroughly, but here are some things
> I
> > like J for that APL doesn't have (someone please correct me if I'm
> wrong):
> >
> > - It's open source and free (Dyalog isn't, although there are open source
> > GNU APL and NARS2000).
> > - It works even on your phone (at least mine, android and ios/ipad). This
> > combined with a nice keyboard (my favourite is messagEase) is bliss for
> > impressing friends (I guess this depends on your friends :p).
> > - There's very powerful tools for learning I haven't heard of in APL
> > contexts: the addons debug/dissect, trace, tte, the interactive labs.
> > - It has a very powerful system of automatic inverses (called obverses,
> > since they are not all 100% inverses), for instance, p: y finds the y'th
> > prime. p: inv y finds the index number of prime y (inv being a standard
> > library adverb defined as inv=: ^:_1). This combines well with the under
> > conjunction &. . For instance, ever wondered what first 10 primes after
> 1e6
> > are?: ((i.10)+])&.(p:inv) 1e6 will tell you. You can as well assign them
> > using the obverse conjunction :. to overwrite one or define a new one,
> > based on your use case.
> > - There's a very cool addon for doing calculus on J functions:
> derivatives
> > (also partial), integrals,… : math/calculus.
> > - There's many more built-in primitives in J to pick from, like p: and q:
> > for primes and prime factoring, p. and p.. for polynomial and polynomial
> > derivative, C. and A. for handling permutations, and so on. This comes in
> > handy when doing e.g. code-golf, or participating in adventofcode. That's
> > actually how I ended up learning J.
> > - If you're looking for an "academic" challenge, I guess you will find
> the
> > tacit trains that were reintroduced in j903-beta u and later quite fun. I
> > wouldn't jump to them at the beginning though, might be to confusing and
> > you can perfectly do without.
> >
> > I'll leave the advantages of APL to people that actually use the
> language.
> >
> > Have fun exploring!
> >
> > Jan-Pieter
> >
> >
> >
> > On Tue, Oct 5, 2021, 23:35 joseph turco <[email protected]>
> wrote:
> >
> > > phew, that's good then!
> > >
> > > On Tue, Oct 5, 2021 at 5:18 PM Pierpaolo Bernardi <[email protected]
> >
> > > wrote:
> > >
> > > > On Tue, Oct 5, 2021 at 11:11 PM joseph turco <
> [email protected]>
> > > > wrote:
> > > >
> > > > > I am not trying to start a flame war, so please understand that is
> not
> > > my
> > > > > intentions.
> > > >
> > > > Don't worry about this. APL and J are friends, not enemies.
> > > >
> ----------------------------------------------------------------------
> > > > 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
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to