Si lo hace.
- La complejidad de crear incluso un compilador restringido pequeño es fácil de subestimar. Hacerlo en la práctica le brinda experiencia sobre cómo atacar un proyecto de mayor alcance que la mayoría de los ejercicios, a medida que descubre todos los aspectos básicos de la vida en la teoría correspondiente.
- Le brinda una comprensión más profunda de la semántica de su idioma de origen cuando tiene que encontrar una manera de implementarlos.
- Enfrentarse a los desafíos de su propio compilador y comprender las restricciones que imponen a su solución, lo convierte en un mejor usuario de los compiladores de otras personas.
- Si hace todo más o menos desde cero, lo familiariza íntimamente con un conjunto de técnicas para manejar el ingreso de texto, la manipulación de algunas estructuras de datos comunes (árboles, tablas hash, listas dinámicas, pilas, colas, gráficos, todo los clásicos), detalles de hardware de bajo nivel y todo tipo de cosas que puedes usar también en programas que no son compiladores.
Su idioma de origen no tiene que ser particularmente novedoso para que esto valga la pena. Incluso si usted es el único usuario que tendrá su compilador, creo que es un ejercicio importante desmitificar personalmente exactamente cómo un compilador toma un lenguaje con un significado comprensible y lo prepara para ejecutarse en una máquina que no entiende nada.
Ciertamente alteró mi perspectiva la primera vez, y la mayoría de los estudiantes que he visto experimentan que la epifanía nunca vuelve a verse de la misma manera en la programación, o eso me han dicho.
- Si tiene excelentes habilidades de ingeniería de software, ¿lo ayudaría a progresar más si pudiera mejorar otras habilidades en lugar de mejorar sus habilidades técnicas? ¿De ser asi, cuales?
- ¿Los desarrolladores indios de software codifican burros?
- ¿Cuáles serían las preguntas de la entrevista para desarrolladores de software de nivel básico?
- Para un principiante relativo, ¿cuál sería el área más útil y demandada de desarrollo de software para aprender?
- Cómo progresar como desarrollador de software hacia una carrera