DEV Community

Cover image for Your First 60 Seconds With a Language That Compiles Itself — RUDRA Chapter 1
RAKSHANEX TECHNOLOGIES
RAKSHANEX TECHNOLOGIES

Posted on

Your First 60 Seconds With a Language That Compiles Itself — RUDRA Chapter 1

Most systems languages make you earn your first "hello world."

Install the compiler. Install the linker. Configure the build system. Sacrifice something to the linker gods. Then — maybe — your program runs.

RUDRA skips all of that. Chapter 1 of the course is about one thing: going from zero to a running native binary as fast as humanly possible.

One archive. That's the whole toolchain.

Download RUDRA from https://github.com/rakshanex/rudra and you get four small tools:

Tool Job
rudra Everyday driver: new, run, build, fmt, test
rudrac The compiler: one .rux file → native binary
ruxpkg Package manager
rudra-lsp Language server (VS Code extension: rakshanex.rudra)

No GCC. No Clang. No assembler. No linker. RUDRA emits x86-64 machine code and writes the executable itself.

Your first program

hello.rux:

fn main() {
    print("Hello, RUDRA!");
}
Enter fullscreen mode Exit fullscreen mode
rudrac hello.rux --run
# ✅ Compiled: build/hello
# Hello, RUDRA!
Enter fullscreen mode Exit fullscreen mode

Three lines. One command. A real native binary — a few kilobytes, starts in about a millisecond.

The project workflow you'll use forever

rudra new myapp && cd myapp
rudra run     # compile + run
rudra build   # native binary
rudra fmt     # format code
rudra test    # run test_* functions
Enter fullscreen mode Exit fullscreen mode

Every project is just a Rux.toml manifest plus src/main.rux. No build scripts, no 400-line config files.

What happens between source and binary

RUDRA's compilation pipeline has 8 stages: lex → parse → resolve imports → type-check → monomorphize generics → emit x86-64 → native ELF executable. You don't need to memorize them — but knowing your language doesn't hide a C compiler under the hood changes how you think about it.

One more trick before you go

print("2 + 2 = {2 + 2}");   // 2 + 2 = 4
Enter fullscreen mode Exit fullscreen mode

String interpolation with {...} — any expression, evaluated inline. You'll use this constantly.

Keep going

🎥 Watch Chapter 1 (full video lesson): https://www.youtube.com/watch?v=-adNF7Fi0Pg

📥 Download RUDRA (free): https://github.com/rakshanex/rudra

💬 WhatsApp channel: https://whatsapp.com/channel/0029Vb8hknnGE56kO24pbq47

Next: Chapter 2 — we build a real Number Summarizer with loops, mutable state, and functions. And we debug it like professionals.

Question: what's the most painful install experience you've ever had with a programming language? Tell me in the comments — I need to feel better about my 2 AM linker story.


Piyush Kumar — Founder & Director, RAKSHANEX TECHNOLOGIES. Cybersecurity specialist (pentesting, red teaming, SOC, DFIR). Builder of RUDRA, OmniCore OS, AgentTrace. Author of "The RUDRA Programming Language" and four cybersecurity books.

Top comments (0)