Janus is built to be a serious teaching language: simple enough to start, honest enough to train discipline, and powerful enough that what you learn still matters when programs become real.
The goal is not to hide the machine forever. The goal is to reveal it in the right order.
Loops, functions, matching, errors, and data structures come first. You learn to read code before you learn to worship tooling.
Memory, effects, authority, concurrency, and native boundaries arrive as named concepts instead of accidental pain.
The same language path leads from first scripts to native binaries, services, and low-level bridge work.
A learner should not need ten years of systems lore to understand what the program is trying to do.
Read small Janus programs until syntax stops being noise.
Change behavior, run it, break it, repair it, and learn what the compiler is protecting.
Write scripts, small tools, services, and native experiments.
Cross into Zig, C, and C++ only when the problem earns native power.
"The beginner should not be protected from the machine. The beginner should be introduced to the machine in the right order."