JavaRush /Blogue Java /Random-PT /Os 10 principais livros de programação para iniciantes
Max Stern
Nível 35
Нижний Новгород

Os 10 principais livros de programação para iniciantes

Publicado no grupo Random-PT
Tenho um colega que conduziu muitas entrevistas técnicas para futuros Javaistas. Certa vez perguntei a ele o que influencia a decisão de contratar um candidato sem experiência real ao escolher entre pessoas com competências linguísticas aproximadamente iguais. Dada a situação do mercado, penso que esta questão é relevante para muitos de vocês. Os 10 melhores livros sobre programação para iniciantes - 1“Paixão pela tecnologia, capacidade de escolher a melhor opção para resolver um problema, erudição geral em informática, compreensão do que o espera no trabalho” - esta foi a sua resposta. Certa vez, descrevi em um artigo os livros de programação para iniciantes que me ajudaram a aprender Java. Neste artigo, vou me concentrar em publicações que ajudarão um programador iniciante a obter essa mesma erudição de TI, compreensão de trabalhos futuros e também simplificar a tarefa de escolher a melhor solução. Ou seja, conseguir um emprego e ter o melhor desempenho possível desde o início. Compilei esta lista de acordo com minhas preferências, por isso pode ser um tanto subjetiva. Existem livros clássicos de programação para estudantes e livros de referência para programadores de todas as gerações.

Melhorando o código e a produtividade

Apenas escrever código não é suficiente. É importante escrevê-lo bem, saber melhorá-lo e também entender como ele é desenvolvido em geral. Os livros a seguir para programadores iniciantes e outros ajudaram mais de uma geração de especialistas a lidar com o difícil processo tecnológico de desenvolvimento de software.

Programador pragmático. Viajante para Mestre (Andrew Hunt, David Thomas)

Título original: The Programmatic Programmer from From Journeyman to Master, de Andrew Hunt e David Thomas Os 10 melhores livros sobre programação para iniciantes - 2Se você ainda não leu este livro, provavelmente já se deparou com citações dele repetidamente em fóruns e recursos especializados. A imagem de um programador pragmático neste livro é tão clara e idealizada que... pode-se chamá-lo de romântico, por mais paradoxal que possa parecer. No entanto, os conselhos do livro são práticos e relevantes, apesar da idade avançada. Não sei com o que comparar “O Programador Pragmático” no mundo dos livros de programação. Os análogos mais próximos deste mundo são o “Antigo Testamento” ou algum livro de receitas super legal. Na “Pragmática” tudo é muito específico e aplicável ao máximo na prática. Às vezes chega ao ponto da banalidade (por exemplo, a seção sobre comunicação eficaz contém regras básicas de etiqueta empresarial), mas às vezes os conselhos do livro são insubstituíveis, especialmente se um desenvolvedor iniciante não tiver um mentor paciente e atencioso. Estas são dicas sobre repetibilidade de código, prototipagem e estimativa. Ou um lembrete da impossibilidade de criar um programa perfeito. Existem também pontos técnicos úteis relacionados, por exemplo, à depuração de código, aos testes unitários ou à velocidade dos algoritmos... em suma, o que você precisa para se preparar para uma carreira como programador.

Refatorando Melhorando o Código Existente (Martin Fowler)

Título original: Refactoring: Improving the Design of Existing Code por Martin Fowler, com Kent Beck Os 10 melhores livros sobre programação para iniciantes - 3Se você pedir a alguém para listar os melhores livros de programação para construção de carreira de todos os tempos, alguém certamente mencionará “Refactoring”. Alguém pode dizer que este livro está desatualizado e, de certa forma, estará certo. Ele foi escrito em uma época em que a refatoração ainda não era uma regra universal, e algumas de suas verdades são óbvias para os aspirantes a programadores de hoje. No entanto, as técnicas de refatoração são descritas tão bem e detalhadamente (em alguns lugares, eu diria até detalhadamente) que todo iniciante encontrará algo útil nele. Há alguns anos saiu uma edição atualizada do livro e novas técnicas foram adicionadas, o que é ótimo. Além disso, os exemplos neste livro foram escritos em Java. A única desvantagem que posso mencionar é a verbosidade. Mesmo assim, recomendo o livro.

