My comment is not about changing the language but about the fact that whenever we rewrite it, we improve the quality because of the lessons learned during past iterations.
> My comment is not about changing the language but about the fact that whenever we rewrite it, we improve the quality because of the lessons learned during past iterations.
So many developers have said this over the years but it almost never comes true.
You just end up with different bugs in a different language.
I dunno why I misread "write in any language" with "write in another language".
I'm still skeptical about rewriting - the bluetooth spec is notoriously buggy itself, and many "bugs" and glitches in BT are due to how poorly the spec is written.
I'm not too sure I agree that the spec itself is buggy, certainly the implementations vary wildly from Sony almost doing their own thing to Chinese off the shelf copy pasting whatever makes a noise.
That said I have worked extensively with Bluetooth within Ericsson and while there is a learning curve, I never found the spec to be lacking.
Your last sentence is exactly what I was thinking. The problem with BT isn't necessarily on the kernel's bluetooth driver. The spec is buggy and also a lot of makers of bluetooth devices don't implement the spec properly. But the spec itself isn't spectacular to begin with.
A rewrite might simply make it more resilient through changes in the base architecture. However, I know nothing about Linux's bluetooth stack and I assume that it's probably taking into account a lot of those glitches already.
That highly depends on who is doing the rewriting and whether they were involved in writing the current system. If someone new starts rewriting the system in a memory safe language then it's quite likely they will make many of the same mistakes the original author did.
Debatably, as language rewrites can bring their own problems. Especially with a newer language like Rust that lacks experienced eyes to review. You get more benefit rewriting the bluetooth drivers in their current languages.