About Jda

What is Jda?

Jda is an open source systems programming language built entirely from scratch. The compiler is self-hosted — written in Jda itself — and was bootstrapped from raw x86-64 assembly. There are no dependencies on C, C++, Rust, LLVM, or any other external compiler toolchain.

Jda is free software, released under the MIT License.

Public Announcement (May 17, 2026)

Today marks the official announcement of the Jda Programming Language to the wider developer community. While Jda reached its 1.0.0 milestone recently, this is our first broad invitation for developers to use the language, explore the ecosystem, and help shape its future.

We need your feedback! As a language built from scratch, Jda thrives on community input. Whether you’re finding bugs, suggesting features, or just sharing your experience, every bit of feedback helps us make Jda better.

Design Goals

Current Status

Self-hosting converged (March 1, 2026). The compiler compiles itself and produces a byte-identical binary:

jda0 (asm) -> jda1 (374 KB) -> jda1_sh2 (2.1 MB) -> jda1_sh3
                                                      ^^^^^^^^
                                                      identical — fixed point

The Bootstrap Story

Jda started as a minimal assembler (jda0) written in x86-64 assembly. That assembler was used to build a simple compiler, which was then used to build a more capable compiler, and so on — each stage written in the language produced by the previous stage.

Today, the Jda compiler compiles itself. The compiler source (jda1.jda) is a single ~22,000 line file that implements the full compilation pipeline: lexer, parser, SSA-based IR, optimizations, register allocation, and direct x86-64 machine code emission. The output is a statically linked ELF binary with no libc dependency — syscalls go directly to the kernel.

Language Features

Core: functions, structs, arrays, pointers, references, if/else, loops, for-in, const, enums, generics, const generics, closures, pattern matching, defer, inline assembly

Type System: i64, i32, i8, f64, bool, &T references, generics (fn foo<T>()), const generics (fn foo<const N>()), traits, derive macros (Debug, Eq, Clone, Hash, Ord)

OOP: struct + trait + impl (Rust-style), method dispatch, operator overloading, derive macros

Concurrency: spawn/channels, green threads (J-Threads), deadlock detection, atomic ops, race detection

Error Handling: Result type, ? operator for error propagation, defer for cleanup, panic for unrecoverable errors

Open Source

Jda is free and open source software, released under the MIT License. The entire language — compiler, standard library, tools, documentation — is developed in the open on GitHub.

Contributing

Contributions are welcome. See the Contributing Guide for how to build, test, and submit changes.