Java > Scala

dsimcha dsimcha at yahoo.com
Sun Dec 18 10:01:23 PST 2011


On 12/18/2011 2:09 AM, Walter Bright wrote:
> A programmer who doesn't know assembler is never going to write better
> than second rate programs.

I don't even know assembler that well and I agree 100%.  I can read bits 
of assembler and recognize compiler optimizations and could probably 
mechanically translate C code to x86 assembler, but I'd be lost if asked 
to write anything more complicated than a small function from scratch or 
do anything without some reference material.

Even this basic level of knowledge has given me insights into language 
design.  For example:  I'd love to be asked in an interview whether 
default arguments to virtual functions are determined by the compile 
time or runtime type of the object.  To someone who knows nothing about 
assembler this seems like the most off-the-wall language-lawyer minutiae 
imaginable.  To someone who knows assembler, the answer is obviously the 
compile time type.  Otherwise, you'd have to store the function's 
default arguments in the virtual function table somehow, then look each 
one up and push it onto the stack at the call site.  This would get very 
hairy and inefficient very fast.


More information about the Digitalmars-d mailing list