¿Hay personas que realmente entienden cada aspecto de una computadora y cómo funciona?

En los primeros días de las computadoras había tales personas. Alan Turing, por ejemplo, comprendió profundamente tanto el hardware como los conceptos de software de su época (inventó muchos de ellos). Con el paso del tiempo, el alcance de la informática se ha ampliado hasta tal punto que ya no es posible un conocimiento completo.

Cuando era estudiante de informática en los primeros días del campo (1960), me suscribí y leí todas las principales revistas del campo. Pero tuve que rendirme después de un tiempo porque no podía pagar las suscripciones o el tiempo para leerlas todas.

Sí, pero depende de lo que entiendas por “entender”.

Cualquier plan de estudios serio de informática cubre lo básico, tanto teórico como matemático, al hardware, al software de sistemas, a la programación. Cualquier persona con un grado medio decente en Ciencias de la computación debería tener una idea de cómo se construyen las computadoras, cómo funcionan y cómo utilizarlas. Cualquier persona con un grado razonable, y con varios años de experiencia, debe entenderlo todo al nivel de las especificaciones de escritura para los elementos de configuración de hardware y software, y tener algunas habilidades para implementar una parte de esas especificaciones.

Pero, a medida que entras en los detalles, hay mucha especialización. En los viejos tiempos, muchas personas podían diseñar y construir una computadora a partir de piezas. En estos días, muy pocas personas pueden diseñar un chip de CPU, y solo una pequeña cantidad de organizaciones pueden realmente construir chips (y hay muchos conocimientos especializados y habilidades asociadas con el diseño y los chips reales). Y luego, ¿incluye comprender la física del comportamiento del silicio? ¿La mecánica del diseño de una unidad de disco? Cuantos más detalles adquieras, más especializado se vuelve y nadie es capaz de comprender, en profundidad, todo hasta el nivel subatómico.

Y luego, cuando entras en los detalles de un programa específico, hay un montón de conocimientos especializados para diseñar y escribir el código. Y luego, ¿qué significa “entender” su ejecución (hay mucho espacio entre escribir “ejecutar” y seguir lo que sucede en cada ciclo de reloj)?

Probablemente hay personas que entienden todo acerca de una computadora muy simple. Pero una computadora de escritorio moderna, una computadora portátil o un teléfono inteligente está completamente fuera del alcance de la capacidad de una sola persona para captarlo en su totalidad.

Las “personas” a las que se refiere deben ser los diseñadores de CPU y chipset de Intel y AMD.

Claro, hay muchos entusiastas de las computadoras que saben lo suficiente como para dominar los diversos aspectos de las computadoras y la jerga: carriles PCIe, DMA, IRQ, VT-x, VT-d, SHA-256, Ring 0, etc. etc.

¿Pero para realmente entenderlo todo? Tiene que ser la CPU y los diseñadores de chips.

No creo que entendamos todos los aspectos de software y hardware en una computadora. Todos nos especializamos de una manera u otra. El trabajo en equipo es mucho más importante que tener que saberlo todo.

Ningún médico lo sabe todo sobre el cuerpo humano. Preferiría consultar a un buen equipo médico en caso de una enfermedad grave a pesar de las consecuencias financieras.