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
