The Furries and Big Tech want to force Rust into the Linux Kernel.
(www.youtube.com)
You're viewing a single comment thread. View all comments, or full comment thread.
Comments (51)
sorted by:
Probably all of the above. But, as someone who teaches programming, so many people have a massive hate-boner when it comes to C and C derivatives it's just absurd.
I've actually always thought C and C++ was cool because it seems much more intuitive to how data actually works in the computer. Other, more 'modern' languages seem to hide so much of the actual data manipulation that it actually seems to make less sense.
That's because you were taught under the previous paradigm, that understanding the foundations gives you a good way to filter out bad patterns.
Nowadays it's low skill programmers from india and people using AI to cargo cult good practices, and so making it dumb for them means more code gets written, which managers like, because they also don't understand code.
I can tell "new" people don't write software the way I write software. That is for sure. The level of caring about how well the software works is low, is my impression. And they dont' know how to test.
AI Cargo Cult is a good term to describe pop-sci-tech-fetishists. I wonder if we can call AI programmers "AI Cargo Cult Code Monkeys"
They hide it because C/C++ give you enough power to actually be dangerous. Modern languages are all stuck in the idiot proofing/ encounter a better idiot cycle.
I don't miss messing with pointers, but the hand holding can definitely go too far.
What's even the point of hand-holding in coding?
I grant you, there might be a language built for non-coders that you might want to do that with, but not with people who's job it is.
The hand holding is because of efficiency and security. Programmers who don't know what they are doing when allocating/freeing memory end up with memory leaks that degrade system performance. Programmers who don't know what they are doing with pointers and references can unintentionally write to restricted addresses and brick the system.
So to avoid these problems, control of garbage collection and direct memory access have been taken from the programmer, and handled under the hood for them. It is all about idiot-proofing.
C++ also results in stuff happening in unknown spots due to the C/CPP run time support needed for it. With C , it is easy to predict when code will run. C++ has things like static initializers whose code runs "I have no idea when".
In general, if you're relying on static initialization to run at a specific time or in a specific order, you've probably done something horribly wrong in your architecture.
That is true.
I just feel like you have less visibility into the asm that's going to come out of the CPP code vs the C code. I guess that's why it's higher level. For the kernel, though, that would be bad for performance and predictability. I think.
"whenever I feel like it"
Oh there is a rulebook somewhere, 1000s of pages long. I saw it in paper. Though that (C++) was not really ever my corner.
C has simplicity.
C++ has object oriented stuff that's worse than other OO programming languages. C succeeds at what it goes out to do. C++ does not. IMO.
The compilers (and linker -- the toolchain) do a lot of work to make C work as a shorthand for assembly. You have to write some assembly, anyways, for something like the Linux kernel, but you avoid a lot of it by taking advantage of properties of C like the calling convention and struct packing. I routinely need compiler extensions to make low level C code work.
C has kind of a dated syntax, but I suspect for low level usage, no other programming language is going to be effectively different. It's just writing the same story using different words.
There's an obsession with crutches for bad programmers. They are so obsessed with worrying about memory safety and such in all these new languages. How about learning and thinking how the computer works instead? Even more so, keep things simple! I hate modern programming because it's a circlejerk of how much more complicated can we do this. I was at one point considering learning Rust just for my own interest sake but I'm not wasting my time on that anymore.
I wish this would return to software design in a broader sense. Too many things these days try to do and be everything. Give me a tool that is very good at one specific thing rather than a toolbox that's a mess and is mediocre at everything.
you don't understand we NEED to make this app a separate operating system to show you a text box.