Código Limpo (Robert Martin)

Título original Clean Code: A Handbook of Agile Software Craftsmanship de Robert C. Martin Os 10 melhores livros sobre programação para iniciantes - 4Este livro, embora mais recente que o anterior, também se tornou um clássico dos livros sobre programação. “Tio Bob”, como Robert Martin às vezes é chamado na comunidade de programação global, é um dos autores do manifesto Agile, bem como de alguns dos princípios da programação “pura” moderna, por exemplo, SOLID. Um dos principais leitmotivs do livro pode ser considerado... empatia ou simplesmente uma boa atitude para com todos que terão que trabalhar com seu código (incluindo você mesmo no futuro). A maioria das regras do “Código Limpo” baseia-se neste princípio simples e no bom senso. A maioria das regras e conselhos parecem muito corretos, do tipo que intuitivamente gira em sua cabeça, mas não é fácil formulá-los com clareza. No entanto, pode-se contestar alguns pensamentos do autor: ele às vezes é extremamente categórico. Por exemplo, ele escreve que um bom código não precisa de comentários. Mesmo assim, o livro é uma leitura obrigatória.

Trabalhando de forma eficaz com código legado (Michael Feathers)

Título original Trabalhando efetivamente com código legado por Michael Feathers Os 10 melhores livros sobre programação para iniciantes - 5A vida não preparou você para isso... Não, sério: se você está apenas aprendendo, não pode imaginar como é difícil trabalhar com bases de código legado, que provavelmente foram escritos pelo avô de Bill Gates. Este código geralmente é escrito de maneira completamente diferente do que você está acostumado e é tão mal documentado que às vezes você deseja encontrar seu autor e... Infelizmente: a vida de um programador Java em grandes projetos é muitas vezes associada ao suporte legado. Este livro pode ajudar com os aspectos técnicos do trabalho com códigos antigos, mas também pode ajudá-lo a aceitar seu destino. E sim, estou falando sério. Este livro será útil se você estiver de olho em uma terceirização ou empresa de produtos com grandes projetos.

Cabeça primeiro. Padrões de Projeto (Eric Freeman, Bert Bates, Kathy Sierra, Elizabeth Robson)

Título original Head First Design Patterns: A Brain-Friendly Guide de Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson Os Os 10 melhores livros sobre programação para iniciantes - 6padrões de design são aquelas regras lógicas de boa forma que, se você não estudá-las ao longo do tempo, virão à mente ( ou não...) e que literalmente se transformam no superpoder de um programador novato se você começar a observá-los o mais cedo possível. Sim, no início é útil brincar com um projeto pessoal relativamente complexo e tentar dividi-lo você mesmo em subtarefas... e eventualmente encontrar o mesmo padrão. Porém, quando se trata de trabalho, nem sempre há tempo para experimentos. Quando consegui o estágio, eu sabia muito pouco sobre padrões: enquanto estudava no JavaRush, simplesmente pulei todas essas fábricas, singletons, injeções, dependências, pensando que iria descobrir quando fosse necessário. Porém, foi preciso descobrir muito rápido, e era o livro “De Cabeça. Design Patterns” me ajudou com isso. É fácil de escrever, cheio de ilustrações e humor... Acho que a apresentação do tópico “padrões de projeto” é muito importante: pode ser apresentada de uma forma bem chata, ou pode ser apresentada como no Head First. Um ótimo complemento para “Código Limpo” e/ou “Refatoração”!

Arquitetura de Computadores e Ciência da Computação Geral

Quão importante é para um futuro programador compreender a arquitetura do computador, saber como os sistemas operacionais são estruturados e como os bancos de dados são estruturados? Não é fato que esse conhecimento será útil para você em seu trabalho. Mas eles certamente o ajudarão a demonstrar sua paixão pela área de TI e seu conhecimento em TI. E o mais importante: se você souber como tudo funciona, isso te ajudará a resolver melhor os problemas. Informação 100%. Então aqui estão mais dois livros para ajudá-lo.

