É uma boa ideia ler o código-fonte do compilador? [fechadas]

8

Eu sou um júnior na faculdade com especialização em Ciência da Computação. Além de escrever muito código, quero começar a ler o código fonte escrito por outras pessoas para melhorar minhas habilidades de codificação e aprender maneiras melhores / diferentes de fazer as coisas. Eu estava pensando que deveria começar a ler algumas das principais partes do código nos compiladores C ++. Eu acho que isso me ajudaria a fazer duas coisas:

  • Aprenda práticas de codificação elegantes porque os compiladores são difíceis e o código representa soluções para esse problema difícil.
  • Isso também me ajudaria a aprender sobre como meu idioma mais usado é compilado, os detalhes, como cada erro é gerado, como o código é analisado e se torna realmente bom com as especificações do idioma.

Você acha que essa é uma boa ideia?

user2380088
fonte
2
a maioria dos compiladores C ++ são muito complicado (devido analisar C ++ é muito complicado) e não tem a melhor qualidade de código, você é melhor fora à procura de outros recursos do compilador / intérprete
catraca aberração
3
Por que isso é rejeitado? Eu acho que é uma boa pergunta.
Rocklan
1
@LachlanB a votação diz que estava fora do tópico. Eu não acho que é.
Reactgular
1
Parabéns por querer ler o código. A maioria dos programadores não está interessada.
Tcrosley 28/05
1
Estou realmente surpreso que todas as respostas digam "não, não faça". Eu não poderia discordar mais dessas respostas. Além de ler o código-fonte, você pode se beneficiar da leitura de trabalhos acadêmicos que descrevem algoritmos de análise e arquitetura de compilador. +1 para uma boa pergunta e boa sorte.

Respostas:

4

Você acha que essa é uma boa ideia?

A única razão pela qual pode ser uma boa idéia é que você possa ter a experiência de saber que a maioria dos códigos, mesmo os usados ​​com freqüência, o código "bom" ( especialmente usado com frequência, na verdade) é completamente deselegante.

Ah, e deve provar uma boa experiência de aprendizado sobre como o código raramente se parece com as especificações e / ou como pouco código realmente segue as especificações.

E talvez para você aprender o quanto precisa aprender.

Mas não, não acho que seja uma boa ideia - mesmo pelos motivos que você pode obter com ele (e definitivamente não pelos motivos que você acha que pode ganhar com isso).

Telastyn
fonte
2

Não, não é uma boa ideia, porque você ganha muito pouco. É melhor ter a classe do compilador e ler o livro do dragão se você quiser se especializar em compilador. Se você deseja se especializar em C ++, compre e leia o padrão. Isso lhe dará mais habilidades de engenharia do que um compilador de engenharia reversa.

Para pura habilidade de programação, eu recomendaria "The Practice of Programming", de Pike e Kernighan.

imel96
fonte
1

Eu não começaria lendo o código do compilador porque é realmente complexo. Você deve fazer uma pesquisa por projetos C ++ em (para ler o código, criar o projeto, fazer alterações):

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

Leia também: A linguagem de programação C ++ de Bjarne Stroustrup

Harrison Brock
fonte
1
Isso é um pouco arriscado ... há muito mais C ++ ruim do que bom.
Daniel Gratzer
@jozefg Isso é verdade para todos os idiomas
Harrison Brock
1
Isso realmente não muda o significado da minha observação, pesquisar aleatoriamente o código-fonte aberto não é uma boa maneira de descobrir as melhores práticas. Projetos conhecidos podem ser diferentes.
Daniel Gratzer
0

Em vez de ler o código fonte, o qual provavelmente não conterá comentários. Você deve tentar ler alguns livros sobre como escrever um bom C ++.

Experimente os livros de Scott Meyer . Eu acho que você vai gostar de seus livros sobre C ++ eficazes.

Reactgular
fonte