Sono un po 'nuovo nella programmazione e il modo migliore in cui posso porre questa domanda è con un esempio.
So come fare le cose di base in Java e C #. Cose come una piccola applicazione per moduli Windows o creare una classe generica. In pratica ho imparato e non ho ancora provato a fare qualcosa di grosso. Ad ogni modo, sono sempre stato curioso di sapere come si fanno le cose "sotto il cofano", immagino che si possa dire.
So che tutto viene ridotto a 1s e 0s e che i linguaggi di assemblaggio in pratica danno comandi ai pattern di 1s e 0s, ma sembra che ci sia questo salto da lì per: usare una libreria per questo una libreria per quello. Mi sembra che tutto ciò che C # possa fare a meno di una libreria sia aritmetica e logica binaria. Per ottenere input o output, usi le librerie, ecc ...
So che questa domanda probabilmente sembra ovvia ad alcuni e so che ho molto da imparare ma non so nemmeno da dove cominciare con una domanda come questa. Grazie.
Quindi la mia domanda è questa:
Se qualcuno stesse per creare una macchina virtuale o un emulatore di Playstation, un sistema operativo o un driver, o aggiungere il supporto mp3 a un lettore multimediale o creare il proprio tipo di file, ecc ... Come? Non riesco a vedere come si farebbe con C # o Java.
In altre parole, se leggessi un libro come Professional C # di WROX o Programming C # di OReilly, saprei come fare queste cose? Oppure devi imparare il linguaggio assembly o qualcosa di più basso livello come C ++?