New slides about Go

Paulo Pinto pjmlp at progtools.org
Fri Oct 15 02:17:49 PDT 2010


Still most modern languages are moving away from inline assembly.

Even Microsoft has dropped inline assembly support for the 64bit version of 
Visual C++, pointing
developers to MASM.

People will always complain no matter what. Just use the official assembler 
for the target platform.

Personally the last time I used inline assembly I was still target MS-DOS, 
long time ago and actually
it is one of the features I don't like in D.

--
Paulo

"Walter Bright" <newshound2 at digitalmars.com> wrote in message 
news:i98ub5$2bk7$1 at digitalmars.com...
> Yeah, and I've done that. It doesn't work out as well as you say, nor is 
> it that easy. Problems:
>
> 1. You have to reimplement it for every platform and every memory model.
> 2. For some systems, like Windows, there are a wide variety of assemblers. 
> They all use slightly different syntax. Distributing an asm file means an 
> *unending* stream of complaints from people who don't have an assembler or 
> have a different one than yours.
> 3. Getting all the boilerplate segment declarations right is a nuisance.
> 4. Name mangling.
> 5. Next your asm code all breaks when you want to recompile your app as a 
> shared library.
> 6. Asm files are a nightmare on OSX.
>
> A language should be there to solve problems, not create them :-)
>
> Paulo Pinto wrote:
>> Easy, just implement a small assembly funtion.
>>
>> Not everything has to be in the language.
>>
>> "Walter Bright" <newshound2 at digitalmars.com> wrote in message 
>> news:i984lr$odj$3 at digitalmars.com...
>>> Walter Bright wrote:
>>>> It's hard to see how to implement, say, a storage allocator with no 
>>>> pointer arithmetic.
>>> Here's another one. Try implementing va_arg without pointer arithmetic.
>> 



More information about the Digitalmars-d mailing list