JavaRush /Blogue Java /Random-PT /Melhores livros Java para iniciantes e muito mais (2023)

Melhores livros Java para iniciantes e muito mais (2023)

Publicado no grupo Random-PT
Estamos acostumados ao acesso rápido à informação e à absorção igualmente rápida. Preferimos vídeos de cinco minutos a palestras profundas e artigos curtos a livros. Não vou afirmar que um bom livro sobre programação substituirá qualquer artigo, não é assim. E certamente não substituirá a prática. No entanto, para mim pessoalmente, uma verdadeira compreensão dos fundamentos da programação veio depois que eu, tendo resolvido centenas de problemas no curso de programação JavaRush e lido uma tonelada de artigos, comecei a estudar simultaneamente a teoria dos livros e me aprofundar neles. Há algum tempo que procuro meu "melhor tutorial de Java para iniciantes" pessoal. Abaixo estão vários livros sobre Java que foram úteis para mim, em maior ou menor grau, em diferentes fases de meus estudos.

Livros para iniciantes

Nesta seção, reuni os livros de que você precisará para dar os primeiros passos no aprendizado da programação Java.

1. Use a cabeça primeiro Java, Kathy Sierra e Bert Bates

Comecei com este livro não porque seja o meu favorito, mas porque é o mais simples. Este livro, de acordo com muitos programadores, é o melhor tutorial Java do zero. Além disso, é realmente do zero, ou seja, é indicado para quem está começando e não entende muito bem o que é programação fera. Eu admito, cheguei tarde demais. Acho que foi por isso que não consegui apreciar. Foi muito agradável “só ler”, mas demorei muito para procurar algo específico nele. O material é apresentado de forma vívida, mas superficial (porque é do zero!) e muitos tópicos e explicações necessárias simplesmente não estão lá. Mas meu amigo, a quem foi herdado, ficou encantado com ele e gritou que este não era apenas o melhor livro didático de Java para iniciantes, mas uma obra-prima mundial direta e é assim que o material complexo deveria ser apresentado.

Vantagens:

  • O melhor tutorial Java do zero, para manequins completos, escrito em uma linguagem viva.
  • Ilustrações legais e humor.
  • Explicação com exemplos da vida real.

Imperfeições:

  • Muitas águas para quem já entrou no assunto.
  • Nem sempre quebra-cabeças e exercícios bem-sucedidos.

2. Java para Leigos, Barry Bird

Este livro, devo admitir, já me ocorreu quando eu trabalhava como programador. Em uma versão anterior do artigo sobre livros úteis, me fizeram uma pergunta nos comentários e, quando o vi com um testador no trabalho, decidi dar uma olhada mais de perto. Java for Dummies de Barry Bird é um livro interessante para iniciantes que desejam usar diversos recursos para ajudá-los a aprender. Este não é um tutorial para iniciantes, mas sim um primeiro livro de referência para Java. É mais eficaz estudá-lo em paralelo com lições passo a passo (como no JavaRush) e (obrigatório!) consolidar imediatamente o que você aprendeu na prática. Pela apresentação, reconheci imediatamente o autor como um professor, pois em locais ele faz paradas em locais inesperados à primeira vista e examina detalhadamente as questões levantadas. Isso não é por acaso: era nessas questões que seus alunos mais tropeçavam. Mas alguns tópicos são abordados superficialmente... Porém, este é um livro para iniciantes, você não deve esperar profundidade dele. Digamos que os dois primeiros capítulos sejam bons para iniciantes, OOP (capítulo 3) é melhor estudado em outro livro, mas os capítulos 4 (técnicas avançadas de programação - explicações de como usar classes e métodos, iniciar coleções, multithreading, tratamento de exceções) e 5 (dicas para evitar erros) considero muito bem sucedido e útil. Além disso, Java For Dummies é fácil de ler, cheio de exemplos coloridos e engraçados. Pode ser facilmente lido em qualquer lugar na estrada ou antes de ir para a cama. Se você estiver satisfeito com o estilo do autor, é claro. E lembre-se: nenhum livro neste mundo pode transformar você em um desenvolvedor de software. Só a prática pode. Melhores livros Java para iniciantes e muito mais (2023) - 1

