Can confirm they do. I worked at a company that was producing control systems for electric engines. Great environment and fun job but the code was beyond redemption. 15k line files with 2k+ lines #ifdef statements that ran different code for different customers, some variable names were just curses against pushy clients, not a single abstraction in sight.
Not only they exist, they power massive machines that could crush a person in the blink of an eye.
D's machine model does actually assume the hardware, and using the compile time metaprogramming you can pretty much do whatever you want when it comes to bit twiddling - whether that means assembly, flags etc.
That's not an argument, that's a truism. You can make working (complex) software using nothing but machine code keyed into volatile memory via front-panel switches.
I doubt, and rightfully so anyway. It's a full system, you need to operate it, not to dissect and build upon. Same like your car on-board computer, you don't have access to its source code, you only need how to steer the car on your way to work and back.
Not to split hairs but writing machine code is programming. I'm not sure what you're thinking about as "hardware manipulation". Programming is just one (and a very important one) part of what it takes to be a "software engineer" (or software developer, or whatever you want to call having skills to deliver, or be part of a team that delivers, major software projects).
Yep, exactly right. The hardware is capable, but the software hasn't been created. Just like the original link - the hardware will (probably) provide enough input data to allow software to do all these cool things, but it's not been done yet and production code is a very long way from what is outlined.
reply