kdb Products
Overview
KDB.AI
kdb+
kdb Insights
kdb Insights Enterprise
Capabilities
Anomaly Detection
kdb+ Time Series Database
Liquidity Management
PyKX Python Interoperability
The Data Timehouse
Vector Database Explained
Services & Support
Financial Services
Quant Research
Trading Analytics
Industry & IoT
Automotive
Energy & Utilities
Healthcare & Life Sciences
Manufacturing
Telco
Learn
Overview
Featured Courses
KX Academy
KX University Partnerships
Connect
KX Community
Community Events
Developer Blog
Build
Download
Documentation
Support
About Us
Partner with Us
KX Partner Network
Find a Partner
Partner Signup
Join Us
Connect with Us
by Stephen Taylor, KX Librarian.
In the beginning, there was no reference. When developers with vector-programming experience wrote terse, fast q solutions without loops or control structures, awed scalar developers called them “the q gods”.
The leading kdb+ textbook is even called Q for Mortals. The metaphor honors the skill, but places it beyond our reach.
The power of q is not reserved to members of a divine race. It is available to anyone who wants it. It yields to study, immersion, and practice.
Vector languages such as q support a particular way of thinking about problems and solutions.
Experience with other programming languages taught me to analyze problems into loops, tests, and cases. This is the scalar approach. You can write q this way, but it will limit what you can get done.
Iteration is largely free in q: it is implicit in most of the primitives.
That is so we can stop thinking about iterations and think instead about operations on lists and other structures.
The shift to vector thinking can be a challenge. Play is an excellent way to explore new techniques.
Q by Puzzles is the start of a new section on code.kx.com. It studies vector programming techniques in the context of simple problems. They explore distinctive features of q in some depth.
Use them to train your brain for q.