C is the hardware language N°1 of the high-level languages. If you actually want to know and control what happens in the machine, you write in C. Rust, C++ and all the other abstractions are for people who do not understand how computers and computer memory work.
even if you write in assembly, you still may not actually understand what is going on in the machine since processors convert the instructions to “micro-ops”, and let’s not forget hardware bugs like those caused by speculative execution
This is a misconception that’s common among beginner C programmers. They think C is high level assembly and don’t understand the kinds of optimisations modern compilers make. And they think they’re hardcore and don’t make mistakes.
I’ve written programs in C. I’ve written programs in assembly, for x86 and for microcontrollers. I’ve designed digital logic and programmed it into an FPGA. I’ve built digital logic circuits with transistors.
I’ll still take Go over C any day of the week. If I’m doing embedded, I’ll use TinyGo.
Programming languages are tools. I couldn’t care less about learning a new tool just for the sake of learning. My interest in learning tools is exclusively practical - if they help me do my work better.
I find functional languages interesting, but that’s because I find the underlying theory interesting and worth learning for its own sake, not because I actually care about the specific language it’s written in. Even then these days I’d rather learn about woodworking (which is currently my main hobby) than a programming paradigm I’m probably never going to use.
C is the hardware language N°1 of the high-level languages. If you actually want to know and control what happens in the machine, you write in C. Rust, C++ and all the other abstractions are for people who do not understand how computers and computer memory work.
Edit: grammar
even if you write in assembly, you still may not actually understand what is going on in the machine since processors convert the instructions to “micro-ops”, and let’s not forget hardware bugs like those caused by speculative execution
This is a misconception that’s common among beginner C programmers. They think C is high level assembly and don’t understand the kinds of optimisations modern compilers make. And they think they’re hardcore and don’t make mistakes.
Hope you figure it out eventually.
I’ve written programs in C. I’ve written programs in assembly, for x86 and for microcontrollers. I’ve designed digital logic and programmed it into an FPGA. I’ve built digital logic circuits with transistors.
I’ll still take Go over C any day of the week. If I’m doing embedded, I’ll use TinyGo.
Try Rust
Not everyone is on the Rust bandwagon
Have you tried putting some WD40 on it?
Why? I see no reason to go through the hassle of learning yet another language when Go serves my purposes perfectly and I’m happy with it.
Same reason as learning anything. It makes you better at what you do and broadens your horizons.
I’d rather spend my free time doing something I enjoy
You don’t enjoy learning?
Programming languages are tools. I couldn’t care less about learning a new tool just for the sake of learning. My interest in learning tools is exclusively practical - if they help me do my work better.
I find functional languages interesting, but that’s because I find the underlying theory interesting and worth learning for its own sake, not because I actually care about the specific language it’s written in. Even then these days I’d rather learn about woodworking (which is currently my main hobby) than a programming paradigm I’m probably never going to use.
CPUs are for people who don’t know how to melt their own sand into transistors.
Sand is for people who don’t know how to create their own silicon from hydrogen and a neutron emitter.
I wrote loads of firmware in c++ and some on highly constrained boards. You’re just stuck in the past and spewing bs
EL MAO
The obvious bait
CC BY-NC-SA 4.0
Forth is more like the real hardware language.