Sí, diría que es extremadamente útil.
Para escribir un programa eficiente, es necesario al menos estar familiarizado con
- la matemática del problema (lo que estás tratando de establecer en un programa),
- el modelo de programación ( es decir, qué operaciones tiene a su disposición para expresarlo), y
- la arquitectura subyacente de la máquina (lo que esas operaciones hacen que la computadora haga exactamente).
Los compiladores son importantes porque son (la mayor parte) el puente entre los puntos 2 y 3. Si no puede hacer una suposición educada sobre exactamente qué hará un compilador con su programa, se hace muy difícil anticipar cuán costosamente computacionalmente son sus traducciones de varias abstracciones de nivel superior serán.
Me resulta más útil pensar en un compilador como una herramienta que lo ayuda a generar código de máquina rápidamente, en lugar de uno que le ahorra tener que entender qué código de máquina debe escribirse para resolver su problema. Para utilizar dicha herramienta de manera efectiva, uno debe saber lo que hace.
- ¿Es la disciplina de la ciencia biomédica diferente de la ciencia de laboratorio clínico?
- Cómo instalar dos sistemas operativos en la misma máquina
- ¿Debo hacer Informática o Mbbs después del 12º estándar?
- ¿Cuándo serán las computadoras tan rápidas que no habrá carga?
- Si las computadoras reemplazaran a los médicos para el diagnóstico, ¿cree que los pacientes mentirían más / menos / de manera diferente sobre las preguntas médicas?