4 ms·
C's 2018 standard cannot be compared to Rust's development in good faith. C didn't add anything new - it just clarifies edge cases, and does not change downstre
by ddevault 7y ago
C's 2018 standard cannot be compared to Rust's development in good faith. C didn't add anything new - it just clarifies edge cases, and does not change downstream C code in meaningful ways. And that constitutes 7 years of C development.
- AndrewGaspar 7y agoNew Rust versions don't change downstream Rust code either, except in edge cases. And those edge cases are only to fix potential security vulnerabilities.
- ddevault 7y agoChanging the definition of idiomatic counts as changing downstream code.
- deleted 7y ago[deleted]
- kelnos 7y agoOnly if you feel like you need to constantly update your code to be idiomatic, which is absolutely unnecessary. No one has to change their code to conform to whatever the new version of "idiomatic" is. Their code will continue to work, and it won't be "bad".
- steveklabnik 7y agoC 2018 was a small release, sure. There are bigger ones. C11 added an entire memory model. > it just clarifies edge cases, and does not change downstream C code in meaningful ways. This is exactly the same as Rust. (Again, with the small exception of soundness fixes, which, depending on impact, we sometimes leave a year of warnings in before actually changing.)
- ddevault 7y agoYes, there have been bigger C standards updates. But keep in mind: these happen maybe once per decade.
- steveklabnik 7y agoSure. This is moving the goalposts though: you initially said "when will this be finished?" It is clear that C is not finished.
- ddevault 7y agoI would strongly disagree with that. C is finished, and what they've been working on for the past decade doesn't change that. I don't think you're arguing in good faith if you claim that the C development lifecycle is even remotely comparible to the Rust development lifecycle, and I'm not going to continue entertaining this.
- steveklabnik 7y agoI don't think that you're arguing in good faith when you claim that Rust putting out new versions means "it's not done" but C putting out new versions means "it is done." My argument is not that they are comparable. My argument is that it's a difference of degree, not of kind.
- ddevault 7y agoThe difference is obviously in what kind of changes are included in each "release". C has a specification (something Rust lacks) and C18 simply clarified unclear edge cases in the standard. No new features were added. Rust releases add new features and semantics, Q.E.D.