DEV Community

Cover image for I built my own scripting language and made it run in the browser — no HTML, no JS, just WebAssembly
sinisterMage
sinisterMage

Posted on

I built my own scripting language and made it run in the browser — no HTML, no JS, just WebAssembly

Hey Devs 👋

I recently I did something kind of insane:

I created my own scripting language called W++ — it has Python-style syntax, runs on .NET, supports entities, async, lambdas, and more...

But I didn’t stop there.

I decided to make it run in the browser. No HTML. No JS. No boilerplate. Just raw WebAssembly.


Introducing: 🌀 OOPSIEWASM

OOPSIEWASM is an experimental playground that lets you:

✅ Write W++ code directly in the browser

✅ Use externcall() to draw on a <canvas>

✅ Run it all via Blazor WebAssembly, no JS required

✅ Dream of a world with no HTML in DevTools

It’s real. It’s working. And it's probably the most chaotic thing I've ever built.


🧪 Example

externcall("canvas", "drawText", "Hello from W++", 10, 50);
Enter fullscreen mode Exit fullscreen mode

That line draws on a real HTML5 canvas — from W++, running in WASM.

🔗 Try It / Source

🎮 Live playground & video:
https://github.com/sinisterMage/WPlusPlusPlayground/blob/main/Recording%202025-06-03%20205424.mp4

🧠 Source code (MIT):

https://github.com/sinisterMage/WPlusPlusPlayground

🛠 How it's built

Written in C#

JIT and interpreted backends

Uses System.Reflection.Emit

Renders to via C# → JS interop

Entire frontend: Blazor WebAssembly

🙋‍♂️ Why?

Because I wanted to make something wild. Something alive in the browser.

Something that says:

“You don’t need to be older, funded, or famous to build something original.”

Just a laptop, an idea, and obsession.

💬 Feedback?

Would love your thoughts, questions, even critiques —
and if you’ve ever built something like this or dreamed of running your own language in the browser… let’s talk!

Thanks for reading ❤️

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.