Daily Thought - 2024-05-29
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.
There is this seemingly widespread belief, that if you're going to need breaking changes, you better put them all into a single release. One big 2.0 version, with long periods stability before and after.
I never understood that. Seriously, I'm completely baffled by this concept. Upgrading to such a release is a big task. And there's probably no practical way to do it incrementally. It's one huge, all-or-nothing change; probably all over your code base. That's the opposite of how I write software, for so many reasons.
Instead, why wouldn't we do your best to trickle those changes out slowly, in small pieces. Maybe start with a deprecation. Give users time to upgrade to the new thing. Make every release "breaking", in a way, but never break anything that hasn't been deprecated for a while.
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.