A look at the J language: the fine line between genius and insanity (2012)
scottlocklin.wordpress.com
A look at the J language: the fine line between genius and insanity (2012)
1–10 of 70 posts
Re: A look at the J language: the fine line between genius and insanity (2012)
#2Fwir, Kdb+ is written in k which is sorta APL, and then there's q for writing kdb+ programs which is easierish. But still an adventure.
Re: A look at the J language: the fine line between genius and insanity (2012)
#3Funny, that phrase can also describe k itself... It's a mindset, or cult, depending on who you chat with about it. Very powerful, and somewhat obtuse, which often go together. Fwir, Kdb+ is written in k which is sorta APL, and then there's q for writing kdb+ programs which is easierish. But still an adventure.
https://aplwiki.com/wiki/Array_model#:~:text=In%20APL%20it%2....
Re: A look at the J language: the fine line between genius and insanity (2012)
#4I think it's an idea whose time has come in some ways: hardware is more array-like than ever. J has evolved a lot from 806 to the present 902 beta; lots of performance increases from moving away from the single core paradigm (where it excelled anyway). Lots more to unlock there as well, and some interesting J-based startups brewing[2]. I also think it's one of the best user communities I know of.
Oh yeah, Art's new language Shakti[3] should probably be mentioned. Lots of people excited about this.
[0]https://code.jsoftware.com/wiki/Jd/Overview
[1]http://lush.sourceforge.net/
[2] https://www.monument.ai/ for example
Re: A look at the J language: the fine line between genius and insanity (2012)
#5Funny, that phrase can also describe k itself... It's a mindset, or cult, depending on who you chat with about it. Very powerful, and somewhat obtuse, which often go together. Fwir, Kdb+ is written in k which is sorta APL, and then there's q for writing kdb+ programs which is easierish. But still an adventure.
People always compare J, K and APL as if they were almost identical apart from the character set, but that's far from the truth. https://aplwiki.com/wiki/Array_model#:~:text=In%20APL%20it%2... .
Re: A look at the J language: the fine line between genius and insanity (2012)
#6Good introduction. Its always nice to see a "community review".
Re: A look at the J language: the fine line between genius and insanity (2012)
#7The TSDB is now called 'jd'[0] FWIIW. Funny, I've been using J on and off since then and I'm still not sure if it's genius or insane. It, along with the other APLs, is definitely its own thing, just as much as Lisp is (my previous favorite weird language was Yann LeCun and Leon Bottou's "Lush,"[1] which I continue to think is an amazing design). Once you get a little bit proficient at it, you finally realize what an…
Re: A look at the J language: the fine line between genius and insanity (2012)
#8The TSDB is now called 'jd'[0] FWIIW. Funny, I've been using J on and off since then and I'm still not sure if it's genius or insane. It, along with the other APLs, is definitely its own thing, just as much as Lisp is (my previous favorite weird language was Yann LeCun and Leon Bottou's "Lush,"[1] which I continue to think is an amazing design). Once you get a little bit proficient at it, you finally realize what an…
I'm still waiting for Shakti to have more info on their site. As on now, it seems like it is more tailored for Art's traditional clients of banks and not the common engineer.
Re: A look at the J language: the fine line between genius and insanity (2012)
#9The incomprehensible programs just seem to hint that there is some sort of maximal information density where every keystroke provides maximal productivity.
There's also something artistically appealing about starting at a program and making a deliberate one character change that makes all the difference ... although on the other hand, that's kind of scary too.
Here's a video that really illustrates the power of this paradigm: https://www.youtube.com/watch?v=a9xAKttWgP4
[1] - I learned (in this approximate order): C, Java, Lua, C#, Ruby, Python, Lisp, Forth, Prolog, Clojure, OCaml, Haskell, Erlang, F#, R, Racket, and Rust. I also took a look at languages like: ATS, Cyclone, C++, Idris, Agda, D, and Perl 6. Of all those languages it really feels like APL/J/K are the strange ones.
Re: A look at the J language: the fine line between genius and insanity (2012)
#10Funny, that phrase can also describe k itself... It's a mindset, or cult, depending on who you chat with about it. Very powerful, and somewhat obtuse, which often go together. Fwir, Kdb+ is written in k which is sorta APL, and then there's q for writing kdb+ programs which is easierish. But still an adventure.
Interestingly enough you can fairly easily program your own language (written in q/k) on top of that, and set the interpreter to evaluate that language by default. Kx offers a Python integration layer called EmbedPy which (among other things) exposes a Python evaluator as the "p" language in kdb+.