Vantagens:

  • Linguagem fácil.
  • Bons conselhos e uma boa introdução a vários tópicos (capítulos 1, 2, 4).
  • Bons exemplos.

Imperfeições:

  • Nem todos os tópicos são apresentados igualmente bem.
  • Nem todo mundo vai gostar do estilo do autor.

3. Java: Fundamentos de programação para iniciantes, Nathan Clark

Outro livro para leitores com zero experiência em programação. Eu diria que sua principal vantagem é a natureza passo a passo. Explica muito bem os pontos que costumam causar dificuldades para quem se depara com programação pela primeira vez. Aqui você aprenderá como escolher um IDE e como escrever seu primeiro programa. O livro explicará o que são o Java Development Kit e o Java Runtime Environment e fornecerá exemplos de cada parte do código. Mas... não há tradução russa deste livro, então recomendo para quem sabe inglês pelo menos no nível B1. A propósito, todo desenvolvedor precisa saber inglês neste nível, então você pode matar dois coelhos com uma cajadada só aprendendo Java em um livro em inglês. Existem livros suficientes neste artigo. Melhores livros Java para iniciantes e muito mais (2023) - 2

Vantagens:

  • Uma introdução tranquila à programação e às funções básicas da linguagem Java.
  • Sequência de apresentação.

Imperfeições:

  • Não há uma explicação detalhada do conceito de programação orientada a objetos, portanto alguns dos exemplos práticos podem ser confusos.
  • Não há tradução para o russo.

4. Pense em Java: como pensar como um cientista da computação, Allen Downey e Chris Mayfield

Outro livro interessante disponível em inglês. Como observam os autores, o objetivo principal do livro é ajudar os leitores a desenvolver as habilidades de pensamento necessárias para resolver problemas inerentes à ciência da computação. O livro é destinado a iniciantes, portanto os autores começam com o básico que pode ser entendido por quem não tem experiência em programação ou conhecimento de Java. Ele foi escrito de forma simples e pode ser útil para estudantes ou autodidatas que desejam dominar a programação e desenvolver habilidades de pensamento algorítmico. Como muitos outros, o livro começa com uma introdução à POO. Cada capítulo contém seções de vocabulário e exercícios para reforçar a teoria e dominar as habilidades de programação. Melhores livros Java para iniciantes e muito mais (2023) - 3

Vantagens:

  • Fácil e agradável de ler.
  • O livro apresenta conceitos complexos de programação de forma acessível e fácil de entender.
  • Exemplos e exercícios decentes.

Imperfeições:

  • Falta de abordagem passo a passo.
  • Alguns leitores podem ficar com dúvidas após algumas seções, pois nem sempre há uma explicação detalhada de determinados tópicos.

5.Java. Guia para iniciantes, Herbert Schildt

Depois de ler este livro, pensei que seria adequado para quem gosta de uma apresentação do material mais tradicional do que no Headfirst, mas também procura um tutorial do zero. Em alguns lugares, a apresentação do livro é muito detalhada, lembrando documentação ampliada e traduzida com bons exemplos visuais. Às vezes, quanto a mim, o autor passa dos limites e começa a mastigar demais, a leitura fica chata... e de repente - cambalhota - e algum lugar bastante complexo é perdido quase que instantaneamente, e você fica completamente desnorteado tentando entender o que e onde você perdeu. No entanto, não existem muitos lugares assim no livro, e conheço pessoas que acreditam que o Guia do Iniciante é o melhor tutorial de Java para quem ainda não sabe nada. Pessoalmente, achei o livro irregular. Digamos que eu comece a classificar coleções e, em vez de uma explicação humana, eles me dêem a tarefa de criar de forma independente um Conjunto baseado em arrays. Problema legal, mas gostaria de entender melhor o que são as coleções padrão primeiro! Embora este livro, como o anterior, seja considerado um livro didático para iniciantes, minha experiência como professor sugere que ele só é bom em conjunto com outros materiais: para quem muda de humanidades, nem tudo será simples e claro. “Um Guia para Iniciantes” é adequado para quem de alguma forma estudou programação (por exemplo, na universidade), desistiu há muito tempo e ao mesmo tempo gosta do estilo de apresentação do autor. É especialmente agradável que o livro seja constantemente atualizado e cubra os recursos do Java 8, e a edição atual (décima) leve em consideração o JDK 9 e o JDK 10. Melhores livros Java para iniciantes e muito mais (2023) - 4

