|
||
---|---|---|
.. | ||
elf.md | ||
logo.svg | ||
macho.md | ||
pe.md | ||
readme.md |
The Q Programming Language
Note
q
is under heavy development and not ready for production yet.Feel free to get in touch if you are interested in helping out.
Features
- High performance (
ssa
andasm
optimizations) - Tiny executables ("Hello World" is ~500 bytes)
- Fast compilation (5-10x faster than most)
- No dependencies (no llvm, no libc)
Installation
git clone https://git.urbach.dev/cli/q
cd q
go build
Usage
q run examples/hello
Tests
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.
Copyright
© 2025 Eduard Urbach