3 ms·
J is a very functional language used a lot for mathematics and statistical analysis, and it uses more familiar terms for the language like 'verb', 'noun' 'adver
by eggy 10y ago
J is a very functional language used a lot for mathematics and statistical analysis, and it uses more familiar terms for the language like 'verb', 'noun' 'adverb', and 'conjunction' as just some of the terms, as compared with Haskell. J can be very terse, and people don't take kindly to the ASCII character set used as symbols ala APL to perform function composition. It's called line noise in defamatory circles, which is also directed at its cousins K and Kona and others.
Haskell uses a lot of terms specifically from Category Theory.
People in the J community are very mathematically inclined, and usually work on different fields of mathematics. I am working on geometric algebra (Clifford Algebra) in J.
I find the J documentation much more friendlier than Haskell's docs.
And J has several IDE's that come bundled with it: JQT - a QT Gui with syntax highlighting, a help section, a minimalist project structure; JHS - a web-based IDE with hooks to D3 vs. the standard plot in JQT; and there is a Python-based IDE (JQide).
There are labs that walk you through chapter-based examples in the interpreter's REPL. One of the newer labs uses videos that go along with the lab in the console, all part of the J ecosystem.
I personally think that Haskell will maintain that purity of purpose, and not get diluted enough to be picked up by the average coder. Even J remains obscure after decades too, but I am hoping that all of the array hoopla (GPUs, big data, machine learning) will bring it to the forefront as a more natural fit, since its native unit and structure is based upon arrays.