Vantagens:

  • Apresentação tradicional e cuidadosa do básico.
  • Bons exemplos.

Imperfeições:

  • Há saltos de “mastigado demais” para “dito de passagem”
  • É chato em alguns lugares.
A propósito, Herbert Schildt tem outro livro famoso sobre programação - "Java. The Complete Guide". Este é um livro completamente diferente, mais fundamental. Vamos prosseguir.

Guias para quem continua ou recomeça

Os livros a seguir são mais adequados para aqueles que já têm algum conhecimento de programação e desejam se aprofundar um pouco mais em Java ou começar a praticar mais a fundo. Existem manuais, livros de referência e tutoriais sobre recursos Java novos ou relativamente novos que as pessoas geralmente não entendem imediatamente, bem como livros sobre Android (mais precisamente, um livro sobre Android).

6.Java. O guia completo, Herbert Shildt

Confesso: uma vez baixei este livro da Internet para avaliá-lo e depois comprá-lo ou não. Não é brincadeira, 1300 páginas de texto! E o preço não impressiona menos que o volume. Fiz o mesmo com os dois volumes “Biblioteca do Profissional” de Kay Horstmann (mais sobre isso abaixo). Olhando para o futuro, direi que escolhi o segundo. Por que? Porque no livro Java. O Guia Completo" Vi as mesmas deficiências do "Guia do Iniciante". Às vezes as explicações são mastigadas, às vezes amassadas, mas ao mesmo tempo não estão apenas amassadas, mas de alguma forma verbalmente amassadas. Talvez seja esse o estilo do autor e acho que alguém vai gostar, ou melhor, de acordo com o seu pensamento. No geral, Java 8: The Definitive Guide é um bom livro de referência para Java. Mas pessoalmente gostei ainda mais da apresentação das mesmas coisas em outro livro. Melhores livros Java para iniciantes e muito mais (2023) - 5

Vantagens:

  • Guia completo. Parece que existem todos os tópicos que um iniciante, e não apenas um iniciante, precisa saber.
  • Explicações detalhadas.

Imperfeições:

  • Muita água (mas alguns podem gostar disso!).
  • A tradução para o russo não é das melhores.

7.Java. A Biblioteca do Profissional, Kay S. Horstmann, Harry Cornell

Os livros de Schildt e Horstmann são frequentemente comparados entre si. Tanto um quanto o outro têm fãs leais. Para mim, o livro de dois volumes de Horstmann é o melhor livro sobre Java. Tornou-se um livro de referência para mim nos níveis iniciante e intermediário do JavaRush. Quando eu não entendia um assunto, recorria principalmente ao Horstmann, e ele esclareceu muitas coisas. O livro cobre tudo, desde sintaxe até programação multithread, localização de programas e trabalho com XML. E não deixe o nome “Biblioteca Profissional” te assustar (foi isso que me assustou), o básico está muito bem abordado. Além disso, é útil relê-lo periodicamente para atualizar e organizar seus conhecimentos.

Vantagens:

  • Com um número surpreendente de páginas, há pouca água (ao contrário de Schildt).
  • Contém tudo que os iniciantes precisam.
  • Expande o Java 8, leva em consideração as alterações no JDK 9, 10 e 11.
  • Boa apresentação de tópicos sobre coleções e genéricos.
  • Combina bem com JavaRush. Vá direto ao assunto, resolva problemas, mais cedo ou mais tarde você não entenderá alguma coisa - observe Horstmann, tente novamente.

Imperfeições:

  • Alguns podem achar o livro seco.
  • Sem prática.
  • Tradução russa com erros.

