Crosscut

Daily Thought - 2025-02-01

Hey, I'm Hanno! These are my daily thoughts on Crosscut, the programming language I'm creating. If you have any questions, comments, or feedback, please get in touch!

The browser-centric architecture of the previous prototype created an ongoing burden for me. But for the most part, it wasn't the browser itself that caused that. Except for making the debugger UI a bit more complicated than it strictly needed to be.

Yeah, I had to figure out how to compile to WebAssembly, but that's easy to do with Rust. Even going with a purpose-built build tool and not using a binding generator wasn't too big of a deal. The JavaScript glue code was mostly a one-time investment, with little ongoing maintenance required. All those are things that I could easily do again.

What caused a huge burden, was putting the browser into the center of the whole architecture. The game ran there, the debugger ran there, live code updates were applied there. And since the browser runs in a separate process, that required a server; communication between that, the game, and the build tool; serialization of data structures; and so on. Lots of complexity that wasn't actually required.

Hey, you! Want to subscribe to my daily thoughts? Just let me know (maybe include a nice message, if you're up for it), and I'll send you an email every time I post a new one.