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.
I hear you on C++, though. C++ was a mistake from the beginning, but a good learning experience for the industry. Java implemented the OOP design that was desired, but the industry zietgiest is starting to realize that we were all a bit too zealous for what OOP offered. (Which really just amounts to formalizing a number of encapsulation structures that will continue to be useful in the future.) The next generation of languages is modern functional languages which take the event-based programming model already used in OSes and promote it to The Way All Things Are Done(TM).
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?
That's right. Real Men write operating systems in
ALGOL!
(Sorry to bust your chops. I just couldn't resist.
)