8. Java 8 em ação: Lambdas, Streams e Programação de Estilo Funcional

Com a oitava versão, novas funcionalidades chegaram ao mundo Java tão importantes e diferentes do que era antes que é aconselhável estudar esses tópicos separadamente de todo o resto. E mais: até agora ainda não houve uma atualização linguística mais importante. Portanto, diante de nós está o Java 8 em ação, um livro interessante sobre Java 8. É importante ressaltar imediatamente que ele foi projetado para aqueles que já conhecem o básico de “apenas” Java. O que torna este livro tão bom é que ele contém muitos problemas práticos variados e úteis. Os exemplos incluem exemplos de código "corretos" e "incorretos". O principal é não confundir.

Vantagens:

  • Orientado para a prática.
  • Mostra a diferença entre código correto e incorreto.

Imperfeições:

  • Recursos adicionais são necessários para obter uma compreensão mais profunda dos fundamentos do Java.

9. Core Java para Impacientes (Terceira Edição) ou Java SE 9. Curso Básico, Kay Horstmann

No original, este livro se chama Core Java para os Impacientes, ou seja, “Java Core para os impacientes”. Não sei por que isso não foi incluído na tradução. Na minha opinião, isso ajudaria o livro a não se perder entre seus pares. Há uma tradução da segunda edição do livro em russo, e em inglês já existe uma terceira edição, atualizada para Java 17. O livro está organizado como uma referência rápida e é muito conveniente de usar para encontrar a resposta para uma pergunta específica caso você tenha esquecido algo ou já tenha programado em outras linguagens. O que mais gostei especialmente é que os textos são bem curtos, essencialmente sem mastigação e água. O livro fornece uma boa descrição de expressões lambda, fluxos de entrada/saída e módulos. No entanto, este livro não explicará o que é uma variável ou loop. Mas existem, além disso, já mencionei, estruturas fundamentais, coleções, anotações, genéricos, logging, multithreading - tudo com que você trabalhará na prática. Francamente, gosto muito deste livro e até agora o leio às vezes. Basta lembrar que este livro não é adequado para quem não sabe nada de programação. É mais provável que seja para quem já estudou alguma outra linguagem ou o mesmo Java, mas há muito tempo e não completamente.

Vantagens:

  • Blocos curtos de informações. Tudo vai direto ao ponto.
  • Não há tópicos desnecessários.
  • Uma seleção muito boa de tópicos atuais para programadores Java iniciantes estudarem.
  • Exemplos de sucesso.

Imperfeições:

  • O livro não é indicado para quem está começando a aprender programação do zero.

10.Java. Manual do Desenvolvedor, Benjamin J. Evans, David Flanagan

Um bom livro de referência universal, uma alternativa aos livros de Horstmann. Contém informações úteis tanto para iniciantes quanto para desenvolvedores Java que continuam a se aprofundar na programação. A última edição no momento em que esta frase foi escrita (sétima) é baseada em Java 11. O livro não é longo, há muitos exemplos, a API Java e as melhores práticas de desenvolvimento são discutidas. O livro é fácil de ler e com ele você pode aprender o básico da linguagem, técnicas úteis de programação e até mesmo novas tendências em Java.

Vantagens:

  • Breve e bom resumo.
  • Há tudo o que um programador iniciante precisa.
  • Boa descrição de ferramentas modernas.
  • Exemplos de sucesso.

Imperfeições:

  • Nem sempre há uma tradução adequada da terminologia para o russo.

11. O Sistema de Módulo Java, Nikolay Parlog

Este livro está disponível em inglês e russo. É um guia muito detalhado para o sistema modular Java. O autor argumenta que é muito mais fácil criar uma aplicação confiável e segura se o código for empacotado em blocos organizados. Módulos em Java são uma ferramenta relativamente nova, mudanças arquitetônicas fundamentais afetaram o núcleo Java apenas desde a versão 9. E embora haja cada vez mais projetos com módulos, há pessoas que estão acostumadas a trabalhar à moda antiga e não sabem nada sobre isso. inovações interessantes. Depois de ler este livro, você entenderá como monitorar como diferentes arquivos JAR interagem e encontrar facilmente dependências ausentes. Se você leva a sério projetos Java modulares ou precisa aprender módulos para trabalhar, confira este livro.

