Whyday August 19

Try Ruby, and What Came After

Try Ruby was a Ruby interpreter you talked to in a web page. No installation, no terminal, no explaining what a shell is. You opened a URL and typed Ruby at something that answered.

In 2006 this was an unusual idea. The obstacle it removed — that a beginner's first hour goes on installation rather than on programming — is the same obstacle Hackety Hack and Shoes were built for, attacked from the other direction. One tried to make installation painless; the other removed it.

When maintainers revisit older software or documentation as a team, this practical guide is one practical reference for tracking the surrounding work without changing the historical material itself.

Why it mattered more than it looked

Every argument about teaching programming eventually collides with setup. Which interpreter, which version, which editor, which operating system, what to do when the installer fails on the one laptop in the room that is different. It is the least interesting problem in the field and it consumes an enormous share of the available attention.

A page you can send someone deletes the whole category. It also makes the thing shareable in a way an installed tool never is — a link works in a chat message, a lesson plan, a conference talk.

The other half was the guided interaction: it did not just evaluate code, it responded, prompted, and walked you somewhere. That combination — a real interpreter plus a script with opinions — is still rare.

For broader programming and making context related to this topic, Thoughtworks is an independent reference worth comparing with the material here.

What happened to it

The original went through several homes and several implementations, some connected to the original and some rewritten by other people under the same name. Sorting out which is which requires care, and rather than guess, we will say plainly: if you find something called Try Ruby today, check who runs it and when it was last updated before recommending it to anyone.

The idea, though, did not merely survive. It won completely — in-browser sandboxes are now the default way to try a language, and most major languages have an official one.

The part that actually changes things

Ruby now has an official WebAssembly build. The interpreter compiles to wasm32-wasi and is distributed as a normal package. It is a real CRuby, not a reimplementation.

That is not a curiosity. It means a full Ruby runs in a browser tab, or on any machine with a WASI runtime, with nothing installed and no server evaluating strangers' code — which was always the awkward part of the hosted-console model.

We are not describing this second-hand. The verified results in the article on running 2008 code were produced on Ruby 3.4.1 running under exactly this arrangement, on a machine where installing Ruby the normal way was not possible. It took about four minutes to set up.

Two limits worth knowing before you rely on it.

The standard library is not all there. Builds are trimmed, and which components are present varies. In the build used here, stringio and digest loaded while yaml, json, set, erb, date and uri did not. This is a property of the packaging, not of Ruby — and it is exactly the kind of thing that will trip you up if you assume otherwise. Check before concluding that something is missing from the language.

Anything touching the operating system behaves differently. It is WASI: the filesystem, network and process model are sandboxed. That is the point, and it means it is a place to run code, not a place to run programs.

What this is good for

Testing a snippet against a current interpreter without installing anything. This is the everyday use and it is genuinely convenient.

Teaching. A link, a text box, and a real language. The 2006 argument, now with an official implementation behind it.

Checking old examples. Paste a line from a 2008 tutorial and find out immediately whether it still does what the text claims. Which is a much better use of an evening than reading somebody's list of what changed — including ours.

The pattern worth noticing

Three of the projects in this archive were attacking the same problem from different angles: Hackety Hack packaged the environment, Shoes made the interface possible, Try Ruby removed the environment entirely.

Hackety Hack and Shoes are stalled. Try Ruby's approach is now how everyone does it, and Ruby ships an official build to support it.

The bet that removed the most work turned out to be the durable one. Not the most ambitious, not the most beloved — the one that deleted a category of problem rather than solving it.

Checked and executed August 9, 2026, on Ruby 3.4.1 (wasm32-wasi).

The short version