What’s the difference between kdb, kdb+, k, k4 and q?

kdb is the predecessor to kdb+®.  At one point kdb was an application on top of k.   At kdbfaq, we refer to kdb+® as kdb. q is the programming language of kdb. It’s a small layer of syntatic sugar on top of k, plus several significant extensions and new datatypes. k4 is simply an old name for q.

See $QHOME/q.k to see how much of q is written in k.