News for hackers. Stuff that matters.
Re:J vs. K by Example by melling on Friday February 05, 2021 @09:14PM (#26043533)
K is a successor to J? It came 3 years later?

https://en.wikipedia.org/wiki/K_(programming_language)

And I guess there's also Q.

https://code.kx.com/q/ref/

Which one of these has some industry traction?

Re:J vs. K by Example by smabie on Saturday February 06, 2021 @12:48PM (#26048278)
kdb+/q has the most traction. However, it could have more traction and first derivatives has done a terrible job at promoting the language.

I love k/q and see a lot of the ideas of array languages perculate into the mainstream thru numpy and Pandas. However, both are really shitty compared to a true array language.

I personally love k/q, J I'm not as keen about.

I've also created my own array language called xs: https://cryptm.org/xs/ I don't really work on it anymore, but it might be interesting to some folks researching/developing new array languages.

I think there's a lot further we can, and k/q definitely has a bunch of warts that hopefully shakti/k9 will solve.

I really want Shakti to have lexical scoping, and I feel like too many compromises are made for performance/simplicity reasons that reduces the ergonomics of current array languages.

Re:J vs. K by Example by rscho on Saturday February 06, 2021 @05:24PM (#26050594)
I use J quite a lot. I'm interested in why you're not keen about it?

Asking because I'm thinking of adding some form of array language to the statistical/data science Racket framework.

Re:J vs. K by Example by smabie on Saturday February 06, 2021 @05:49PM (#26050830)
I don't know J as well as k, but it seems to map less to trading/finance, my domain of expertise.

I like that k/q is a more traditional language in a sense, you can write code (if you have to) that looks like regular functional/imperative code. J is more obtuse and takes a more mathematical approach that can be confusing.

I do like forks and the point free style though.

Re:J vs. K by Example by rscho on Friday February 05, 2021 @09:40PM (#26043631)
Both APL and K enjoy substantial industry use in financial and heavy industry companies. J much less so, but it is more mathematically inclined (and is open source). APL's and J's cores are very similar apart from their character sets. J has substantially more primitives, especially pertaining to mathematics.

K is architecturally distinct, in that it does not have true multidimensional arrays. It instead uses lists of vectors. This is logical given its main use case: finance, i.e. analysis of rather long series of low-dimensional data. Q is syntactic sugar on top of K.

Re:J vs. K by Example by snicker7 on Saturday February 06, 2021 @04:05PM (#26049926)
Q is K3 with some utility functions. It is sold by Kx Systems as part of kdb+, which I have the pleasure of working with on occasion.

The most recent version of K is K9, aka "Shakti"