É benéfico ler livros antigos de programação Java? [fechadas]

10

Muitos dos meus livros sobre Java têm entre 5 e 10 anos. Ainda ajuda a lê-los, ou devo usar algo dentro de 2 anos.

Adel
fonte
2
depende, ainda é obsoleto, o tempo de retorno investido para lê-lo também deve ser comparado com o tempo usado para ler livros atualizados.
Sarawut Positwinyu

Respostas:

26

Se os livros forem sobre o próprio idioma , perca-o e adquira um novo.

Se o livro trata de programação como assunto (arte, assunto, disciplina, técnicas, o que for), então definitivamente vale a pena ler. Os melhores livros de programação que eu já escrevi há mais de 10 anos.

CesarGon
fonte
12
Pode-se argumentar que K&R é sobre o próprio C e é o melhor livro em C que você encontrará.
Vitor Py
7
Eu concordo com o @Victor Braga. Não se trata de quando o livro foi escrito, mas de quanto o idioma mudou. Java mudou muito nos últimos 5 a 10 anos. No entanto, C não tem. Seus livros Java de 5 anos são praticamente inúteis. No entanto, sua primeira edição do livro K&R C de 1978 é muito mais atualizada (embora não seja 100% precisa e a segunda edição de 1988). O principal fator é o quanto o idioma e as ferramentas de suporte mudaram entre a publicação do livro e quando você deseja usá-lo.
Thomas Owens
11
Os livros com +1 em conversas pequenas têm 30 anos e ainda são inestimáveis.
Kamil Tomšík
8

Depende do livro e do que você deseja aprender com eles e com você.

Existem razões de bens para ler livros antigos:

  • Se eles ensinam conceitos melhor do que seus novos equivalentes.
  • Se eles ensinam princípios gerais e não tecnologias específicas.
  • Se a tecnologia que eles ensinam não mudou muito.

Pessoalmente, guardo ALGUNS dos meus livros de programação antigos:

  • Eu sei onde encontrar o que estou procurando.
  • Eles têm minhas anotações neles.
  • Eles jogam minha memória melhor do que novos livros.
  • É (obviamente) mais barato do que comprar um novo.

Por exemplo, o manual do usuário do ZX81 (por volta de 1981) tem uma ótima descrição de um algoritmo de desenho em linha reta. Ainda faz mais sentido para mim do que qualquer coisa que eu li desde então. Eu o usei como base de uma implementação várias vezes ao longo dos anos.

Tudo isso dito, eu também li novos livros. Eu certamente não quero ficar preso na idade das trevas.

Kramii
fonte
4

Se eles eram bons, então, e os recursos de linguagem que ensinam não mudaram - então por que não!

Eu não acho que os fundamentos do Java mudaram muito desde a versão 1.2 (ou Java 2).

Martin Beckett
fonte
6
Depende de como você define os fundamentos. 5-10 anos atrás, coisas como genéricos, caixa automática, enumerações, varargs e o loop for-each eram novos ou ainda não existiam. Acredito que esses recursos mudaram fundamentalmente a maneira como você escreve software de boa qualidade, alta qualidade, legibilidade e manutenção em Java. Sem mencionar, várias funções padrão não seriam cobertas porque as pessoas precisariam executar suas próprias funções. Por que aprender práticas e hábitos de 5 a 10 anos que você precisará quebrar e aprender novas técnicas?
Thomas Owens
5
@ World Engineer - Isso é assustador. Há 12 anos, era 1999, o que significa que o Java 1.2 foi lançado. Depois disso, foram feitas alterações no RMI, o JNDI tornou-se o núcleo, a palavra-chave assert foi adicionada, as alterações no regex e as APIs de NIO e de log, genéricos, classe Scanner, autoboxing, enumerações, varargs e o loop for-each adicionado. Sem mencionar alterações no AWT, Swing, JDBC e no compilador e no compilador JIT. Essa universidade está ensinando maus hábitos a quem lê esse livro. Eu teria que questionar o valor de qualquer um que se forma a partir desse programa, se eles não podem usar os recursos adequados para os primeiros cursos
Thomas Owens
3
@ Thomas Ele disse "curso de abertura". Nada do que você listou é ensinado em qualquer curso introdutório, exceto, talvez, um foreach.
Pete
2
@Pete Usamos ou discutimos genéricos, Scanner, enums, autoboxing e Swing nos dois primeiros trimestres (cerca de um semestre e meio) da minha sequência de CS no primeiro ano.
Thomas Owens
11
O texto era mais uma referência, Swing e Scanners apareceram na primeira semana.
World Engineer
2

Um dos melhores livros de engenharia elétrica (a arte da eletrônica) foi escrito há mais de 20 anos e, embora o campo da engenharia elétrica tenha crescido aos trancos e barrancos, possivelmente o maior crescimento de qualquer setor, o livro ainda é conhecido por muitos como o texto único e autoritário.

Embora muitos dos exemplos do livro estejam desatualizados e substituídos por designs mais recentes, o livro não trata de ensinar você a construir um relógio digital, mas como projetar um. As regras fundamentais ainda se aplicam e se era um bom livro, então agora é um bom livro.

Obviamente, se é um livro sobre alguma API antiga e obscura, pode não ser útil hoje ou no futuro próximo e você provavelmente pode ficar sem. mas, novamente, um livro como esse está apenas lhe dizendo como construir algo e, portanto, sua vida útil é limitada, mantenha-se com livros generalizados.

Mantenha os livros que ensinam como projetar uma solução e não os que dizem como construí-la. Pode ficar claro quais métodos foram alterados e você pode simplesmente ignorar essas partes, mas um bom livro sobre C ainda vale seu peso em ouro.

Silverfire
fonte
11
A primeira parte é verdadeira, mas não concordo com a segunda parte. Um livro sobre Java normalmente ensina como construir com Java, não como projetar um sistema que eventualmente será implementado em Java. E também, comparar uma linguagem relativamente imutável (como C) com uma linguagem que muda rapidamente (como Java) é falha.
Thomas Owens
2

Pode ser útil manter os livros antigos como referência se você trabalhar em qualquer sistema legado com base em tecnologia desatualizada, especialmente nos sistemas J2EE antigos. Eu costumava manter um livro J2EE antigo, porque ocasionalmente encontrava algum código antigo que usava o EJB 2.1 ou o código Swing antigo.

A última versão do Java para introduzir grandes mudanças na linguagem foi o Java 5 em 2004. Todos os livros escritos após esse período devem incorporar essas alterações na linguagem e devem ser lidos em geral (e talvez nem tenham uma edição mais recente publicada). Observe, no entanto, que muita coisa mudou no ecossistema Java desde aquela época; a estrutura Spring e o Maven, por exemplo, agora são tecnologias amplamente usadas que não eram tão predominantes na época.

Ken Liu
fonte
0

Acesse amazon.com e procure livros em java. Normalmente, os livros são iguais, mas você pode descobrir qual é o melhor lendo resenhas. Eu sempre escolho os livros assim - leio as resenhas e depois decido qual delas vou ler.

Sergey
fonte
-1

Para a linguagem Java e como programar em java, é bom ter as edições mais recentes desses livros, por exemplo, a classe WeakReference é do Java 1.2 e não há muitos programadores que não sabem que essa classe existe no Java SE , o que significa que ler os livros mais recentes para Java é a melhor coisa, isso só é bom para algumas estruturas, mas, para entender esses livros mais recentes, é necessário ter o básico, o que você não obterá com os livros mais recentes, mas o com os livros mais recomendados. Acho que pensando em Java, edição mais recente, é um bom livro para começar com Java

user31645
fonte