I've had good luck using J to work out a good algorithm that I've
implemented in another language.  For instance, I was wondering about the
efficiency of a simple permutation algorithm in Javascript and was able to
try two or three versions of it in about half an hour in J, then implement
the winner in Javascript.  I did have to dumb it down to use a loop for the
various methods I tried but am reasonably confident my final version is
fairly efficient.

On Sun, Dec 3, 2017 at 3:02 PM, Kenneth Lettow <[email protected]>
wrote:

> See http://code.jsoftware.com/wiki/Jd/License#License
>
> On Sun, Dec 3, 2017 at 1:55 PM, Ron Petersen <[email protected]>
> wrote:
>
> > how do i get a copy of JD for my iMac or do i need a other type computer?
> >
> > On Sat, Dec 2, 2017 at 2:15 PM, Scott Locklin <[email protected]> wrote:
> >
> > > On 11/28/2017 3:59 PM, Andrew Dabrowski wrote:
> > > > Do you loveJ most because of (pick only one)
> > >
> > > Background: applied math/numerics guy.
> > >
> > > I've worked around big data and tsdb problems for a long time, so the
> > > legends around Kx systems is what originally brought me to APL land. I
> > > even worked on a "more mainstream" aka normie legible one called Kerf
> > > (basically a rank-1/rankless APL you can read in plain english). That's
> > > what got me here.
> > >
> > > Jd, is definitely one of the things which keeps me around. Stuff like
> Jd
> > > allows you to bring the calculation to the data. Opposite of spark
> which
> > > has expensive marshall, shuffle, etc, and appears to be written by a
> > > tribe of chimpanzees. I have beat spark clusters by factors of 100 on
> > > calculations running J/jd in one node in one thread (while spark was
> > > also running in all the other available hardware threads on the same
> > > node and a dozen more!).
> > >
> > > Mental clarity: when I can express an algorithm in J, I fully
> understand
> > > that algorithm in a way that wouldn't happen with C++ or python or
> > > something. I have been using stuff like wavelets and neural nets for
> > > decades, but only really understood them when I expressed them as J
> > > verbs. This isn't always necessary (libraries are good), but sometimes
> > > it is really helpful. Maybe it's the "natural language" properties, or
> > > maybe it's because most of the algorithms I am interested in are on
> > > matrices and vectors.
> > >
> > > FFI: it super quick standing up some bag of verbs that allows one to
> use
> > > a C-api. R has some good tools here also, but there is generally a lot
> > > of ceremony around the FFI which slows everything down.
> > >
> > > Speed: it runs fast, and once you get past a certain skill level, dev
> > > time is faster than anything else I have used. And I can see lots of
> > > potential for improvement as most of the dev time is getting bogged
> down
> > > in some puzzle due to my ignorance, or not noticing some addon package.
> > >
> > > Bottoms up: one of the strengths of it is it is generally easy to build
> > > something big out of lots of little elementary particles. Once you get
> > > the pieces, hooking them together (maybe in a namespace) is generally
> > > trivial, and the thing "just works." Lisp was like this for me also.
> > > Pretty much nothing else is.
> > >
> > > Community: People who use J tend to be very smart. But, unlike the
> > > common lisp community, nobody is a supercilious weirdo about it.
> > >
> > > Potential: Moore's law has kind of stopped; trend is towards many
> cores.
> > > Theoretically, most J array operations can be naturally parallelized. I
> > > think it would make a dandy deep learning metalanguage. Maybe some day
> > > I'll have the time to look at Pascal's Arrayfire bindings.
> > > https://github.com/Pascal-J/Jfire
> > >
> > > Downsides: it's a really big language, the documentation can be terse,
> > > and, yes, sometimes I can't understand some of the tacit expressions.
> > > Also not as many helpful libraries as something like Python or R. I
> > > think it's not as natural a fit to text or things that cry out for hash
> > > tables or tree-like structures, but it may be just because I don't do
> > > much of that sort of thing. If I had to identify one piece of low
> > > hanging fruit for my own productivity: more documentation for the
> addons.
> > >
> > > Discovering J was sort of like discovering an XB-70 buried under a
> Mayan
> > > temple. Nothing is perfect, but it is a very good tool for me.
> > >
> > > -SL
> > > ----------------------------------------------------------------------
> > > For information about J forums see http://www.jsoftware.com/forums.htm
> > >
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
>
>
>
>
> --
> *Kenneth Lettow*
> Director Market Intelligence | Thomas™
> Thomasnet.com <https://www.thomasnet.com> | #ThomasForIndustry
> <https://www.thomasnet.com> <https://www.thomasnet.com>[image: Thomas For
> Industry] <https://www.thomasnet.com>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>



-- 

Devon McCormick, CFA

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

Reply via email to