5 ms·
On K - there are now two "real" implementations, one by Kx Systems (i.e. the version under the hood of kdb+) and one by Shakti (new company from Arthur Whitney,
by SifJar 6y ago
On K - there are now two "real" implementations, one by Kx Systems (i.e. the version under the hood of kdb+) and one by Shakti (new company from Arthur Whitney, original author of k). The Kx one is k4, Shakti is k9. Having said that, k9 is still quite a "work in progress", don't think it's considered production ready yet.
May also be worth nothing that k4 is essentially "undocumented" and Kx encourage to use q instead of writing any code in k directly. Most functionality can be pieced together using docs from other versions of k (I think k2 manual is floating around online) & the docs from q.
- felixr 6y agoI thought Shakti started at k7, and k5 and k6 have also a Kx implementation. BTW, https://ngn.bitbucket.io/k.html https://ngn.bitbucket.io/k.html is a great overview of K implementations and which version they are implementing. edit: k5, k6, k8 were apparently never released (https://aplwiki.com/wiki/K https://aplwiki.com/wiki/K)
- SifJar 6y agoYep, for a while Shakti was k7, but then Arthur started over & it became k9. Not sure what happened with k8 k5 was also known as "kOS" and was to be a version of k as a full OS that could run directly on hardware - I believe that got abandoned due to the pain of writing drivers http://archive.vector.org.uk/art10501320 http://archive.vector.org.uk/art10501320 - article about kOS before it was abandoned
- bambataa 6y agoHow does q relate to K? I dabbled a little but the distinction was never clear to me.
- rscho 6y agoQ is K syntactic sugar to make the system easier and more "traditional".
- icen 6y agoq is k with all of the monadic verbs being replaced by English words: `+` is `flip`, `=` is `group`, `-` is `neg`, and so on. It also has q-sql, a SQL like sublanguage for conveniently working with tables. k has the verbs that implement it, but they're not really as convenient.
- snicker7 6y agoThe main difference is the introduction of qsql (SQL-ish statements can be treated as expressions) and some utility functions that are defined in K. QSQL is mostly for business analyst folks, and is just syntax sugar over the K-native `?` and `!` functions (which is more powerful than qsql).