| ▲ | em-bee a day ago |
| languages ideally should not have breaking changes ever. on the other hand, a language with frequent breaking changes should not be considered production ready. people are of course free to live on the edge, and if someone decided that zig is good enough and they are not bothered by breaking changes then they are free to use it for their production system, but that doesn't mean it's ready for everyone. so i prefer the zig approach. |
|
| ▲ | bsder a day ago | parent [-] |
| > languages ideally should not have breaking changes ever. I disagree MIGHTILY. This is how you wind up with C++ and Java. Languages need to be able to remove features to stay coherent. Occasionally, you get things wrong, it takes time to figure that out, and that's just the way life is. |
| |
| ▲ | em-bee 20 hours ago | parent [-] | | different preferences i guess. i much prefer language stability. the idea that i should have to test my code with every python version out there for example is disturbing, but there are tools to do exactly that. they should not be needed. | | |
| ▲ | maleldil 12 hours ago | parent [-] | | The solution to this is editions/epochs, like Rust. You can set your project to the 2025 edition and be sure that, even if future versions introduce breaking changes, they will not affect your project; it will continue to compile as before. | | |
| ▲ | drdexebtjl 2 hours ago | parent | next [-] | | You can continue to compile as before by using a previous version of the Zig compiler. You even get a 100% byte-for-byte match with reproducible builds. Why are we so obsessed with updating dependencies, and at the same time, not willing to put in the work to update our own code? The result of Zig’s approach is that the ecosystem of packages is very active, quickly updating to use the latest language features, and with a good foundation of tests that catch regressions. | |
| ▲ | em-bee 8 hours ago | parent | prev [-] | | pike has that. or had it. for two decades. inline in the code, in each file you could specify the version. they decided to drop it because of the maintenance overhead. |
|
|
|