4 ms·
I empathise. It's important in any large software project try to converge on one right way to do something, because inconsistency is bad for maintainability. T
by mherkender 2y ago
I empathise. It's important in any large software project try to converge on one right way to do something, because inconsistency is bad for maintainability.
That being said, change is inevitable, so this desire for maintainability can't prevent all change.
It's a shame they couldn't find a way to balance these things.
- gnfargbl 2y agoI also empathise, for the same reasons. Co-incidentally, I was just listening to the radio, where a former BP strategy employee was pinning the failure of BP's "Beyond Petroleum" strategy squarely on the difficulty of a company that is built to do activity X pivoting to also do (competing) activity Y. The recommended solution there was to spin off a new entity focused entirely on Y. It's hard not to draw a parallel.
- jauntywundrkind 2y agoThe kernel did find a way to balance these things. Nothing is being rewritten in rust (nothing core, some modest drivers have been). Hellwig didn't have to worry about Rust at all, could have kept doing his thing. If we accept this as the core concern: > Having worked on codebase like that they are my worst nightmare, because there is a constant churn of rewriting parts from language A to language B Then he has no need to fear, nothing in the foreseeable would have affected him in any way. He didn't like that he didn't have control over what other people elsewhere were doing. But there was an extremely generous balance offered him, to be utterly unaffected in any way. And that wasn't good enough for him.
- mherkender 2y agoYou're not wrong, but if one of the main Rust proponents and one of the main anti-Rust proponents both quit, that doesn't strike me as them finding balance.
- wakawaka28 2y agoChange is not inevitable in this lol. We all speak English here despite the fact that the language has many nits to pick. There's no inherent reason why C needs to be abandoned because some new thing came along and solves a few of the associated nits. C++ was never used for the Linux kernel despite the fact it solves many of C's problems and is far easier to integrate than Rust. Integration of Rust is a pet project that Linus and others have taken an interest in, not some absolutely groundbreaking or necessary change.
- dwattttt 2y agoIn a similar vein, there's no inherent reason to use a calculator over doing calculations on paper. Ever seen a paper run out of battery?
- wakawaka28 2y agoThe difference between C++ and Rust is more akin to the difference between a standard pencil and a mechanical pencil lol. Also: >In a similar vein, there's no inherent reason to use a calculator over doing calculations on paper. Improved speed and reduced mental overhead are the main reasons people use calculators, not accuracy. This is because you can use any tool such as a calculator (or programming language) incorrectly. I used to hear that the difficulty of relating CPU instructions to lines of C++ was the reason it wasn't suitable for the kernel. Now, all that has gone out the window (as Rust is definitely no simpler than C++), and they're making changes to the Rust language to suit the kernel application (as opposed to using something tried and true). It's a bad idea, but I expect it to be carried out to the point of absurdity.