Small. Brave. Yours.

The language that
stays out of your way

Quartz is a minimalist programming language for those who value simplicity, transparency, and control. No magic. No bloat. Just you and your code.

hello.qz
import system.io as io;
import system.math as math;

class Greeter {
    string name;
    
    fn greet() {
        io.out.println("Hello,", name);
    }
}

let greeter = new Greeter();
greeter.name = "World";
greeter.greet();

// Functional style with lambdas
let numbers = [1, 2, 3, 4, 5];
for (i in numbers) {
    io.out.println("โˆš" + i + " =", math.sqrt(numbers[i]));
}
... Loading latest release... View Releases

The Arch Linux of Programming Languages

Like Arch Linux, Quartz follows a simple philosophy: keep it simple, keep it transparent, keep it yours. We don't make decisions for you. We don't hide complexity behind magic. We give you the tools, and you build exactly what you need.

๐ŸŽฏ

Simplicity

No implicit behavior. No hidden magic. What you write is what runs. Every line of code does exactly what it says.

๐Ÿ”

Transparency

Full visibility into the runtime. Inspect bytecode, trace execution, understand exactly how your code works under the hood.

โš™๏ธ

Control

Your code, your rules. Extend the language with native C++ extensions. Build the standard library you want.

๐Ÿ“ฆ

Minimalism

Small core, big possibilities. The runtime is lean. Dependencies are few. Startup is instant.

Powerful When You Need It

Quartz gives you modern language features without the framework weight

๐Ÿš€

Dual Execution Modes

Run code directly with the interpreter for rapid development, or compile to bytecode for optimized execution. Switch modes with a single flag.

# Interpret directly
./quartz script.qz

# Compile and run bytecode
./quartz --compile-run script.qz
๐Ÿ“ฆ

First-Class Everything

Functions are values. Lambdas are natural. Pass them around, store them, compose them. No special syntax, no ceremony.

let transform = (x) => x * 2;
let nums = [1, 2, 3];
let doubled = c.map(nums, transform);
// [2, 4, 6]
๐Ÿ›๏ธ

Clean OOP

Classes, methods, fields, inheritanceโ€”all with a familiar syntax inspired by Java and modern languages. No getters/setters boilerplate.

class Circle {
    double radius;
    
    fn area() -> double {
        return 3.14159 * radius * radius;
    }
}
๐Ÿ”Œ

Native Extensions

Need performance? Write C++ extensions that integrate seamlessly with Quartz. Full access to the type system and runtime.

extern "C" void init_extension(
    FunctionRegistry& reg) {
    reg.registerFunction("my.func", 
        [](auto& args) { /* ... */ });
}
๐Ÿ›ก๏ธ

Exception Handling

Proper try-catch-finally blocks with typed exceptions. Handle errors gracefully, not through cryptic return codes.

try {
    throw new ValueError("Oops");
} catch (ValueError e) {
    io.out.println(e.message);
} finally {
    cleanup();
}
๐Ÿ“š

Modular Imports

Namespace-based module system with aliases. Import only what you need. No global pollution.

import system.io as io;
import system.math as math;
import system.string as str;

io.out.println(str.uppercase("hi"));

Why Choose Quartz?

Quartz
Python
JavaScript
Go
Instant startup
โœ“
โœ—
~
โœ“
Native C++ extensions
โœ“
~
โœ—
~
Single binary runtime
โœ“
โœ—
โœ—
โœ“
Dual interpreter/bytecode
โœ“
โœ—
โœ—
โœ—
Minimal dependencies
โœ“
โœ—
โœ—
โœ“
Familiar C-like syntax
โœ“
โœ—
โœ“
โœ“

Built For

๐Ÿ”ง Scripting

Automate tasks with a language that starts instantly and doesn't require a massive runtime environment.

๐Ÿงช Prototyping

Quickly test ideas with the interpreter, then compile to bytecode when performance matters.

๐ŸŽฎ Embedding

Embed Quartz in your C++ applications as a scripting layer. Clean API, predictable behavior.

๐Ÿ“– Learning

Understand how languages work. Quartz's codebase is readable, well-documented, and designed to teach.

Get Started in 60 Seconds

1

Clone & Build

git clone --branch development https://github.com/quartz-org/quartz
cd quartz
bash build.sh
2

Write Your First Program

// hello.qz
import system.io as io;

io.out.println("Hello, Quartz!");

let name = "Developer";
io.out.println("Welcome,", name);
3

Run It

./build/quartz hello.qz
# Output:
# Hello, Quartz!
# Welcome, Developer

Latest News

Stay updated with releases and announcements

View All News

Join the Community

Quartz is open source and community-driven