While C++ includes a lot of useful classes, templates and functions, the actual operation of any given algorithm basically comes down to a few keywords, like if, else, for, while, new, delete, etc,.
Now, with those basic keywords, it seems that almost any imaginable algorithm or procedure is possible. But isn't there one big exception? Isn't it basically impossible, using C++ or C, to write code that directly manipulates specific computer hardware such as video cards, ethernet cards, etc?
I realize there are libraries to do just that, like the C socket library and such, but aren't those libraries written in assembly with machine-specific code? Wouldn't it be impossible to write a program from scratch, in C++, using ONLY basic C++ keywords and without including inline assembly code, that accesses specific hardware?