Semplice: il mio post serve a ribadire che se proprio hai bisogno di sporcarti le mani, c'è sempre il C, il resto si può fare anche senza scendere "in basso".
Di solito si cerca sempre di fare astrazione dal funzionamento particolare della macchina e risolvere solo il "problema" al livello logico (è ciò che un programmatore teoricamente fa). Se poi uno ne ha bisogno, si studia anche il funzionamento della macchina e ci si appoggia ad un linguaggio di più basso livello per fare ciò che si deve fare. Ma uno che sta iniziando a programmare non vuole impelagarsi in questa robaccia, sono cose che studierà a tempo debito: con il C puoi imparare a programmare, ma non è necessario partire dal C. Soprattutto, se vuoi imparare il C#, è praticamente inutile imparare il C, stai buttando il tuo tempo.