Twenty years ago, studying my computing degree, one semester we learned J. It was unlike anything I’d used before and the entire class found it confusing. The compiler / environment was reportedly written by one of the professors and it was routine to run into bugs; I remember puzzling through something, going to a tutor, and them just shrugging it off as a J interpreter issue. I never grokked it and simply passed the course.
But it keeps on recurring to me and I pause to think of J at the weirdest times. As I use more and more languages, I’ve become more fascinated by it. Just like Prolog (also one semester, but with a reliable environment.) I want to learn both better.
pixelpoet · 9h ago
The title stops just short of the
johnisgood · 4h ago
"to the point", I presume, based on its README.
pjmlp · 3h ago
A side effect of the small length available for titles and the whole titles should not be editoralised point of view.
gitroom · 6h ago
Underscore stuff always throws me off - never quite got used to how J does it. Gotta respect the weird choices though.
t-writescode · 8h ago
From the doc,
_3 NB. negative numbers start with underscore
_ NB. sole underscore is infinity: a number
__ NB. negative infinity
Is this a standard I'm unaware of?
Avshalom · 39m ago
APL used ¯3 for negative 3; J went underscore to be similar but ascii.
Twenty years ago, studying my computing degree, one semester we learned J. It was unlike anything I’d used before and the entire class found it confusing. The compiler / environment was reportedly written by one of the professors and it was routine to run into bugs; I remember puzzling through something, going to a tutor, and them just shrugging it off as a J interpreter issue. I never grokked it and simply passed the course.
But it keeps on recurring to me and I pause to think of J at the weirdest times. As I use more and more languages, I’ve become more fascinated by it. Just like Prolog (also one semester, but with a reliable environment.) I want to learn both better.
Explicitly representing infinity, and working with it in some cases, allows to reduce number of exceptions...
Shameless plug, feel free to copy my setup! https://github.com/jdan/try-j