Existem ótimos livros de programação ou desenvolvimento de software que não sejam de linguagem? Por que eu deveria ler?
Existem ótimos livros de programação ou desenvolvimento de software que não sejam de linguagem? Por que eu deveria ler?
Respostas:
O programador pragmático: do viajante ao mestre - Andrew Hunt e David Thomas
Este livro é sobre como escrever código que funcione e possa ser mantido. Um conceito-chave é ser prático. Tudo no livro é resumido em 70 dicas fáceis de lembrar que ajudam a fornecer software melhor e de maior qualidade.
Código Completo: Um Manual Prático de Construção de Software por Steve McConnell
Este livro é provavelmente o livro definitivo sobre construção de software. Ele discute tópicos como os fundamentos da construção (requisitos, arquitetura e design), escolhendo uma linguagem de programação, escolhendo uma metodologia de desenvolvimento, projetando classes e objetos, escrevendo funções e métodos de alta qualidade, programação defensiva, uso e nomeação de variáveis , tipos de dados, instruções de organização e formatação, ferramentas de programação colaborativa, teste, depuração, refatoração e desenvolvimento.
Este é um item obrigatório na prateleira de todos os engenheiros de software, mesmo que você não esteja escrevendo explicitamente código.
O meu favorito é: Estrutura e Interpretação de Programas de Computador
Foi meu primeiro livro acadêmico há 10 anos e ainda me impressiona a relevância de prever tendências no estado da arte "Engenharia de Software" e programação em geral.
Ele usa o LISP como exemplos, mas eu não considero o LISP nenhum tipo de linguagem, portanto, é totalmente independente;)
Código Limpo - Robert Martin
Mês do Homem Mítico - Frederick P Brooks
Este é um livro obrigatório para desenvolvedores de software. A maioria dos volumes de desenvolvimento de software fala sobre software de codificação, linguagens de programação e as mais recentes tecnologias e técnicas para escrever software.
No "Mês do Homem Mítico" - Brooks aborda um aspecto mais fundamental (IMO) do desenvolvimento de software - o aspecto social. Ele aborda os problemas enfrentados em um grande projeto de software, desde o problema de adicionar pessoas, o segundo efeito do sistema e a necessidade de um processo adequado.
Este livro é sobre a programação da perspectiva de torná-la uma disciplina de engenharia, algo que pode ser usado para projetar um software grande e complexo.
Padrões de design . Os padrões são bastante inclinados para OOP, mas dentro do OOP, eles são bastante aplicáveis a qualquer idioma.
Você deve lê-lo, porque fará de você um designer melhor. Ele ensina boas maneiras de resolver problemas de design de subsistemas que você talvez não tenha descoberto até projetar sistemas há 40 anos. São soluções reutilizáveis para problemas semi-comuns. Dito isto, há um padrão que os alunos do segundo ano passam quando aprendem padrões de design na escola:
Design orientado a domínio: lidando com a complexidade no coração do software
Eric Evans
Muitos conceitos de alto nível, é um livro bastante avançado que eu não recomendaria a desenvolvedores iniciantes. Se você estiver trabalhando em um projeto de software em grande escala com muitas interdependências, essa é uma ótima referência.
Desenvolvimento Orientado a Testes: Por Exemplo, por Kent Beck.
Uma super introdução ao TDD. Começou no caminho TDD. As amostras de código são Java, mas, de outra forma, o material é independente da linguagem.
Estes são todos os livros que li completamente ou reli partes significativas de algumas vezes e estão bem reunidos. Sou iniciante em programação como um todo, por isso usei-os para obter uma compreensão contextual do que devo aprender a fazer.
Ah, para o material do banco de dados