Crosscut

Daily Thought - 2024-07-21

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!

This thought was published before Crosscut was called Crosscut! If it refers to "Caterpillar", that is the old name, just so you know.

< back to list

There are many trade-offs in language design. Here's one example: Do you favor explicitness, which makes it more obvious what's going on, hence making code easier to read; or implicitness, which reduces the amount of code you need, thus making it easier to write.

I want to try and sidestep this trade-off in Caterpillar, by explicitly designing it to be used (and read) with tooling. If that works out like I hope, we'll get ease of writing and ease of reading, because everything can be implicit and inferred, but still clearly visible in the code as you work with it.

But that's just a different trade-off, and you pay for that one by making Caterpillar less readable where tool support is missing. Like when you read code on a site like GitHub. I think the upside of designing the language with tooling in mind will be worth it, but we'll have to see where exactly to draw the line.

<< 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.