¿Es una buena idea leer el código fuente del compilador? [cerrado]

8

Soy un junior en la universidad con especialización en Informática. Además de escribir mucho código, quiero comenzar a leer el código fuente escrito por otros para mejorar mis habilidades de codificación y aprender mejores / diferentes formas de hacer cosas. Estaba pensando que debería comenzar a leer algunas de las partes clave del código en los compiladores de C ++. Creo que esto me ayudaría a hacer dos cosas:

  • Aprenda prácticas de codificación elegantes porque los compiladores son difíciles y el código representa soluciones a este difícil problema.
  • Esto también me ayudaría a aprender sobre cómo se compila mi idioma más utilizado, los detalles, cómo se genera cada error, cómo se analiza el código y ser realmente bueno con las especificaciones del idioma.

¿Crees que es buena idea?

usuario2380088
fuente
2
la mayoría de los compiladores de C ++ son muy complicados (porque el análisis de C ++ es muy complicado) y no tienen la mejor calidad del código, usted es mejor en busca de otros recursos del compilador / intérprete
monstruo de trinquete
3
¿Por qué se rechaza esto? Creo que es una buena pregunta.
Rocklan
1
@LachlanB la votación dice que estaba fuera de tema. No lo creo.
Reactgular
1
Felicitaciones por querer leer el código. La mayoría de los programadores no están interesados.
tcrosley
1
Estoy realmente sorprendido de que todas las respuestas digan "no, no lo hagas". No podría estar más en desacuerdo con esas respuestas. Además de leer el código fuente, puede disfrutar y beneficiarse de la lectura de documentos académicos que describen algoritmos de análisis y la arquitectura del compilador. +1 para una buena pregunta y buena suerte.

Respuestas:

4

¿Crees que es buena idea?

La única razón por la que podría ser una buena idea es para que pueda tener la experiencia de saber que la mayoría del código, incluso el código "bueno" usado con frecuencia ( especialmente el código bueno, de hecho frecuentemente usado) es completamente poco elegante.

Ah, y debería ser una buena experiencia de aprendizaje sobre cómo el código rara vez se parece a las especificaciones y / o qué poco código realmente sigue las especificaciones.

Y quizás para que puedas aprender cuánto tienes que aprender.

Pero no, no creo que sea una buena idea, incluso por las razones por las que podría obtener beneficios (y definitivamente no por las razones por las que cree que podría obtener beneficios).

Telastyn
fuente
2

No, no es una buena idea porque ganas muy poco. Es mejor tomar la clase de compilador y leer el libro del dragón si quieres especializarte en el compilador. Si desea especializarse en C ++, compre y lea el estándar. Esos le darán más habilidades de ingeniería que la ingeniería inversa de un compilador.

Por pura habilidad de programación, recomendaría "La práctica de la programación" de Pike y Kernighan.

imel96
fuente
1

No comenzaría leyendo el código del compilador porque es realmente complejo. Debe hacer una búsqueda de proyectos en C ++ en (para leer el código, construir el proyecto, hacer cambios):

wwww.github.com
www.codeplex.com
code.google.com

También deberías leer: El lenguaje de programación C ++ de Bjarne Stroustrup

Harrison Brock
fuente
1
Esto es un poco arriesgado ... hay mucho más C ++ malo que bueno.
Daniel Gratzer
@jozefg Eso es cierto para todos los idiomas
Harrison Brock
1
Eso realmente no cambia el significado de mi comentario, buscar aleatoriamente el código fuente abierto no es una buena manera de descubrir las mejores prácticas. Los proyectos bien conocidos, aunque podrían ser diferentes.
Daniel Gratzer
0

En lugar de leer el código fuente, que probablemente no contenga comentarios. Deberías intentar leer algunos libros sobre cómo escribir un buen C ++.

Prueba Scott Meyer's Books . Creo que te gustarán sus libros efectivos de C ++.

Reactgular
fuente