Esto es casi vergonzoso, pregunte ... Tengo un título en Informática (y otro en progreso). He trabajado como desarrollador de .NET a tiempo completo durante casi cinco años. Generalmente parezco competente en lo que hago.
¡Pero no sé cómo funcionan las computadoras!
Por favor, desnudo conmigo por un segundo. Un rápido Google de 'Cómo funciona una computadora' dará muchos y muchos resultados, pero me costó encontrar uno que realmente respondiera a lo que estaba buscando. Me doy cuenta de que esta es una gran pregunta, así que, realmente, si me puede dar algunas palabras clave o alguna dirección.
Sé que hay componentes ... la fuente de alimentación, la placa base, el ram, la CPU, etc ... y tengo la "idea general" de lo que hacen. Pero realmente no entiendo cómo pasas de una línea de código como Console.Readline()
en .NET (o Java o C ++) y en realidad lo hace .
Claro, estoy vagamente al tanto de MSIL (en el caso de .NET), y que algo de magia ocurre con el compilador JIT y se convierte en código nativo (creo). Me dicen que Java es similar, y C ++ corta el paso intermedio.
He hecho algunos ensamblados de mainframe, hace algunos años. Recuerdo que había algunas instrucciones y algunos registros de CPU, y escribí el código ... y luego ocurrió algo de magia ... y mi programa funcionaría (o fallaría). Por lo que entiendo, un 'Emulador' simularía lo que sucede cuando se llama una instrucción y se actualizan los registros de la CPU; ¿Pero qué hace que esas instrucciones funcionen como lo hacen?
¿Esto se convierte en una pregunta de Electrónica y no en una pregunta de 'Computadora'? Supongo que no hay ninguna razón práctica para que yo entienda esto, pero siento que debería poder hacerlo.
(Sí, esto es lo que sucede cuando pasas un día con un niño pequeño. Les toma aproximadamente 10 minutos y cinco repeticiones de preguntar '¿Por qué?' para que te des cuenta de cuánto no sabes)