Vantagens:

  • A descrição mais completa das vantagens do sistema modular.
  • Ótimos exemplos e estratégias de migração para módulos.

Imperfeições:

  • Possui poucas descrições sintáticas, o que é difícil para iniciantes.

12. Java Moderno em Ação: Lambdas, streams, programação funcional e reativa

Embora Java já exista há muitos anos, a linguagem está constantemente ganhando novos recursos. É claro que somos todos humanos e os programadores às vezes ignoram novos recursos e abordagens e relutam em implementá-los em projetos Java. Livros como Modern Java in Action foram elaborados para ajudar a resolver esse problema. Este guia cobre detalhadamente os tópicos mais frequentemente abordados em treinamentos curtos com mentoria. Deixe-me observar que normalmente esse treinamento dura de 1 a 3 dias e as informações lá são muito concentradas. Portanto, os programadores novatos simplesmente se afogam em novas informações e não as assimilam. E este livro irá guiá-lo passo a passo, desde expressões lambda até referências de métodos, interfaces funcionais e threads, e se você puder resolver isso com cuidado.

Vantagens:

  • Este livro contém todos os recursos modernos do Java, por isso é muito útil.
  • Apresentação consistente de conceitos complexos.
  • Os autores comparam as novas tendências com as tradicionais. Portanto, este livro pode ser recomendado até mesmo para iniciantes.

Imperfeições:

  • Para quem já conhece algo sobre o assunto, o livro pode parecer um pouco prolixo.

13. Desenvolvimento Android com a cabeça

Java é a linguagem nativa do Android. Portanto, uma das opções mais populares para iniciar o desenvolvimento de aplicativos nesta linguagem é criar um aplicativo Android. Este livro (há uma tradução russa "Head First Programming for Android") é outro da série Head First. Portanto, os traços familiares da série são bastante inerentes a este manual. Ou seja, aqui você encontrará muitas fotos, um estilo fácil, uma grande quantidade de exercícios sem se aprofundar seriamente na essência. Isso significa que se você quiser entender completamente o desenvolvimento de aplicativos Android, pode ser necessário fazer algumas pesquisas adicionais e se aprofundar nas fontes. Mas se você deseja começar a programar rapidamente este sistema, este é o lugar para você.

Vantagens:

  • Estilo fácil, imagens, diversas tarefas e exercícios de projeto que podem envolver ativamente o leitor no processo de aprendizagem.
  • Simplicidade e acessibilidade: Os autores tentam explicar conceitos complexos em termos simples, facilitando a compreensão dos iniciantes.

Imperfeições:

  • Obsolescência: As rápidas mudanças na tecnologia no mundo da programação e do Android podem fazer com que o livro não contenha mais as abordagens e ferramentas atuais.
  • Alguns tópicos são tratados de forma muito superficial.

14. Aprendendo Java: Apresentando a Programação do Mundo Real com Java

Deixe-me dizer desde já que este livro não se destina a iniciantes. Você precisará dele se conhecer Core Java pelo menos em um nível básico e puder escrever aplicativos simples. Nesse caso, este livro o ajudará a compreender os vários conceitos complexos da linguagem Java e a explicar como todas essas classes, bibliotecas, expressões lambda, entrada/saída, etc. são usadas na programação industrial real. O livro é baseado em versões modernas de Java e contém exemplos bastante simples, mas úteis para trabalho real. A última seção fala sobre como usar Java diretamente para aplicações web e servidores web, algo que você não vê com frequência em livros. A propósito, este livro também existe na versão russa (“Programming in Java”, Mark Loy).

Vantagens:

  • Versões modernas de Java.
  • Exemplos de aplicações web e servidores.

Imperfeições:

  • Difícil para iniciantes.

Clássico atemporal

Os livros sobre os quais escrevo abaixo podem ser chamados de textos sagrados para javistas iniciantes e intermediários.

