For people and AI writing code together

Safe. Fast. Easy to read.
A programming language for software you can rely on.

Software you can rely on, whether a person writes it, a model, or both together. The compiler checks for the mistakes that are easy to miss in review before the program runs, and says where its checks stop.

Nikaia is a programming language for applications: backends, web services, and software that has to be fast and correct at the same time. That is its home.

It also reaches from small scripts down to the hardware, though those areas are still young and come with rough edges.

Nikaia is built around an ambitious goal: safety, performance, and readability without having to trade one for another.

Good wins.

The Nikaia logo: a wing turning into a blue letter N

People and AI

When people and AI write code together

More and more code is written with a model, or by an agent that changes a program on its own. Such code reads well, and its mistakes are often the kind review finds hardest: two tasks that change the same value, an error that nobody handles, a call outside what a function expects. Nikaia's compiler looks for these before the program runs, and where it cannot tell what a call touches, as in a Rust crate or a C library, it says so instead of refusing.

Its messages say what is wrong and what to write instead, so an agent can read the error, change the code and build again, and the person reviews a program the compiler has already checked. No model has Nikaia in its training data yet: generating it means putting the specification in the model's context. The compiler is pre-alpha. The longer argument →

Very safe

Catch mistakes before they become failures. Nikaia checks how tasks interact: two tasks that would change the same value at once, a task nobody waits for, an error a task throws that nobody handles. A memory budget for every task is specified and not built yet. It checks how errors are handled and whether parts of your program keep their promises, at compile time wherever it can, and shows you where its checks stop. How it works — and where the limits are ↓

Very fast

Fast as lightning. Programs written in Nikaia run faster than most of what you know, in the league of the fastest languages there are. The measurements ↓

Easy to understand

Nikaia code is short and reads like a plain script. You write what should happen, and Nikaia works out the technical details other fast languages make you spell out. When something is wrong, it tells you in plain words what to change. What it looks like ↓

Made for good

Software that fails less hurts fewer people. Programs that do more with less hardware use less energy. And a language anyone can read lets more people build. That is why Nikaia exists. Why it exists ↓

Very safe

Catch mistakes before they become failures.

Many bugs follow patterns. Nikaia checks for those patterns before they reach your users, and says where it cannot.

Where Nikaia fits

Easy languages

Python, JavaScript

Quick to write in. The programs are slower and need more memory, and some mistakes only show up in production, under load, at night.

Fast languages

C++, Rust

Fast programs. In exchange, much of each program tells the compiler how memory, waiting and sharing should work.

Nikaia

fast and safe

A compiler that sees the whole program can work much of that out itself. You write plain code and Nikaia turns it into optimised machine code. Nikaia checks your program, and Rust's compiler checks memory safety again.