Answer from cs61c-ck (Allen Lee 16583554) for Question 2 I think for the typical C programmer, having the compiler perform all the work of the assembler and linker doesn't have much impact because the typical C programmer probably just wants his/her code compiled and ready to execute right away. However, if the programmer were an assembly expert, such a compiler would prevent him/her from optimizing the low level assembly before linking and loading.