15. Java Eficaz, Joshua Bloch

É um tesouro, não um livro, e concentra-se nos princípios básicos da linguagem de um de seus autores, Joshua Bloch. Muito provavelmente você já usou suas bibliotecas (na Java Collection, por exemplo). Farei uma reserva imediatamente: iniciantes, exceto alguns prodígios-speedrunners, não precisam do livro Effective Java. Primeiro, é melhor dominar a sintaxe e adquirir pelo menos alguma prática de programação, por assim dizer, entender o assunto e então assumir a criação de Joshua Bloch. O livro será útil para quem deseja realmente entender Java, formar a abordagem correta ao programar nesta linguagem, entender não apenas como fazê-lo, mas tudo o mais que precisa ser feito exatamente dessa maneira. E também para quem quer entender profundamente OOP (em princípio, são coisas inter-relacionadas). Este livro é o melhor livro sobre Java no contexto da abordagem de programação orientada a objetos.

Vantagens:

  • Uma apresentação brilhante de material sobre o tema OOP.
  • As melhores práticas de programação são fornecidas.
  • O autor conhece Java muito bem por dentro.

Imperfeições:

  • Difícil para iniciantes.

16. Filosofia Java, Bruce Eckel

O título deste livro fala por si. Esse é mais um alfa e ômega para quem quer conhecer Java! Neste livro você encontrará exemplos bons e claros, e a partir deles ficará claro como o Java funciona. É difícil para mim dizer qual dos dois livros - "The Philosophy of Java" ou "Effective Programming" - é melhor. Eu diria que Eckel é um pouco mais amigável com iniciantes, enquanto Bloch requer alguma experiência. Li pela primeira vez o capítulo de "Filosofia Java" quando estava começando a aprender JavaRush (acho que foi listado como recomendado em um dos níveis iniciais). Então ela não combinava comigo. Mas depois do nível 10 ou 12 – era uma música! E, direi, uma música muito útil. Voltei a isso mais tarde, quando cheguei à Programação Eficaz. Direi o seguinte: deixemos que Bloch e Eckel falem da mesma coisa, mas de maneiras diferentes, e dêem exemplos diferentes.

Vantagens:

  • Uma apresentação detalhada dos princípios Java feita por um profissional.
  • Será bom para quem está migrando de outras linguagens – há muitas comparações com C++, por exemplo.
  • Parece-me que você pode começar a ler no nível 10, mas Eckel – um pouco mais tarde.

Imperfeições:

  • Traduções russas muito ruins.

Livros gerais de programação

Os livros a seguir não estão diretamente relacionados ao Java, mas serão úteis para o desenvolvedor iniciante, pois ajudam a desenvolver o pensamento do programador e a entender como funciona um computador, os principais princípios e conceitos de programação, o que é código limpo e como escrever isto.

17. Problemas clássicos da ciência da computação em Java

