Sono approfondito con la programmazione e ho incontrato lingue come BASIC, FORTRAN, COBOL, LISP, LOGO, Java, C ++, C, MATLAB, Mathematica, Python, Ruby, Perl, JavaScript, Assembly e così via. Non riesco a capire come le persone creano linguaggi di programmazione e inventano compilatori per questo. Inoltre non sono riuscito a capire come le persone creano sistemi operativi come Windows, Mac, UNIX, DOS e così via. L'altra cosa che per me è misteriosa è come le persone creano librerie come OpenGL, OpenCL, OpenCV, Cocoa, MFC e così via. L'ultima cosa che non riesco a capire è come gli scienziati escogitano un linguaggio assembly e un assemblatore per un microprocessore. Mi piacerebbe davvero imparare tutte queste cose e ho 15 anni. Ho sempre desiderato essere un informatico come Babbage, Turing, Shannon o Dennis Ritchie.
Ho già letto Aho's Compiler Design e il libro sui concetti del sistema operativo di Tanenbaum e tutti discutono solo di concetti e codice ad alto livello. Non entrano nei dettagli e nelle sfumature e come escogitare un compilatore o un sistema operativo. Voglio una comprensione concreta in modo che io possa crearne una io stesso e non solo una comprensione di cosa sia un thread, un semaforo, un processo o un'analisi. Ho chiesto a mio fratello di tutto questo. È uno studente SB in EECS al MIT e non ha idea di come effettivamente creare tutte queste cose nel mondo reale. Tutto ciò che sa è solo una comprensione dei concetti di Compiler Design e OS come quelli che voi avete menzionato (cioè Thread, Sincronizzazione, Concurrency, gestione della memoria, Analisi lessicale, Generazione di codice intermedio e così via)