bro!! YT is hiding your comment! I had to dig around for a long time to find this, today I'll do another video covering this section!! things really went sideways here!!!
watched the video linked by @romanstingler435 and that was a heated topic. It seemed like the Rust speaker was just trying to keep up with the C changes. And that was it. Hostile C developers wow!
@@dario.lencina YT doesn't like me :) I am no C guy only beginner Rust coder. I do PHP for a living and I have a more calm opinion. I get that C devs want to keep it as it is, because they have thousands of tools specifically for building/developing the Kernel. Whether it is some memory checks or other special tools for sanity checks. Integrating Rust, adds more edges, more code, with potential to have more places where things can fail, and additional work if fundamental changes are required to an API. Furthermore, building the Kernel should be possible offline, how do you solve the issue with the Rust crates? Bundle the code? Probably not going to happen. There are multiple valid questions from the C guys. GCC is not ready yet. Nobody wants multiple compilers. The Rust part, it is fairly new(in comparison to the C code), and it will take years to integrate just parts of the Kernel parts. It is way too early to judge if it will work or not. I guess another fear of the C devs is that they think they will be replaced, or "their" code, I guess they don't see it as it is. Rust just wants to add parts as a Rust alternative, in the beginning to be able to have people to test the Rust implementation and then having a rational discussion how the Rust implementation works, how stable it is, what parts of C it has to rely on and if there are possible further steps in the future. My guess would be that the Rust Team should focus on the driver side FOR NOW and leave the low-level kernel to the C devs, if they don't like it. There are so many places where a Rust ecosystem in the Kernel has to be built. I would try building some sample driver implementations like networking, Bluetooth (These tend to have overflows from time to time) and find big companies who start writing their drivers in Rust. This would increase the pressure that more and more parts of the Kernel will integrate Rust with time. I would try the path with the least resistance just to get a good amount of Rust into the Kernel and after a while when Rust has proven to be no enemy, the resistance will go down periodically. BTW, Dario You are doing a great job.
I think most people get stuck on the whole "my sports team is better than yours" aspect, instead of just using the right tool. Just as an employee gets annoyed when their process is disrupted, so are the veterans of most projects. They feel comfortable with their ways, and do not want to change to the "newfangled" way. And the C people got annoyed because the new people were trying to understand the project, and build upon it. I think this is why people need to learn multiple languages.
indeed!! Like @romanstringler435 pointed out, look at how ignorant the C zealots are regarding rust, ua-cam.com/video/WiPp9YEBV0Q/v-deo.htmlsi=bcRLmvKoXNBlr_18&t=1558 they do not even understand the fundamentals of rust (they thought that Rust had inheritance like C++), they use the classical elitist bs about "second class citizenship" argument. I HAVE to do a follow up.
If i understand correctly the problem was the fact that the "C" developers don't want to document their functions so the rust can correctly integrate with "C" libraries. thx.
@@dario.lencina and this is straight up a lie. It is the Rust developers who proposed a breaking change that would destroy user space for the sake of allowing their custom API to work on the kernel without adjusting themselves to the entire codebase that already exists and has been programmed for decades on end... it is them who demanded that the C devs maintain their changes by now having to mantain both the C side and the Rust side. When they were called out on that, they responded by saying that fine, then they would handle the Rust side, but then they'd be forcing the C devs to wait for weeks on end for the Rust people to get up to speed with the changes on the C side to be able to even test the changes without breaking everything. If we're going to make a compromise, both sides should be part of it, no? You can't just butt it with your own ideas and expect everyone else to adapt to you, you should at least try to adapt to everyone else too.
The problem is that Rust "programmers" cannot, fundamentally, understand C language. Imagine trying to rewrite parts of a complex system that you can't even understand.
@@Doctom91 80% errors in windows are memory leaks from language C(++)... So C programmers understand very well C language! 🤣🤣 The last BSOD crippled aviation. Do you understand the need for stable kernel? Have you ever seen kernel panic? I see that in linux many times.
i respect c and older developer like linus, that use what they have that day to give huge impact for us nowdays, c is great language no doubt about that, we always standing on the shoulder of giants, is it rust giving us a huge impact today ? i dont know, because younger developer dont have level of commitment like older generation, thats a fact.
@@dario.lencina isn't it also true that the Rust developers didn't want to work within the existing expectations / culture of the kernel? That would also be a non-starter, no? The Rust maintainer said he didn't want to work on "nontechnical nonsense" (e.g. documentation), which is important for a project of any size (esp. Linux). One can't just come in and complain that no one wants to play with your subsystem -- you have to make it worthwhile enough to convince others to use it. Also, any new technology should be treated as a 2nd class citizen until it has been proven to enhance the kernel, which isn't a new concept to the project.
@@hi_arav "Nontechnical nonsense" was not about documentation, it was about the constant drama. Hell, one of the major complains about the C codebase is the lack of documentation. Unless you mean how the Rust developers had to retroactively make documentation for the C code.
Survivorship bias. Of course all successful programmers like Linus are committed. The ones with commitment get remembered. Always in human history, the exceptional people were few. That is why we call them exceptions.
It is mate! But I am afraid that due to the cultural differences, we are about to see a hard fork of the linux kernel with the mission to obliterate C from the face of the world 🌎
C is simple and thats its strength, I have been using C for 40 years and never had an issue with pointers, or arrays or pointers to arrays or any other variation for that matter. Some parts of C++ are useful, but a lot is just C++ comittee, vested interest function bloat gobble-d-goop syntatic/semantic nightmare. Scott Meyers gives about 40 pages on how to use smart pointers correctly ??, really, if you need 40 pages to explain how to use smart pointers and their issues, then thats about 38 pages too many. Its an own goal. C is a language you can hold in your head, a bit like one of the design goals of Go. Mixing languages in a kernel, any kernel is just not a good idea and will end in tears, as it is.
@@dario.lencina I know that’s right. I do some embedded work, and C just feels right. At the same time, rust is great. We finally have a memory safe language that works for systems programming. It may not be as simple or intuitive as Go, but it’s damn fast. The hate needs to stop! lol.
js developer also hate ts unless they get comfortable with ts. same goes for them. people will hate rust unless they get comfortable in rust. just like ts. rust offers more. and can get rid of 100% memroy bug. so why hate if you are not comfortable with it. i made a best choice learning.
100% this. In order to be able to say something is terrible, you first need to understand that something in order to know which parts of the whole make it horrible. You can't just say it's bad based on impression you got from seeing 2 snippets and watching YT videos. Only once you've experimented with a language, to the point where you have a list of features you expect that language to have but it doesn't, can you say it's bad.
Tried to use rust in some simple projects in the past and didn't really like it all that much, eventually I went back to c++. A couple days ago I tried rust again and fell in love. I was unfamiliar with the different paradigms that rust follows which probably caused me to avoid it at first.
@@dario.lencina I'm currently working on a Terraria clone in Rust using Macroquad. I've tried it in c++ with sdl2 opengl and quickly ran into maintainability issues. That specific issue may be because of a lack of experience, but for me, rust has been way easier for me to get into syntax and paradigm wise now. Giving rust a shot is probably going to be one of the best things I've done educational wise.
I consider C code to be difficult to read and write. I've only used it for very simple things. However I don't think one s got to talk shit about it because it is old and not trendy or worse, because you are not good at it. C is king, C is actually more portable than java and c#. it works faster. There is nothing it can't do. Drivers, OS, games, AAA games, embedded systems.
Dario one of the turning points
ua-cam.com/video/WiPp9YEBV0Q/v-deo.htmlsi=bcRLmvKoXNBlr_18&t=1558
bro!! YT is hiding your comment! I had to dig around for a long time to find this, today I'll do another video covering this section!! things really went sideways here!!!
watched the video linked by @romanstingler435 and that was a heated topic. It seemed like the Rust speaker was just trying to keep up with the C changes. And that was it. Hostile C developers wow!
Yes! This first class vs second class citizenship argument is as toxic as it gets, if Linux was a corporation, that c dev would be fired
@@dario.lencina YT doesn't like me :)
I am no C guy only beginner Rust coder. I do PHP for a living and I have a more calm opinion.
I get that C devs want to keep it as it is,
because they have thousands of tools specifically for building/developing the Kernel. Whether it is some memory checks or other special tools for sanity checks.
Integrating Rust, adds more edges, more code, with potential to have more places where things can fail, and additional work if fundamental changes are required to an API.
Furthermore, building the Kernel should be possible offline, how do you solve the issue with the Rust crates? Bundle the code? Probably not going to happen. There are multiple valid questions from the C guys. GCC is not ready yet. Nobody wants multiple compilers.
The Rust part, it is fairly new(in comparison to the C code), and it will take years to integrate just parts of the Kernel parts. It is way too early to judge if it will work or not.
I guess another fear of the C devs is that they think they will be replaced, or "their" code, I guess they don't see it as it is.
Rust just wants to add parts as a Rust alternative, in the beginning to be able to have people to test the Rust implementation and then having a rational discussion how the Rust implementation works, how stable it is, what parts of C it has to rely on and if there are possible further steps in the future.
My guess would be that the Rust Team should focus on the driver side FOR NOW and leave the low-level kernel to the C devs, if they don't like it. There are so many places where a Rust ecosystem in the Kernel has to be built. I would try building some sample driver implementations like networking, Bluetooth (These tend to have overflows from time to time) and find big companies who start writing their drivers in Rust.
This would increase the pressure that more and more parts of the Kernel will integrate Rust with time.
I would try the path with the least resistance just to get a good amount of Rust into the Kernel and after a while when Rust has proven to be no enemy, the resistance will go down periodically.
BTW, Dario You are doing a great job.
i’ll side with C on this crusade. Holy C.
Welcome to the family comrade🎉.
C C C C CCCCCCCCCC
@@bandr-dev
RIP Terry Davis.
Guys you do not necessarily have to pick sides, you can be proficient at both languages 🏋️♀️🏋️♀️
I think most people get stuck on the whole "my sports team is better than yours" aspect, instead of just using the right tool. Just as an employee gets annoyed when their process is disrupted, so are the veterans of most projects. They feel comfortable with their ways, and do not want to change to the "newfangled" way. And the C people got annoyed because the new people were trying to understand the project, and build upon it. I think this is why people need to learn multiple languages.
indeed!! Like @romanstringler435 pointed out, look at how ignorant the C zealots are regarding rust, ua-cam.com/video/WiPp9YEBV0Q/v-deo.htmlsi=bcRLmvKoXNBlr_18&t=1558 they do not even understand the fundamentals of rust (they thought that Rust had inheritance like C++), they use the classical elitist bs about "second class citizenship" argument. I HAVE to do a follow up.
Isn't adding rust to the kernel the same as adding complexity to the code?
To some degree yes, rust type system is objectively more complex than c. The reward on the other end is huge too!
If i understand correctly the problem was the fact that the "C" developers don't want to document their functions so the rust can correctly integrate with "C" libraries. thx.
Yes! And they want to reserve the right of breaking the rust bindings without even attempting to fixing them!! This is straight up disrespectful
@@dario.lencina and this is straight up a lie. It is the Rust developers who proposed a breaking change that would destroy user space for the sake of allowing their custom API to work on the kernel without adjusting themselves to the entire codebase that already exists and has been programmed for decades on end... it is them who demanded that the C devs maintain their changes by now having to mantain both the C side and the Rust side. When they were called out on that, they responded by saying that fine, then they would handle the Rust side, but then they'd be forcing the C devs to wait for weeks on end for the Rust people to get up to speed with the changes on the C side to be able to even test the changes without breaking everything. If we're going to make a compromise, both sides should be part of it, no? You can't just butt it with your own ideas and expect everyone else to adapt to you, you should at least try to adapt to everyone else too.
Don’t worry mate, revolution is unstoppable.
The problem is that Rust "programmers" cannot, fundamentally, understand C language. Imagine trying to rewrite parts of a complex system that you can't even understand.
@@Doctom91 80% errors in windows are memory leaks from language C(++)... So C programmers understand very well C language! 🤣🤣 The last BSOD crippled aviation. Do you understand the need for stable kernel? Have you ever seen kernel panic? I see that in linux many times.
i respect c and older developer like linus, that use what they have that day to give huge impact for us nowdays, c is great language no doubt about that, we always standing on the shoulder of giants, is it rust giving us a huge impact today ? i dont know, because younger developer dont have level of commitment like older generation, thats a fact.
I am down for respect, but some c zealots want to threat rust devs as second class citizens within the kernel, that is fundamentally a non starter.
@@dario.lencina hahah i could accept thats so human :))
@@dario.lencina isn't it also true that the Rust developers didn't want to work within the existing expectations / culture of the kernel? That would also be a non-starter, no? The Rust maintainer said he didn't want to work on "nontechnical nonsense" (e.g. documentation), which is important for a project of any size (esp. Linux). One can't just come in and complain that no one wants to play with your subsystem -- you have to make it worthwhile enough to convince others to use it.
Also, any new technology should be treated as a 2nd class citizen until it has been proven to enhance the kernel, which isn't a new concept to the project.
@@hi_arav "Nontechnical nonsense" was not about documentation, it was about the constant drama. Hell, one of the major complains about the C codebase is the lack of documentation. Unless you mean how the Rust developers had to retroactively make documentation for the C code.
Survivorship bias. Of course all successful programmers like Linus are committed. The ones with commitment get remembered. Always in human history, the exceptional people were few. That is why we call them exceptions.
*Holy C
Terry Davis R.I.P
He is the TempleOS guy right?
@@dario.lencina yes he is
Imagine how much we would progress as a community, shit maybe even a species, if rust and c devs worked toether
Amen ^^
Rust in linux kernel is huge advancement. Rust compiler helps prevents common errors. This sounds like a win
It is mate! But I am afraid that due to the cultural differences, we are about to see a hard fork of the linux kernel with the mission to obliterate C from the face of the world 🌎
C is simple and thats its strength, I have been using C for 40 years and never had an issue with pointers, or arrays or pointers to arrays or any other variation for that matter. Some parts of C++ are useful, but a lot is just C++ comittee, vested interest function bloat gobble-d-goop syntatic/semantic nightmare. Scott Meyers gives about 40 pages on how to use smart pointers correctly ??, really, if you need 40 pages to explain how to use smart pointers and their issues, then thats about 38 pages too many. Its an own goal.
C is a language you can hold in your head, a bit like one of the design goals of Go.
Mixing languages in a kernel, any kernel is just not a good idea and will end in tears, as it is.
literally the only person in this comment section who actually has a functioning brain. Thank you.
Classic elitist c behavior
@@dario.lencina Not at all. I didnt mention Rust once, good or bad. I was talking about C and C++, I thihnk maybe your brain is a bit Rusty (sic).
lol, you did not disappoint :)
I got called a boomer for liking the C language (I’ve done rust projects, I just like C). I’m 33. That hurt my feels.
Ageism sucks brother. I relate to what you are saying. I love both C and Rust, I do not understand why we need to chose one and obliterate the other?
@@dario.lencina
I know that’s right. I do some embedded work, and C just feels right. At the same time, rust is great. We finally have a memory safe language that works for systems programming. It may not be as simple or intuitive as Go, but it’s damn fast. The hate needs to stop! lol.
@@MarcusHCrawfordNice try boomer. This is yours --> ♿️
@@RustIsWinning
What a loser. What are you, 8?
js developer also hate ts unless they get comfortable with ts. same goes for them. people will hate rust unless they get comfortable in rust. just like ts. rust offers more. and can get rid of 100% memroy bug. so why hate if you are not comfortable with it. i made a best choice learning.
100% this. In order to be able to say something is terrible, you first need to understand that something in order to know which parts of the whole make it horrible. You can't just say it's bad based on impression you got from seeing 2 snippets and watching YT videos. Only once you've experimented with a language, to the point where you have a list of features you expect that language to have but it doesn't, can you say it's bad.
Tried to use rust in some simple projects in the past and didn't really like it all that much, eventually I went back to c++. A couple days ago I tried rust again and fell in love. I was unfamiliar with the different paradigms that rust follows which probably caused me to avoid it at first.
This is a great comment! So many people dismiss rust without even trying it for realz!!
@@dario.lencina I'm currently working on a Terraria clone in Rust using Macroquad. I've tried it in c++ with sdl2 opengl and quickly ran into maintainability issues. That specific issue may be because of a lack of experience, but for me, rust has been way easier for me to get into syntax and paradigm wise now. Giving rust a shot is probably going to be one of the best things I've done educational wise.
I consider C code to be difficult to read and write. I've only used it for very simple things. However I don't think one s got to talk shit about it because it is old and not trendy or worse, because you are not good at it. C is king, C is actually more portable than java and c#. it works faster. There is nothing it can't do. Drivers, OS, games, AAA games, embedded systems.
I agree with you, did you even watch the video mario?
C = 🐐
C = 🐐