Is the world coming to an end?

Walter Bright newshound2 at digitalmars.com
Sun Apr 3 11:03:54 PDT 2011


On 4/3/2011 2:39 AM, Ulrik Mikaelsson wrote:
> If you're looking for uncommonly used language-features that could
> easily be otherwise solved, go ahead and remove asm instead. I'll
> guess it's about as uncommon as octal literals (or maybe even more),
> have simple other solution (just compile it separately and link), and
> has much greater impact on the language and the compiler.

I've done assembler the old fashioned way - a separate .asm file assembled with 
masm and linked in - for years. Having the inline assembler is an ENORMOUS 
productivity improvement. Just a few off the top of my head:

1. MASM's syntax changes unpredictably from version to version. I'd get a lot of 
grief from customers with "this doesn't assemble with *my* version of MASM", or 
"I don't have MASM".

2. Different assemblers have utterly different syntax - see MASM and GAS.

3. MASM can't read struct declarations, meaning you now have parallel 
declarations that manually must be synced.

4. MASM doesn't understand C++ or D name mangling.

5. Can't mix MASM files and D code in the same function.

6. Can't access D manifest constants from MASM.

7. D takes care of local variable stack addressing modes for you.

8. I can't fix MASM bugs.

9. And Adam's comments.


More information about the Digitalmars-d mailing list