What about K?
Learning K and Related Resources
- Several commenters recommend “Q for Mortals” and the KX “phrases” / idioms collections as more example‑rich companions to the linked intro.
- Nial and other Iversonian/array languages (APL, J, BQN, Uiua) are mentioned as alternatives, with guidance that if you learn one, the others are easier to pick up.
- For beginners, BQN and J are often suggested due to open tooling; Dyalog APL is seen as best tooled but commercial.
Intended Use Cases and Comparisons
- K is described as a fast vector/array language, primarily used with kdb+ for time‑series and tabular analytics in finance.
- Compared to SQL, K/q can express complex queries in very few tokens; compared to Python+Pandas/R+tidyverse, they are more focused, less “ecosystem rich,” but often faster.
- Some see it as ideal for data wrangling and quant research, not for full‑stack applications or nanosecond‑level trading engines.
Readability, Terseness, and Culture
- The “readability is a property of the reader” claim provokes debate. Many find K unreadable or “write‑only”; practitioners insist it becomes natural with practice, like regex or Chinese script.
- The JSON implementation in K is cited as an extreme example: some see it as IOCCC‑style obfuscation, others as compact, readable code for experts.
- Terseness is defended as increasing the amount of code a programmer can keep in working memory; critics argue brevity in characters is meaningless versus clarity in tokens.
Performance and Benchmark Debate
- K/Shakti marketing claims around 50GB CSV loading far outpacing Polars spark skepticism, especially given a DeWitt‑style anti‑benchmark clause.
- A Polars engineer independently tests the same benchmark and describes their SIMD + multithreaded CSV parser, getting ~7–8s for full parse on large machines.
- Even skeptics concede that if K’s 1.6s claim is accurate, it’s extraordinary, but independent verification is lacking.
Ecosystem, Versioning, and Licensing
- There is concern over nine mutually incompatible K versions and heavy, Oracle‑like licensing for q/kdb+.
- Some report real‑world pain: proprietary binaries, expensive training, upgrades for memory leaks, and coupling one’s livelihood to a niche, closed system.
- Others use K/q recreationally (e.g., Advent of Code) and enjoy its expressiveness but warn against basing a career or large codebases on it.