Quais são alguns livros de programação realmente difíceis? [fechadas]
14
Fiquei me perguntando quais são alguns livros realmente difíceis sobre programação que me fazem pensar. Estou falando de linguagens de baixo nível, como c etc e algoritmos, pontos, funções etc.
Por que as pessoas estão votando mal? O OP só quer alguns livros que lhe apresentariam um desafio ... não é uma pergunta estúpida ou do AT.
Melanie Shebel #
4
Esta não é uma pergunta muito boa. Em particular, acho que falta um critério claro para julgar os livros. "Difícil" e "me fazem pensar" são bastante subjetivos - não o conhecemos e o que será difícil ou fácil para você. Ou como isso se aplicaria a outras pessoas, nesse caso. Também não serve para inspirar respostas para explicar por que os livros são recomendados, potencialmente indo contra as diretrizes de construtividade . Alguma edição poderia ajudar, eu acho.
Adam Lear
4
@ Melanie - esta é uma pergunta do tipo "lista do X" que apenas colocará o livro favorito das pessoas como resposta. Se você verificar as respostas, nenhuma delas terá explicação sobre o motivo pelo qual o livro mencionado atende aos requisitos dos POs (bem, sim, mas são 10 respostas).
ChrisF
1
Concordo com @ Anna e Chris acima, esta pergunta carece de partes-chave, como explicar por que esses livros são difíceis ou como classificá-los um contra o outro.
Josh K
Respostas:
29
A arte da programação de computadores. Donald Knuth.
Por quê? O que faz isso tão bom? Por favor, expanda sua resposta.
1100 Walter Walter
2
Você deve incluir isso em sua resposta. Eu li, mas qualquer um que não tenha, NÃO terá noção do porquê de procurar a sua sugestão.
Walter
3
@ Walter: Acho que não concordo. Não acho que precise de expansão. O livro é tão importante e tão central para a computação que não acho que precise de explicação.
S.Lott
1
É provável que os programadores de livros planejem ler algum dia.
Steven A. Lowe
1
@RYUZAKI: "quero estar preparado antes de pular para algo que parece tão difícil e gratificante" Não se preocupe em tentar "se preparar". Basta entrar. Quando encontrar um assunto que está além de você, você saberá o que precisa aprender. É uma busca ao longo da vida. Você não pode estar preparado o suficiente. Você sempre precisará aprender ainda mais.
Por que não (“tão 'introdutório'”)? Esta é uma introdução, usado em CS 101.
Konrad Rudolph
1
@konrad: AFAIK, a maioria das universidades usa apenas vários capítulos desses livros para o ensino.
Hery
Agora eu tinha que procurar, demolindo o suporte do meu laptop no processo (eu uso o Cormen como suporte para o meu laptop ...). E você está certo. Eu esqueci as últimas partes do livro; estas são de fato objeto de palestras posteriores (algumas em cursos de mestrado).
Konrad Rudolph
@ Konrad: hery acertou em cheio.
Demian Brecht
@ Konrad: soa como um processo repleto de eventos;)
Steven, eu realmente não olhei para este livro; mas isso me faz fazer uma pergunta muito crítica: é de alguma utilidade, por exemplo, um desenvolvedor WEB ou um codificador C ++ [drivers de dispositivo etc.] ou um desenvolvedor Android? Estou perguntando se vale a pena o meu tempo. [continua no próximo comentário]
Chani
[continuação do comentário anterior] Eu sou novo, mas aprendo muito rápido. Eu li toneladas de blogs, código-fonte aberto, etc. Então, ler o livro acima (e outros de seu tipo) realmente vai me ajudar? E amigo; a única razão pela qual tenho uma atitude tão pessimista é que eu li Design e Análise de Algoritmos de Computador por Aho et. tudo e para dizer a verdade, eu quase não utilizo esse conhecimento ... mas, novamente, só estou programando seriamente há menos de 6 meses. então o que você diria?
Chani
1
@RYUZAKI: Então você está programando seriamente há menos de seis meses e encontrou o Aho et al. livro algoritmos não é imediatamente útil? Então você não está procurando os livros mencionados nesta pergunta. Você pode levar algum tempo, se sentir mais confortável em campo e depois voltar a eles. Os livros dessas respostas (os que eu conheço, de qualquer maneira) ensinarão a você coisas e expandirão bastante sua compreensão. Eles não farão de você um desenvolvedor C # melhor imediatamente, se é isso que você está procurando agora.
David Thornley
+1: E também a Ciência da Programação de David Gries. Um livro complementar que se expande sobre os temas.
S.Lott
2
@RYUZAKI, como os textos mais profundos do CS, você obtém o que coloca nele. Eu recebi uma nova apreciação pela beleza matemática da programação, juntamente com a experiência direta no design e na comprovação da correção de programas muito pequenos. Demorou quase um ano para percorrer o livro.
Steven A. Lowe
9
O livro do dragão certamente o ajudará a entender conceitos de baixo nível.
um bom. i teve para estudá-lo como parte do meu currículo CS e achei muito interessante, desafiador, bem como experiência enriquecedora
Chani
6
Sete idiomas em sete semanas oferecem muito para você brincar. Quando tudo mais falhar, leia "Estrutura e interpretação de programas de computador" Um dos melhores livros de todos os tempos sobre programação.
"Sete idiomas em sete semanas" é extremamente legal, mas não é realmente um livro de programação difícil.
Quíron
Se seu objetivo é para um livro a ser difícil para uma questão de ser duro você está certo, por outro lado, é um livro que tem um monte de boas informações nele
Um livro fantástico, que detalha muitos algoritmos científicos úteis. Ao longo da minha carreira em sistemas de computação embarcados e industriais, uma versão ou outra, em um idioma ou outro 1 , tem sido meu companheiro constante.
Uau, eu nem sequer pensei sobre o livro chapéu em cerca de 15 anos
Zachary K
Sim, comprei uma primeira edição na universidade e consegui encontrar uma utilidade para os algoritmos desses livros em todos os trabalhos em que trabalhei desde então.
Mark Booth
2
Algumas alternativas para os livros conhecidos (e excelentes) já sugeriram:
Sistemas de Banco de Dados: The Complete Book, 2ª ed. possui uma segunda parte que realmente explica como um DBMS é implementado. Possui muito material sobre como armazenar e indexar dados com eficiência e como realmente executar consultas no banco de dados.
Uma abordagem de engenharia para redes de computadores discute os detalhes mais profundos de como realmente fazer funcionar as redes. Se você quiser implementar um aplicativo ou dispositivo de rede de alto desempenho, este texto fornecerá um excelente histórico fundamental.
Os algoritmos de aproximação consistem em uma ampla visão geral dos problemas de otimização combinatória. O autor aconselha a estudar os problemas em profundidade antes de tentar criar uma aproximação, o que é muito instrutivo.
Tipos e linguagens de programação são mais de 600 páginas de teoria e técnicas de implementação dedicadas a tipos em linguagens de programação. Acontece que há uma quantidade incrível de teoria para lidar. Se você quiser criar uma linguagem de programação completa, há muito o que aprender aqui.
Recentemente, comecei a ler o Hacker's Delight (http://www.amazon.com/Hackers-Delight-Henry-S-Warren/dp/0201914654). Pode não ter uma pontuação muito alta no aspecto difícil. Mas eu daria notas altas em profundidade, baixo nível e resolução inteligente de problemas, fiel ao espírito de seu nome.
Respostas:
A arte da programação de computadores. Donald Knuth.
fonte
Introdução aos Algoritmos
Não é tão "introdutório";)
fonte
Uma disciplina de programação, por Edgar W. Dijkstra
Como escrever código comprovadamente correto
Este não é um livro para ler, é um livro para estudar
fonte
O livro do dragão certamente o ajudará a entender conceitos de baixo nível.
fonte
Sete idiomas em sete semanas oferecem muito para você brincar. Quando tudo mais falhar, leia "Estrutura e interpretação de programas de computador" Um dos melhores livros de todos os tempos sobre programação.
fonte
Eu recomendo Receitas Numéricas: A Arte da Computação Científica .
Um livro fantástico, que detalha muitos algoritmos científicos úteis. Ao longo da minha carreira em sistemas de computação embarcados e industriais, uma versão ou outra, em um idioma ou outro 1 , tem sido meu companheiro constante.
fonte
Algumas alternativas para os livros conhecidos (e excelentes) já sugeriram:
fonte
Baixo nível de .NET: CLR via C # por J. Richter. Vale a pena ler se você quiser conhecer o núcleo do .NET.
fonte
Recentemente, comecei a ler o Hacker's Delight (http://www.amazon.com/Hackers-Delight-Henry-S-Warren/dp/0201914654). Pode não ter uma pontuação muito alta no aspecto difícil. Mas eu daria notas altas em profundidade, baixo nível e resolução inteligente de problemas, fiel ao espírito de seu nome.
fonte
Você pode começar a aprender langs Lisp. Isso com certeza será difícil! Além disso, é uma pausa feliz da programação regular
fonte