Este livro de David Kopec pode ser traduzido como "Problemas Clássicos em Ciência da Computação em Java". E é destinado tanto a desenvolvedores experientes quanto àqueles iniciantes que conhecem uma linguagem de programação e já estão começando a enfrentar problemas do mundo real. Ou para aqueles que estão interessados ​​em tarefas não padronizadas para desenvolver o pensamento do programador. Ou para quem quer aprimorar suas habilidades e se sair bem nas entrevistas. Algumas tarefas parecem intransponíveis, mas o mundo da programação é menor do que parece. Muito provavelmente, alguém já resolveu seu problema insolúvel. Em seu livro, David Kopec coletou as soluções, princípios e algoritmos prontos mais úteis. Classic Computer Science Problems contém 55 exemplos práticos que cobrem os tópicos mais atuais: algoritmos básicos, restrições, inteligência artificial, etc. Principais tópicos do livro:
  • Recursão, memorização e manipulação de bits.
  • Algoritmos de busca, gráficos e genéticos.
  • Clustering (método k-means), redes neurais e busca competitiva.
  • Vantagens:

    • Todos os algoritmos úteis e abordagens para eles em um livro.
    • Exemplos em Java.

    Imperfeições:

    • Alguns exemplos são difíceis de entender para iniciantes.

    18. Use a cabeça, aprenda a programar, de Eric Freeman

    Já mencionei os livros Use a Cabeça duas vezes neste artigo. Aqui está o terceiro! Ele, como todos os livros da série, foi escrito para iniciantes e é dedicado à programação como tal. Se você já encontrou a série antes, ao abrir este livro, reconhecerá facilmente o estilo característico de Use a Cabeça! Recomendo este livro se precisar de ajuda com os principais conceitos de programação de uma forma divertida e fácil de entender.

    Vantagens:

    • Fornece uma compreensão geral da programação.

    Imperfeições:

    • Utiliza exemplos em Python (por ser considerada a linguagem mais fácil para iniciantes).

    19. Código Limpo, Robert S. Martin

    Um programador iniciante não presta muita atenção ao estilo do seu código. Ele está muito mais focado no combate aos erros. Porém, melhorar seu estilo é muito importante para seu trabalho potencial: é muito difícil trabalhar com uma pessoa que não adere a um código limpo em projetos. Seu código é difícil de ler e manter. Este livro mostrará a diferença entre código bom e código ruim e ensinará as regras básicas para escrever código limpo e legível usando as melhores práticas. Pergunte a um profissional e há uma boa chance de ele recomendar este livro a todos os aspirantes a desenvolvedor.

    Vantagens:

    • Bons exemplos e dicas para criar código legível.
    • Um dos poucos livros do gênero.

    Imperfeições:

    • O autor às vezes é muito escrupuloso.

    20. Código: A Linguagem Secreta da Ciência da Computação, Charles Petzold

    Este livro pode ser recomendado tanto para um aluno interessado em computadores quanto para um programador com muitos anos de experiência que deseja entender melhor a ciência da computação. Me deparei com a versão russa deste livro no ensino médio e fiquei muito inspirado. Ele ainda explica o design do circuito usando exemplos muito simples, e tudo começa com galinhas e uma lanterna básica. O autor cobre uma ampla gama de tópicos como eletricidade, circuitos, relés, sistema binário, lógica, portas, microprocessadores, código e outros para construir gradualmente uma compreensão de como funciona a tecnologia computacional. Depois de ler este livro, você entenderá o que está por trás dos pixels da sua área de trabalho e o que acontece sempre que você usa seus dispositivos.

    Vantagens:

    • Mergulhe profundamente no nível mais baixo de hardware.

    Imperfeições:

    • Às vezes o mergulho é muito profundo :)

    21. Entrevista decifrando a codificação, Gail Laakmann McDowell

    Este é um livro muito interessante para quem planeja procurar emprego como desenvolvedor de software em um futuro próximo. Ele contém uma ampla gama de perguntas práticas e soluções que podem ser feitas durante uma entrevista. Claro que tudo flui, tudo muda. E as tendências em “testes” de desenvolvedores estão mudando. No entanto, este livro ajudará o novato a entender o que esperar da entrevista. No entanto, recomendo aprimorar esse conhecimento em fóruns e comunidades Java.

    Vantagens:

    • Preparando-se para entrevistas de programação no mundo real.

    Imperfeições:

    • Não ajudará sem fontes adicionais.

    Algoritmos e estruturas de dados

    O conhecimento de algoritmos ajuda a resolver problemas de desenvolvimento de software de maneira eficiente e otimizada. Saber como escolher as estruturas de dados corretas ajuda a melhorar o desempenho, reduzir custos de memória e fornecer programas mais estáveis ​​e eficientes. E ainda assim, você precisa conhecê-los pelo menos para passar nas entrevistas. Abaixo estão alguns livros úteis.

    22. Algoritmos de balanço, Aditya Bhargava

    Um livro muito interessante e bastante simples sobre os fundamentos dos algoritmos. Ele explica algoritmos populares, como classificação e pesquisa em formato gráfico. São livros como este que ajudam você a compreender a beleza e a complexidade dos algoritmos e a amá-los de todo o coração. O livro tem muitas fotos: o autor prefere uma abordagem visual às explicações. O livro está dividido em seções curtas com vários exemplos para garantir que as novas informações sejam absorvidas nas proporções corretas.

    Vantagens:

    • Boas explicações com gráficos.
    • Interessante sobre o complexo.

    Imperfeições:

    • Exemplos em Python.

    23. Introdução aos Algoritmos, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein

    Introdução aos Algoritmos (título em russo “Algoritmos: Construção e Análise”) é um livro de muito sucesso sobre algoritmos para quem gosta de uma apresentação consistente e completa do material. Todos os exemplos do livro são escritos no chamado pseudocódigo, ou seja, não em uma linguagem de programação real, mas em uma linguagem sintética e intuitivamente compreensível para todos. Embora o livro seja anunciado como uma “introdução aos algoritmos”, os tópicos abordados são muito amplos e os conceitos de estruturas de dados e algoritmos são muito bem explicados.
    • Classificação: um estudo detalhado de vários algoritmos de classificação, como classificação por inserção, classificação por troca, classificação rápida, classificação por mesclagem, etc.
    • Pesquisa: pesquisa para frente, pesquisa para trás, pesquisa binária e outras.
    • Árvores: árvores binárias, árvores rubro-negras, árvores AVL e outras.
    • Gráficos: percurso de gráfico, busca de caminho mais curto, árvore de esqueleto mínimo, etc.
    • Programaçao dinamica.
    Mas o livro também tem suas deficiências. Na minha opinião, a Introdução foca muito no aspecto teórico dos algoritmos, mas às vezes falta detalhes quanto à sua implementação prática. O original está escrito em um inglês bastante simples (recomendo a versão em inglês!).

    Vantagens:

    • Uma excelente apresentação teórica dos algoritmos mais importantes para classificação, pesquisa, árvores, gráficos.
    • Inglês fácil.

    Imperfeições:

    • Não basta praticar, concentre-se nos aspectos teóricos do tema.

    24. Pense em estruturas de dados: algoritmos e recuperação de informações em Java (Allen B. Downey)

    Este é um guia útil para usar estruturas de dados em programação com exemplos em Java. O livro se concentra na prática, o que ajuda você a entender rapidamente como implementar e usar algoritmos e estruturas de dados em programas reais. O autor explica conceitos complexos de algoritmos e estruturas de dados de uma forma acessível e compreensível, portanto, se você possui pelo menos habilidades básicas de programação, este livro é adequado para você. Cada seção contém uma introdução ao tema, exemplos, explicações adicionais e exercícios para consolidar a teoria. O que é especialmente interessante é que cada capítulo contém problemas de design que permitem aos leitores aplicar o que aprenderam para criar suas próprias implementações de algoritmos e estruturas de dados.

    Vantagens:

    • Material conciso com exemplos úteis.
    • Disponibilidade de tarefas do projeto.

    Imperfeições:

    • Pode ser um pouco difícil para iniciantes.
    • Nem todos os tópicos são abordados com a mesma profundidade.

    25. Algoritmos, Robert Sedgewick, Kevin Wayne

    Um dos livros mais famosos sobre programação, escrito por verdadeiros especialistas em sua área, que criaram mais de uma geração de engenheiros de software. Se você não se intimida com uma apresentação acadêmica minuciosa e imersão total no tema, se está pronto para entender verdadeiramente os algoritmos, analisá-los de uma vez por todas, estude este livro. É uma boa escolha para estudantes, professores e desenvolvedores. No entanto, para iniciantes, pode ser necessário mais tempo e esforço para obter uma boa compreensão do material do livro. Os autores combinam com sucesso a teoria com exemplos práticos em Java, o que torna mais fácil para os leitores compreenderem conceitos complexos.

    Vantagens:

    • Apresentação clara e completa.
    • Muitos exemplos em Java.
    • Variedade de tópicos: O livro cobre quase tudo que você precisa saber sobre algoritmos.

    Imperfeições:

    • Apresentação acadêmica excessiva.
    • O livro pode ser difícil de estudar sozinho, sem o apoio adequado e
    Comentários
    TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
    GO TO FULL VERSION