Is this a normal thought? Apparently not

Hah. I'm not writing this to sound like "someone's a badass" but I'm just starting to genuinely wonder why programming in ASM is viewed as so bad and unproductive. Any thoughts?
One reason is that assembly is very unportable. Any assembly code in a program has to be completely rewritten when it's ported to a different hardware architecture, and differences in calling conventions and such may well mean that an application program written in assembly has to be fairly heavily rewritten when ported to a different OS, even if the set of function calls it makes is exactly the same.Oranos wrote:Hah. I'm not writing this to sound like "someone's a badass" but I'm just starting to genuinely wonder why programming in ASM is viewed as so bad and unproductive. Any thoughts?
Someone already mentioned the portability issue. But I think the reason why you're going through this "phase" (which we all go through) is that what the C compiler is doing is rather opaque. Until you can get a good handle on it, it feels easier to say "screw it" and just write the code in assembler. Eventually you are forced to understand it and get too lazy to keep typing low-level code. That's when you'll start seeking out higher level options.Oranos wrote:Hah. I'm not writing this to sound like "someone's a badass" but I'm just starting to genuinely wonder why programming in ASM is viewed as so bad and unproductive. Any thoughts?
That's right. Real Men write operating systems in ALGOL!iansjack wrote:Although it proves nothing, have you considered why almost every operating system since the original Unix implementation is written in a higher level language than assembler?
iansjack wrote:Real men write operating systems in PL/1. Wimps use BCPL.