È una buona idea leggere il codice sorgente del compilatore? [chiuso]

8

Sono un junior in college con specializzazione in Informatica. Oltre a scrivere un sacco di codice, voglio iniziare a leggere il codice sorgente scritto da altri per migliorare le mie capacità di codifica e imparare meglio / diversi modi di fare cose. Stavo pensando che dovrei iniziare a leggere alcune parti chiave del codice nei compilatori C ++. Penso che questo mi aiuterebbe a fare due cose:

  • Impara pratiche di codifica eleganti perché i compilatori sono difficili e il codice rappresenta le soluzioni a questo difficile problema.
  • Questo mi aiuterebbe anche a capire come viene compilata la mia lingua più utilizzata, i dettagli, come viene generato ogni errore, come viene analizzato il codice e diventa veramente buono con le specifiche del linguaggio.

Pensi che sia una buona idea?

    
posta user2380088 28.05.2013 - 01:51
fonte

5 risposte

6

Difficile dire dal tuo post quanto sai già del C ++, ma non inizierei leggendo il codice di un compilatore. Prima passavo il tempo con buoni libri. Una lista molto breve:

risposta data 28.05.2013 - 01:59
fonte
4

Do you think this is a good idea?

L'unica ragione per cui potrebbe essere una buona idea è che puoi farti conoscere la maggior parte del codice, anche usato frequentemente, codice "buono" ( specialmente usato di frequente, buon codice in effetti) è completamente inelegante.

Oh, e dovrebbe dimostrarsi una buona esperienza di apprendimento su come il codice raramente assomiglia alle specifiche e / o su quanto poco codice segue effettivamente le specifiche.

E forse così puoi imparare quanto devi imparare.

Ma no, non penso che questa sia una buona idea, anche per i motivi che potresti trarne (e sicuramente non per le ragioni che pensi che potresti trarne).

    
risposta data 28.05.2013 - 02:55
fonte
2

No, non è una buona idea perché guadagni così poco. È meglio prendere la classe del compilatore e leggere il libro del drago se si vuole specializzarsi nel compilatore. Se vuoi specializzarti in C ++, acquista e leggi lo standard. Quelli ti daranno più capacità ingegneristiche rispetto alla decodifica di un compilatore.

Per pura competenza di programmazione, consiglierei "The Practice of Programming" di Pike and Kernighan.

    
risposta data 28.05.2013 - 04:59
fonte
1

Non inizierei leggendo il codice del compilatore perché è molto complesso. Dovresti fare una ricerca su progetti C ++ (per leggere il codice, costruire il progetto, apportare modifiche):

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

Dovresti anche leggere: Il linguaggio di programmazione C ++ di Bjarne Stroustrup

    
risposta data 28.05.2013 - 03:17
fonte
0

Invece di leggere il codice sorgente, che probabilmente non contiene commenti. Dovresti provare a leggere alcuni libri su come scrivere un buon C ++.

Dai una Scott Meyer's Books una prova. Penso che ti piaceranno i suoi libri Effective C ++.

    
risposta data 28.05.2013 - 04:33
fonte

Leggi altre domande sui tag