Daily Thought - 2024-05-27
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.
People have told me, in the context of other projects, that I have to take into account feature X or Y from day one, because it will be impossible to retrofit later. I'm sure people will tell me the same about Caterpillar, eventually. And I think they would be wrong.
Now let me be clear: It totally would be better if I could consider all relevant design decisions from the beginning. But there are so many open questions, so much to figure out, that it's just impossible to juggle all of it. I just have to defer some decisions, or I'd get nothing done,
Will that lead to problems down the line? Yes, absolutely. But is all hope lost, if I ignore certain things early on? No, I don't buy that. It might require partial rewrites, a lengthy refactoring process, a new version that looks very different from earlier ones. But there's always a way out.
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.