13 ms·
The thing is the kernel is kinda hurting for maintainers and opening up the path for the next generation of systems programmers (most of whom don't want to touc
by photon12 6y ago
The thing is the kernel is kinda hurting for maintainers and opening up the path for the next generation of systems programmers (most of whom don't want to touch C any more than they have to) has to be something Linus is more likely to prioritize than in previous decades.
- CommieDetector 6y ago>next generation of systems programmers (most of whom don't want to touch C any more than they have to) Then they fail to quality as the next generation of system programmers.
- bibabaloo 6y ago> The thing is the kernel is kinda hurting for maintainers Source? AFAIK the kernel is probably one of the most, if not the most, well-funded and maintained open source projects.
- novas0x2a 6y agoFrom the horse's mouth: https://www.theregister.com/2020/06/30/hard_to_find_linux_maintainers_says_torvalds/ https://www.theregister.com/2020/06/30/hard_to_find_linux_ma...
- est31 6y ago> We do not have enough maintainers. We do have a lot of people who write code, we have a fair number of maintainers, but... it's hard to find people who really look at other people's code and funnel that code upstream all the way, eventually, to my tree... It is one of the main issues we have.
- aflag 6y agoIf I read this correctly, they have a lot of contributors, but few people willing to follow through with the code so it gets all the way up to Linus' tree. I don't see how rust would really help there.
- ordu 6y agoIt could be. Maybe there will not be more reviewers, but the process of reviewing could be faster. For example, in the kernel there are inline functions, which accept a constant (known at compile time) integer argument, and they make a switch or loop over that integer. The trick is to force compiler to inline function and to throw away most of switch's cases, or unroll loop completely, or make some other optimizations based on knowledge of the passed integer value. Such a functions are exported to a public kernel API sometimes. So any kernel developer could call them. It make unavoidable a mistake of a programmer, when some of those functions was called with an unknown at compile time integer value. It is not a bug as it is, code would compile and work nevertheless, code would be bigger that it could be, maybe slower, that's all. But reviewer should be finding such a misuse of API. It is just one example, linux kernel uses a lot of tricks and exposes it via APIs, reviewer must be aware of all of them and to check everything by itself. Compare it with Rust. In rust one can encode a lot more limits on the right use of an API than in C. Encode and enforce. Even when rust sometimes cannot do it, rust have nice macros, instead of C's macro-horror. So a lot of mistakes that could be made with C, could be avoided with Rust. So it would be easy to review code, it would take less time from a reviewer to review code.
- MZLoaJ1029w 6y agoI think that is an issue which would not change with Rust. Reading other people's code is boring. Linus stated once that he got around that by retyping the code while reviewing, which is a good technique. One danger is of course the change in culture and politics should Rust actually become prevalent. But there is still BSD.
- canofbars 6y agoThis was linked on reddit and apparently what he meant was other OSS projects lack maintainers but linux is fine.
- The_rationalist 6y agoI would argue that chromium is slightly more funded
- Glavnokoman 6y agoI for one do not want to touch Rust more than I have to.
- erk__ 6y agoWhy do you have this opinion on Rust compared to C?
- ClumsyPilot 6y agoBut are you the target audience - a C developer contributing, or at least considering contributing, to the Linux kernel?
- MrBuddyCasino 6y agoHow would requiring learning Rust, which is famously difficult, be the solution to that problem?
- xiphias2 6y agoWriting safe C and C++ is even much more difficult than writing Rust code (especially with many developers). And when you are writing kernel code, both safety and performance are crucial.
- MrBuddyCasino 6y agoThe problem seems to be to find people who do not just want to write code, but do the administrative parts: "We do not have enough maintainers. We do have a lot of people who write code, we have a fair number of maintainers, but... it's hard to find people who really look at other people's code and funnel that code upstream all the way, eventually, to my tree... It is one of the main issues we have."
- nickez 6y agoFinding people willing to review rust must be much easier than finding someone willing to review c.
- xiphias2 6y agoActually I think the answer is yes, as Rust is much stricter to the person who's contributing the code. If I was asked to review another person's code, I would much prefer reviewing Rust code, as I would be able to concentrate on the logic and the efficiency of the code instead of potential low level mistakes. The code smell in Rust is usually marked with ,,unsafe'', Boxing / reference counters, or dynamic behaviour, which is very easy to search for.
- verdagon 6y agoIs reference counters really a smell? I thought it was the main way to write Rust when the borrow checker is too strict for something you want to do. Vec + generational indices might be the other way, is that preferred over Rc?
- atq2119 6y agoThe kernel isn't hurting for developers though. I don't see how a different programming language would help improve the ratio of maintainers vs developers.