Código (Charles Petzold)

Título original Code: The Hidden Language of Computer Hardware and Software de Charles Petzold Os 10 melhores livros sobre programação para iniciantes - 7A primeira edição de “Code” viu o mundo no início dos anos 2000, mas na verdade poderia ter aparecido mais cedo ou mais tarde - e ainda teria sido relevante. O fato é que neste livro o funcionamento de um computador é explicado em um nível muito, muito baixo, começando pelo funcionamento desses mesmos zeros e uns, e o primeiro exemplo técnico é um circuito de lanterna, que pode ser considerado o mais simples. -bit computador... Não, você não acha que tudo no livro é muito primitivo. Na verdade, exatamente o contrário... Descreve circuitos de computador, com comandos, o funcionamento da memória e dos sistemas operacionais em sua própria essência. Talvez tenha sido depois de lê-lo que entendi como funcionam os computadores. Embora a arquitetura e o conjunto de instruções do processador mudem e a largura de banda da memória aumente, em essência, os computadores funcionam exatamente da mesma forma. Um programador Java precisa desse conhecimento? Muito poucas pessoas precisarão deles diretamente em seu trabalho. Mas indiretamente, muitas vezes fui ajudado no meu trabalho pelo fato de entender como tudo realmente funciona.

Introdução à Ciência da Computação (Glenn Brookshire, Dennis Brilov)

Título original Ciência da Computação: Uma Visão Geral de Glen Brookshear e Dennis Brylow Os 10 melhores livros sobre programação para iniciantes - 8Este livro me ocorreu na universidade, quando eu estava estudando os fundamentos da ciência da computação. Só recebi a tradução da sexta edição, e atualmente está em dia a 13ª edição. O livro é um curso básico de ciência da computação que é ministrado em universidades dos Estados Unidos e de outros países há muitos anos. A cobertura do material nele contido é muito ampla: arquitetura de máquinas, sistemas numéricos, processamento de dados, sistemas operacionais, princípios de construção de banco de dados, estruturas de dados, estruturas de arquivos e assim por diante. Nem todas as seções do livro são escritas igualmente bem. Por exemplo, uma vez fiquei muito confuso com as seções sobre métodos de design e bancos de dados, mas as seções sobre sistemas numéricos, cálculos bit a bit, arquitetura de PC e estruturas de dados realmente me impressionaram. O mais legal do livro é a enorme quantidade de exercícios com teclas. Além dos estudantes, esse livro provavelmente é necessário principalmente para autodidatas sem formação técnica, a fim de preencher lacunas e ter uma ideia da ciência da computação em geral.

Algoritmos e estruturas de dados. E mais um ataque!

Dado o quão alta a programação moderna se tornou, o conhecimento de algoritmos tornou-se menos importante. Agora basta usar a biblioteca necessária e não ficar pensando sobre a melhor forma de classificar o array. No entanto, você ainda terá que quebrar a cabeça no trabalho, e mais de uma vez. Lembra-se do ponto “a capacidade de escolher a melhor solução possível” dos requisitos para um programador iniciante? Portanto, não importa o que digam, considero um bom treinamento algorítmico uma excelente atualização para encontrar soluções ideais. Portanto, os próximos dois livros são sobre eles. Sobre algoritmos.

Estamos arrasando com os algoritmos. Um guia ilustrado para programadores e curiosos Aditya Bhargava

