O livro “Estrutura e Interpretação de Programas de Computador” é uma boa leitura para programadores Java? [fechadas]

14

Isso pode ser subjetivo e provavelmente fechado, mas eu ainda queria saber se é realmente útil ler os programas Estrutura e Interpretação de Computadores.

Estrutura e Interpretação de Programas de Computador

O livro não usa Java. Não que eu quisesse aprender Java. Estou apenas curioso para saber se será útil ler para ser um programador melhor e quais são as coisas que eu posso ganhar com o livro ou suas outras alternativas a este livro são mais adequadas para programadores Java?

    
por ashishjmeshram 18.09.2012 / 06:03
fonte

5 respostas

22

Bem, eu não sei se este livro irá ajudá-lo, mas quando eu trabalhei nesse livro cerca de 20 anos atrás, definitivamente melhorou minhas habilidades de programação (independentemente de qualquer linguagem de programação). E eu acho que, especialmente, um programador Java obterá alguns novos insights que ele / ela não conseguirá, apenas aderindo ao Java.

Joel Spolsky 2005 escreveu um bom artigo sobre Java e SICP que pode ser interessante para você:

link

    
por 18.09.2012 / 10:28
fonte
12

Eu acho que Estrutura e Interpretação de Programas de Computador é um ótimo livro para ler. No entanto, existem alguns problemas com isso.

O maior problema na minha experiência é que, embora o livro não exija absolutamente nenhum conhecimento de programação e seja voltado para a conclusão de novatos, ele é voltado para a conclusão de novatos que estudam no MIT em>. E assim, enquanto ele não assume nenhum conhecimento de programação, ele assume um pouco do conhecimento domínio , por exemplo. nos campos da engenharia elétrica, física e matemática. Nota: estes não têm nada a ver com os conceitos ensinados, eles são apenas necessários para compreender os exercícios e exemplos .

Pessoas maiores do que eu explicaram isso muito melhor, em um artigo habilmente intitulado Estrutura e Interpretação do Currículo de Ciência da Computação . Felizmente, eles não são apenas whiners, eles escreveram o seu próprio livro: Como criar programas . Se você pensar em ler o SICP, você pode querer ler o HtDP primeiro: ele cobre praticamente o mesmo fundamento do SICP, mas ele só assume o conhecimento médio do domínio do ensino médio. (Na verdade, é escrito para ser ensinado a crianças do ensino médio.)

Depois de ter terminado o HtDP, você ainda pode voltar e ler o SICP, já que agora um pouco de conhecimento do domínio não será mais tão prejudicial porque você já viu o conceito antes.

Observação: há um rascunho para uma segunda edição do HtDP , que você pode quero ler em vez da primeira edição. O material sobre programação imperativa foi removido e será abordado no segundo volume ainda não escrito Como projetar componentes , mas você pode pegá-los a partir da primeira edição ou do SICP. ou ambos.

    
por 18.09.2012 / 17:43
fonte
4

Eu vou sair em um membro aqui e dizer - provavelmente não uma boa leitura para a maioria das pessoas - qualquer idioma.

Como Knuth, é um bom livro para ler. No entanto, mesmo supondo que você é um tiro rápido do MIT, ainda levará a melhor parte de um ano para ler corretamente, e isso é útil para os professores e assistentes técnicos.

Existem outros livros sobre engenharia de software que você poderia ler naquele tempo que seriam mais valiosos? Existem outras línguas que você poderia aprender no tempo?

edit Apenas para expandir um pouco:
Engenharia de software é engenharia, é tudo sobre otimização. Sua tarefa é maximizar seu conhecimento para um determinado tempo + orçamento de custo.
O SICP é uma introdução de alto nível à programação através de uma linguagem funcional. A razão pela qual ele usa uma linguagem funcional é que é mais fácil descrever muitos conceitos matemáticos de programação em linguagens funcionais do que em procedimentos e muito mais fácil de ler do que a lógica formal.

Existe também uma certa quantidade de postura, ie. "Você não é realmente um programador a menos que você leia SICP", ou Knuth, ou pode programar em assembler Lisp, ou C, ou x86. Isso é normalmente fácil de refutar; ie. você não pode ser um programador real a menos que você conheça o trabalho de Cantor sobre teoria dos conjuntos e as equações de Maxwell e esteja familiarizado com a mobilidade dos furos em semicondutores.

    
por 18.09.2012 / 06:21
fonte
4

Do meu entendimento SICP , é mais focado em áreas de programação funcional, incluindo programação recursiva e strong introdução ao CS - que é um pouco difícil de entender para novos programadores. Outro ponto, é preparado e instruído para o MIT, e alguns bons fundamentos em engenharia de campo, matemática, física também são necessários para encontrar este livro útil.

Eu aconselharia um bom conjunto de livros em que cada um se concentre em diferentes aspectos da engenharia de software:

  • Código Completo 2 - enfoca os processos de engenharia de software.
  • Código limpo - concentra-se na codificação no pequeno. Como escrever classes e funções.
  • Programador Pragmático - concentra-se em trabalhar dentro de uma equipe que produz software.

Uma descrição mais detalhada dos livros mencionados acima e outros uma vez pode ser encontrada nas seguintes referências:

  1. Como ser um programador com 10 simples Livros
  2. Melhores livros para programadores iniciantes

Por favor, sinta-se à vontade para adicionar à lista, pois não é a ideal:)

Editar: Ao escolher os livros acima mencionados, e determinar a prioridade de como lê-los, é realmente se resume ao propósito do que você está tentando fazer ou aprenda.

    
por 18.09.2012 / 06:36
fonte
1

Você planeja ser um "programador JAVA" pelo resto da sua vida? Então provavelmente há livros melhores para ler. Se você quer ser um bom programador em geral, então é uma excelente leitura. Aqui está o porquê. Existem certas ferramentas que todo bom programador precisa em sua caixa de ferramentas. Um é um conhecimento profundo de estruturas de dados e algoritmos (se você não acredita em mim, vá entrevistar na Microsoft, Google, Amazon etc ...), acompanhar algoritmos é análise de complexidade, recursão e uma boa compreensão de ponteiros não machucar. Quando se trata de análise de algoritmos, processos recursivos e o paradigma funcional em geral, não consigo pensar em um livro melhor ou mais desafiador do que o SICP.

    
por 18.09.2012 / 15:23
fonte