A q nyelv egy általános célú programozási nyelv és egy lekérdező nyelv egyben. A q programozási nyelvet és annak adatbázisát, a kdb+ -t 2003-ban fejlesztette ki Arthur Whitney a Kx Systems-nél. A fő tervezési célok a kifejezőerő és hatékonyság voltak. A q nyelvre leginkább jellemző a tömörség, ami már-már nyugtalanító lehet az olyan programozók számára, akik "verbális programozási nyelvekhez" szoktak, mint pl. a C++, Java és a C#.
Főbb alkalmazási területe a matematikai algoritmusok és a statisztika, valamint ultragyors adatbázis-analízis.
A q nyelv az APL-ből fejlődött ki, ami az első programozási nyelvek egyike. Mivel a q kezdetektől fogva egy vektor-feldolgozó nyelv, ezért alkalmas rá, hogy rendkívül gyorsan hajtson végre komplex matematikai számításokat nagy mennyiségű adaton.
Ami újnak számít, az viszont az, hogy a q képes adatot feldolgozni a relációs paradigmában, rendkívül hatékonyan. A szintaxisa megenged az SQL 92-höz hasonló select kifejezéseket, és a beépített függvények halmaza magába foglalja az SQL 92 függvényeit.
A LISP-hez hasonlóan az alapvető adatszerkezet q-ban a lista. A jelölés és terminológia különböző, de a funkcionalitás megvan, és vitathatatlanul egyszerűbb.
A q mutat továbbá egy erős behatást a funkcionális nyelvek felől is. Bár a q nyelv a felszínen nem pusztán funkcionális, valójában legalább annyira funkcionális programozási nyelv, amennyire a C++, Java és a C# objektum-orientált.