Título original: Algoritmos Grokking: Um guia ilustrado para programadores e outras pessoas curiosas por Aditya Y. Bhargava Os 10 melhores livros sobre programação para iniciantes - 9O próprio autor escreve no início do livro que os algoritmos não vieram a ele imediatamente, e ele tentou escrever “Algoritmos Grokking” então que seria fácil de ler. Ele foi projetado para programadores iniciantes, ou seja, aqueles que sabem escrever “olá, mundo” e sabem o que são int, string, loop, branch e array. Bem, ele pode exibir o array na tela. O conhecimento exigido de matemática está aproximadamente no nível do 6º ao 7º ano do ensino médio, sem frescuras. E esta é a primeira vantagem séria do livro. Não tenta imaginar o leitor como um estudante de matemática, como fazem muitas publicações sobre o tema. Ou seja, se você tem medo de matemática, de algoritmos, já tentou aprender estes últimos e não entendeu nada, este livro é perfeito para sua reabilitação aos seus próprios olhos. O segundo ponto positivo é que o livro discute algo que pode muito bem ser útil na prática (compreender isso é certamente verdade). Começa com uma explicação da essência da pesquisa binária e da eficiência - literalmente nos dedos e com muitas imagens. Terceiro, o livro contém muitas perguntas e exercícios (os exemplos de código estão em Python, mas isso não é tão importante). Um ponto que pode ser positivo para alguns, mas negativo para outros: o livro não pretende ser um livro de referência abrangente. Digamos que dos algoritmos geralmente aceitos para estudo, existam apenas dois aqui - o algoritmo de inserção ineficiente e o algoritmo de classificação rápida eficiente. Não sei por que o autor não deveria considerar outros algoritmos, como bolha ou mesclagem. Na verdade, o algoritmo de mesclagem é mencionado no livro, mas brevemente, sem análise e apenas em comparação com a classificação rápida. Com outros tópicos tudo é exatamente igual. Existem princípios básicos que são muito bem abordados, mas às vezes você realmente quer uma continuação mais aprofundada, mas simplesmente não existe. Em suma, este é um livro muito básico, depois do qual, muito provavelmente, você desejará encontrar um livro em que tudo seja descrito com mais seriedade. Por exemplo, o seguinte.

Algoritmos em Java (Robert Sedgwick, Kevin Wayne)

Título original: Algoritmos de Robert Sedgewick e Kevin Wayne Os 10 principais livros de programação para iniciantes - 10Na verdade, este livro pode encantar e assustar. Vai te assustar pelo menos pelo volume de... muitas páginas e um certo cunho acadêmico. Portanto, se vocês não estão inclinados a isso, acadêmicos, ou não se sentem confiantes em matemática (ensino médio, os elementos mais simples da matemática superior para engenheiros), então é melhor não começar com este livro. Não existem tantos termos matemáticos aí, mas a abordagem em si pressupõe tal pensamento. Mas depois do livro anterior - por que não? Ela lhe dará um guia. O primeiro capítulo em alguns lugares resume o conhecimento de Java e define algumas estruturas de dados. É melhor lê-lo seletivamente, mas não faria mal nenhum estudar o segundo e o terceiro capítulos com detalhes suficientes. O restante também está repleto de informações interessantes e completas sobre gráficos e strings. Eu diria que coisas como essa são MUITO úteis para moldar a mentalidade de programação. Quanto à apresentação, sente-se que o autor é professor, mas está habituado a trabalhar com pessoas maioritariamente interessadas e preparadas. Portanto, seja paciente e leia. E também resolver problemas, há muitos aqui. Aliás, no Coursera você encontra um curso sobre algoritmos criado pelos autores do livro.

Conheça sua estrutura

E finalmente, mais um livro. E novamente - útil.

Primavera em ação (Craig Walls)

Título original: Spring in Action de Craig Walls Os 10 melhores livros de programação para iniciantes - 11Um livro muito famoso com uma capa igualmente famosa com um “homem de saia” que na verdade não está usando saia. Falando francamente, aprender Spring com apenas um livro é uma tarefa muito difícil, mesmo se você tentar experimentar tudo na prática de uma só vez. A propósito, pode ser extremamente difícil entender como fazer isso depois de ler este ou aquele capítulo. Trabalhei com esse livro quando consegui um estágio em uma empresa e quando utilizado dessa forma ajuda muito. Além disso, ainda hoje, já trabalhando como programador, volto constantemente a isso. Resumindo, você pode ter uma ideia geral do framework Java principal com sua ajuda.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION