q logo

The Q Programming Language

> [!NOTE] > `q` is under heavy development and not ready for production yet. > > Feel free to [get in touch](https://urbach.dev/contact) if you are interested in helping out. ## Features * High performance (`ssa` and `asm` optimizations) * Tiny executables ("Hello World" is ~500 bytes) * Fast compilation (5-10x faster than most) * No dependencies (no llvm, no libc) ## Installation ```shell git clone https://git.urbach.dev/cli/q cd q go build ``` ## Usage ```shell q run examples/hello ``` ## Tests ```shell go run gotest.tools/gotestsum@latest ``` ## Platforms | | arm64 | x86-64 | | ------- | ------ | ------ | | Linux | ✔️ | ✔️ | | Mac | ✔️* | ✔️ | | Windows | ✔️* | ✔️ | Those marked with a star are supported in theory but there are no developer machines to test them. ## Security ### PIE All executables are built as Position Independent Executables (PIE) supporting a dynamic base address. ### Memory pages Code and data are separated into different memory pages and loaded with different access permissions. | | Read | Execute | Write | | ------ | ---- | ------- | ----- | | Code | ✔️ | ✔️ | ❌ | | Data | ✔️ | ❌ | ❌ | ## License Please see the [license documentation](https://urbach.dev/license). ## Copyright © 2025 Eduard Urbach