iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Jam is a new compiled programming-language project by Raphael Amorim, built around a difficult trade-off: make systems programming feel direct and approachable without giving up safety or performance. The June 2, 2026 issue of Bytes, “Making Jam for the love of the game”, frames the project around the motivation to build a language for the challenge and craft of it. Jam is still early-stage, though, so its goals should not be mistaken for established capabilities.
What is Jam?
Jam is a programming-language project created by Raphael Amorim, whose previous work includes React TV and Rio Terminal. In the Bytes issue, Amorim’s experience building software is presented as part of the motivation: he wanted a language that better suited the way he wanted to work.
Bytes describes Jam as newly announced and compiled, and uses Rust, Swift, Zig, Elixir, and JavaScript as points of comparison. That list is editorial shorthand, not a specification. It does not mean Jam has inherited those languages’ feature sets, safety guarantees, ecosystems, or performance.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Why build another programming language?
Amorim says the central motivations are safety, approachability, and speed. In his May 13, 2026 technical article, edited in July 2026, he put it this way: “Safety, lower learning curve and high performance were the biggest reasons I started Jam programming language.” (Raphael Amorim’s article on Jam.)
Those aims pull in different directions. A language that gives programmers close control over memory can be efficient and predictable, but that control can also make programs harder to write correctly. Jam’s design work is an attempt to make the everyday experience feel immediate while automating some of the responsibilities that can make systems programming difficult.
How Jam handles values and cleanup
Bindings own their values
In Amorim’s technical account, a binding owns the value assigned to it. This ownership-oriented approach is intended to help the compiler reason about when a value is valid and when its resources can be released.
Parameters can be borrowed briefly
Function parameters can borrow values for a limited period instead of taking ownership. This gives a function access to a value without necessarily transferring responsibility for its lifetime. The details are part of a developing design, not a promise that every case is settled.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsCleanup is synthesized by the compiler
Amorim describes compiler-synthesized cleanup through drop functions. This is the mechanism behind Jam’s stated aim of automatic drop behavior: cleanup can happen as a value’s lifetime ends, without requiring a garbage collector. It is not evidence that Jam is already as mature or as broadly proven as languages with established ownership or resource-management systems.
Rank #3
Performance is a goal, not a demonstrated advantage
Amorim says Jam is not yet where he wants it to be on performance. He characterizes preliminary measurements on workloads he has measured as close to the performance he is targeting, but those are creator-reported results, not an independent benchmark of Jam as a general-purpose language. A comparison claiming that Jam already matches Rust or Zig in speed would go beyond the available evidence.
To assess performance as the project develops, readers will need reproducible tests that identify the compiler version, hardware, workload, settings, and comparison languages. Until then, “high performance” describes an objective rather than a verified outcome.
Rank #4
Jam’s maturity and what to expect
The June 2, 2026 Bytes issue calls Jam too new for production. Amorim’s technical article describes it as pre-1.0 and warns that details may change. These are status descriptions tied to those sources and dates; language features, releases, and project guidance can evolve.
For now, Jam is best understood as an active language-design project to follow or experiment with, rather than a settled choice for production software. Its value will depend not only on the ownership and cleanup model, but also on how the language, tooling, documentation, ecosystem, and compatibility story mature.
Best Value
Trying Jam
The project repository provides instructions for trying or building the compiler. Its retrieved page specifies a Rust toolchain and LLVM 22 and also includes a Homebrew path. Because installation prerequisites and project instructions can change, check the repository’s current guidance before setting up a development environment: Jam on GitHub.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

