Crosscut

Daily Thought - 2025-01-18

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!

< back to list

An early lesson I learned while working on Crosscut, is that making a programming language is easy. It's just very, very hard, to then turn it into something that you can use productively.

Maybe the central problem of programming, is to understand what's going on. What your code is doing. Without the kind of infrastructure that a mature programming language brings to the table, this can be difficult. Add to that, that earlier prototypes used a pure concatenative model; no variables, unlimited access to the stack; and the problem became very challenging.

My answer to that, was to add a debugger. And not as an afterthought; I started a new prototype with one built in from the beginning. Overall, this has been a success. It solved the problem. It allowed me to actually work with my immature, unwieldy language. But nothing's perfect, of course, and the debugger has also been a source of problems.

<< previous thoughtnext thought >>

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 whenever I post a new one.