He estado programando durante ... 6-> 8 años, y he empezado a darme cuenta de que realmente no sé lo que realmente sucede en el nivel bajo cuando hago algo como¿Qué tema de informática estoy tratando de describir?
int i = j%348
El problema es que sé lo que hace j% 348, divide j por 348 y encuentra el resto. Lo que no sé es CÓMO la computadora hace esto.
Del mismo modo, sé que
try
{
blah();
}catch(Exception e){
blah2();
}
invocarán blah
y si bla lanza, invocará blah2
... sin embargo, no tengo ni idea de cómo la computadora hace esto en vez de err ... que se caiga o terminando la ejecución.
Y me imagino que para poder "mejorar" la programación, probablemente debería saber lo que mi código realmente está haciendo. [Esto probablemente también me ayude a optimizar y ... errar ... no hacer cosas estúpidas]
Me imagino que lo que estoy pidiendo es probablemente algo enorme que se enseña en las universidades o algo así, pero para ser sincero, si Podría aprender un poco, sería feliz.
El objetivo de la pregunta es:
¿Qué tema/ciencias de la computación curso estoy preguntando? Porque honestamente, no sé.
Como no sé cómo se llama el tema, no puedo encontrar realmente un libro o un recurso en línea para aprender sobre el tema, así que estoy algo atrapado. Estaría eternamente agradecido si alguien me ayudó =/
+1 para ensamblaje. Definitivamente lo ayuda a dar una idea de lo que ocurre "detrás" de todos esos ingeniosos azúcares sintácticos que le proporciona su lenguaje. – HeDinges
He decidido seguir lo que me sugirieron. Aprenderé ensamblaje, y después de eso, entraré en el diseño del compilador. Gracias por la sugerencia. – Warty
Actualización: Unos meses después y va bastante bien. Escribir un intérprete simple para un lenguaje simple. Aún no estoy escribiendo un compilador, pero espero hacerlo en el próximo año más o menos. – Warty