Mit nichten. ich kann zwar ASM, brauch dazu aber meist die docu dazu. viel zu viele befehle, alle HW abhänging, und überal gibts kleine aber gemeine stolpersteine. Big Endian, Litel Endian, ( arm kann beides ) RISC CISC Befehlssätze, .... Aber wozu hat man den die hochsprachen geschaffen? genau deswegen. Komplexe abläufe so einfach wie möglich beschreiben zu können. Es geht ja sogar mitlerweile noch viel weiter, Model Driven Development, OOP, Aber das sollte dir ja bekannt sein.
Was dein Problem ist, das dein compiler standart libs mit einbindet. Das die in deinem os vorhanden sein müssen stimmt nicht, sie werden ja dazugelinkt. es ist eher so, das die dafür notwendigen DLLs nicht vorhanden sind, bzw auf betriebsytem spezifische sachen zugegriffen wird. in etwa so wie wenn du eine .Net verteilst. Das .Net Framwork muss installiert sein, sonst gehts nicht.
Bei C/C++ kann man das halt ausschalten. In c ist es sogar so, das die sprache an sich nur ihren syntax kennt, und alles was darin geschrieben wird platform unabhängig ist. alle zusätzlichen Funktionen wie z.B. Printf, scannf, ... müssen alle erst über einen Include hinzugefügt werden. Bei c++ machen new und delate eine ausnahme. sie sind Sprachbestandteil, der eine Platformspezifische implementierung benötigt. Aber solang man sie nicht verwendet, braucht man sie auch nicht zu implementieren.
Aber jede sprache hat seine vor und nachteile, und somit seine bereiche in der IT wo sie punkten können. Fortran obwohl es schon sehr alt ist, findet im bereich ströhmungssimulation noch anwendung, und überal da, wo Mathematik im fordergrund steht.
gruss