Quais livros vocês consideram suas "leituras obrigatórias"?

32 respostas
K

Neste domingo de carnaval comecei a arrumar meus livros e, neste processo, pude rever alguns que foram essenciais para a minha formação.

Basicamente,
The Art of Computer Programming - Knuth (todos os volumes)
Introduction to Algorithms - Cormen
Code Complete - Steve McConell
A Linguagem de Programação C - Kernigham e Ritchie
Escrevendo Código Seguro - David Leblanc

Publiquei o porquê dos mesmos no meu blog ( http://www.itexto.net/devkico/?p=279 ). No entanto, muitos outros também poderiam ser incluídos na lista.

Sendo assim, pergunto: quais seriam os livros e cabeceira de vocês? O que, na opinião de vocês, não poderia faltar na biblioteca de um desenvolvedor?

32 Respostas

A

Apesar de não ter nenhum dos que vou citar, eu sempre estou com algum deles (ou alguns) na mão:

  • Concrete Mathematics, de Ronald Graham, Donald Knuth, e Oren Patashnik;
  • The Art of Computer Programming, Vol I & II, de Donald Knuth;
  • Introduction to Algorithms, de Cormen et. al (CLRS);
  • Effective C++, de Scott Meyers;
  • Thinking in C++, de Bruce Eckel;
  • Design Patterns, de GOF;
  • (Esse mais raramente) Sistemas Operacionais, do Tannenbaum (nunca sei escrever o sobrenome dele direito);
  • Refactoring, de Martin Fowler.

Ainda não estou contente com esses… :oops: :oops:
Espero, em breve, começar a ler alguma coisa sobre TDD, DDD e o livro PEAA, do Fowler.

Abraço.

K

Andre Brito:
Apesar de não ter nenhum dos que vou citar, eu sempre estou com algum deles (ou alguns) na mão:

  • (Esse mais raramente) Sistemas Operacionais, do Tannenbaum (nunca sei escrever o sobrenome dele direito);

Abraço.

Bem lembrado! Me lembro de ter passado um bom tempo com este debaixo do braço!

R

Um livro de Java que li e recomento é o Effective Java (http://www.amazon.com/Effective-Java-Programming-Language-Guide/dp/[telefone removido]/ref=pd_bbs_sr_3?ie=UTF8&s=books&qid=[telefone removido]&sr=8-3).

Para os webdevelopers recomendo o Don’t Make Me Think: A Common Sense Approach to Web Usability (http://www.amazon.com/Dont-Make-Me-Think-Usability/dp/[telefone removido]/ref=sr_1_1?ie=UTF8&s=books&qid=[telefone removido]&sr=1-1)

L

Como “leitura obrigatória”, eu recomendaria os seguintes livros:

  • Design Patterns: Elements of Reusable Object-Oriented Software (como ninguém ainda recomendou?)

  • Refactoring: Improving the Design of Existing Software

  • Agile Software Development, Principles, Patterns and Practices

  • Effective Java

  • Extreme Programming Explained: Embrace Change

  • The Pragmatic Programmer: From Journeyman to Master

A

Não é o mesmo livro?! :roll:

V

Vocês são muito nerds :shock: Como conseguem ler tantos livros? e tudo ingles ainda…
Eu to suando pra terminar dois que comecei ano passado… Head First Design Patterns (ingles) e outro de UML (portugues).

Abraço,

L

valterj:
Vocês são muito nerds :shock: Como conseguem ler tantos livros? e tudo ingles ainda…
Eu to suando pra terminar dois que comecei ano passado… Head First Design Patterns (ingles) e outro de UML (portugues).

Abraço,

ue ninguem falou que leu os livros em X tempo. Agora eu mesmo leio 1 livro em 2 meses (400 pgs), lendo ele lentamente e no caso de nossos livros tecnicos, gosto bastante de praticar… levo esse tempo todo pq as horas livres que tenho para isto é curto.

[b]- Refactoring: Improving the Design of Existing Software (esse deve ser um livro de cabeçeira para todo bom programador)

  • Effective Java
  • Servlet & JSP - use a cabeça (o livro mais completo sobre o assunto, bem focado)[/b]
A

valterj:
Vocês são muito nerds :shock: Como conseguem ler tantos livros? e tudo ingles ainda…
Eu to suando pra terminar dois que comecei ano passado… Head First Design Patterns (ingles) e outro de UML (portugues).

Abraço,


Isso não é nerdice. É vontade de aprender cada vez mais. Sobre ser em inglês, depois de uns dois, três livros você se acostuma. As vezes é até ruim de escrever alguma coisa em português porque você só sabe o termo apropriado em inglês.

Abraço.

R

valterj:
Vocês são muito nerds :shock: Como conseguem ler tantos livros? e tudo ingles ainda…
Eu to suando pra terminar dois que comecei ano passado… Head First Design Patterns (ingles) e outro de UML (portugues).

Abraço,

hehehehe … só em filme que o cara vira um ás da computação jogando WOW …

R

Cara, obrigatória mesmo, dos livros que eu tenho eu citaria o Design Patterns , do GOF mesmo.

K

Andre Brito:
valterj:
Vocês são muito nerds :shock: Como conseguem ler tantos livros? e tudo ingles ainda…
Eu to suando pra terminar dois que comecei ano passado… Head First Design Patterns (ingles) e outro de UML (portugues).

Abraço,


Isso não é nerdice. É vontade de aprender cada vez mais. Sobre ser em inglês, depois de uns dois, três livros você se acostuma. As vezes é até ruim de escrever alguma coisa em português porque você só sabe o termo apropriado em inglês.

Abraço.

Aliás, coisa que me assusta muito é a quantidade de gente da nossa área que não sabe inglês. Indo um pouco mais além, a quantidade de IGNORANTES (não estou chamando ninguém aqui de ignorante, por favor não entendam mal), é mais assustadora ainda. Coisa que até já questionei no meu blog recentemente: http://www.itexto.net/devkico/?p=253

Não que não exista publicações boas em português. Elas existem, e editoras como a DevMedia e a Mundo tem feito um trabalho maravilhoso nesta área. O problema é que o que existe ainda é muito reduzido, principalmente pelo fato do português não ser um idioma tão falado quanto o espanhol (para o qual existem mais publicações). E se você fica apenas com o que está em português, bem: você estará sempre anos atrás de todo mundo.

L

kicolobo:
Andre Brito:
valterj:
Vocês são muito nerds :shock: Como conseguem ler tantos livros? e tudo ingles ainda…
Eu to suando pra terminar dois que comecei ano passado… Head First Design Patterns (ingles) e outro de UML (portugues).

Abraço,


Isso não é nerdice. É vontade de aprender cada vez mais. Sobre ser em inglês, depois de uns dois, três livros você se acostuma. As vezes é até ruim de escrever alguma coisa em português porque você só sabe o termo apropriado em inglês.

Abraço.

Aliás, coisa que me assusta muito é a quantidade de gente da nossa área que não sabe inglês. Indo um pouco mais além, a quantidade de IGNORANTES (não estou chamando ninguém aqui de ignorante, por favor não entendam mal), é mais assustadora ainda. Coisa que até já questionei no meu blog recentemente: http://www.itexto.net/devkico/?p=253

Não que não exista publicações boas em português. Elas existem, e editoras como a DevMedia e a Mundo tem feito um trabalho maravilhoso nesta área. O problema é que o que existe ainda é muito reduzido, principalmente pelo fato do português não ser um idioma tão falado quanto o espanhol (para o qual existem mais publicações). E se você fica apenas com o que está em português, bem: você estará sempre anos atrás de todo mundo.

isso nao eh de hj, ja é algo que acontece a seculos de profissionais nao querer aprender um segundo idioma, principalmente o ingles se tornou uma lingua internacional. Principalmente os profissionais de T.I que acha que vai ganhar o mundo sabendo apenas a parte tecnica e esperando as traducoes, sem ele saber que com o ingles ele consegue crescer mais rapidamente em varias areas de sua carreira… e assim um curso regular de ingles nao é tao caro e nao entendo pq as pessoas nao fazem, eu mim arrependendo pq nao comecei ingles quando tinha meus 15 anos ou menos, na epoca nao tinha a visao que tenho hj e a importancia do idioma.
Agora eu discordo dessa parte de IGNORANTES, vejo mais como falta de visao e ainda nao saber a real necessidade de saber um segundo idioma. A copa no Brasil está vindo ai e quem saber no minimo ingles fluente para conversacao vai ganhar dinheiro como vender agua no deserto, pq o nro de profissionais com ingles fluente é realmente muito pouco para uma copa.

L

O que o Bill Gates disse a respeito desses livros:

“If you think you’re a really good programmer [?] read (Knuth’s) Art of Computer Programming [?] You should definitely send me a resume if you can read the whole thing.”

M

[list]Projeto de Software (Eric Braude).[/list]
[list]Utilizando UML e Padrões (Craig Larman).[/list]
[list]Escrevendo Código Seguro (Michael Howard e David LeBlanc).[/list]
Todos traduzidos e editados pela Bookman. :wink:

K

LPJava:

Agora eu discordo dessa parte de IGNORANTES, vejo mais como falta de visao e ainda nao saber a real necessidade de saber um segundo idioma. A copa no Brasil está vindo ai e quem saber no minimo ingles fluente para conversacao vai ganhar dinheiro como vender agua no deserto, pq o nro de profissionais com ingles fluente é realmente muito pouco para uma copa.

Opa LPJava, com relação a ignorância, estou me referindo à ignorância além do não saber inglês. É ignorância TÉCNICA mesmo. Ignorância de não se saber o que é um padrão de projeto, o que é uma arquitetura, de se possuir o jargão básico para que se possa produzir algo de qualidade.

NO entanto, você acaba concordando na sua discordância, quer ver? :slight_smile:

“Agora eu discordo dessa parte de IGNORANTES, vejo mais como falta de visao e ainda nao saber a real necessidade de saber um segundo idioma.”

Se alguém não tem visão, ignora algo. Se ignora, é porque é… ignorante. Não existe esta de “fulano não ter visão”. É ignorante mesmo!

C

nem sei o porque dessa discussão sem fim sobre o inglês

enquanto o inglês for o idioma oficial, dominá-lo não é somente uma obrigação dos profissionais de TI mas de qualquer ser humano que deseje algo a mais neste mundo.

C

lavh:
kicolobo:

The Art of Computer Programming - Knuth (todos os volumes)

O que o Bill Gates disse a respeito desses livros:

“If you think you’re a really good programmer [?] read (Knuth’s) Art of Computer Programming [?] You should definitely send me a resume if you can read the whole thing.”

A nao ser que voce queira aprender de tabela linguagem de maquina, provavelmente SICP sera uma experiencia mais agradavel de assimilacao dos conceitos e algoritmos gerais da computacao, porque o livro do knuth ate onde sei (nao tenho o livro) emprega os exemplos usando codigo assembly. :shock:

L

cmoscoso:
lavh:
kicolobo:

The Art of Computer Programming - Knuth (todos os volumes)

O que o Bill Gates disse a respeito desses livros:

“If you think you’re a really good programmer [?] read (Knuth’s) Art of Computer Programming [?] You should definitely send me a resume if you can read the whole thing.”

A nao ser que voce queira aprender de tabela linguagem de maquina, provavelmente SICP sera uma experiencia mais agradavel de assimilacao dos conceitos e algoritmos gerais da computacao, porque o livro do knuth ate onde sei (nao tenho o livro) emprega os exemplos usando codigo assembly. :shock:

O que menos importa nesse livro do Knuth é em qual linguagem os algoritmos são implementados. A arte deste livro está na explicação matemáticas de porque o algoritmo funciona…

C

Isto quer dizer que aprender assembly nao é problema pra vc, ou que vc nao faz questao de entender os exemplos contidos no livro?

L

kicolobo:
LPJava:

Agora eu discordo dessa parte de IGNORANTES, vejo mais como falta de visao e ainda nao saber a real necessidade de saber um segundo idioma. A copa no Brasil está vindo ai e quem saber no minimo ingles fluente para conversacao vai ganhar dinheiro como vender agua no deserto, pq o nro de profissionais com ingles fluente é realmente muito pouco para uma copa.

Opa LPJava, com relação a ignorância, estou me referindo à ignorância além do não saber inglês. É ignorância TÉCNICA mesmo. Ignorância de não se saber o que é um padrão de projeto, o que é uma arquitetura, de se possuir o jargão básico para que se possa produzir algo de qualidade.

NO entanto, você acaba concordando na sua discordância, quer ver? :slight_smile:

“Agora eu discordo dessa parte de IGNORANTES, vejo mais como falta de visao e ainda nao saber a real necessidade de saber um segundo idioma.”

Se alguém não tem visão, ignora algo. Se ignora, é porque é… ignorante. Não existe esta de “fulano não ter visão”. É ignorante mesmo!

pelo jeito que vc colocou nao aparentou isso :).

K

cmoscoso:
lavh:
kicolobo:

The Art of Computer Programming - Knuth (todos os volumes)

O que o Bill Gates disse a respeito desses livros:

“If you think you’re a really good programmer [?] read (Knuth’s) Art of Computer Programming [?] You should definitely send me a resume if you can read the whole thing.”

A nao ser que voce queira aprender de tabela linguagem de maquina, provavelmente SICP sera uma experiencia mais agradavel de assimilacao dos conceitos e algoritmos gerais da computacao, porque o livro do knuth ate onde sei (nao tenho o livro) emprega os exemplos usando codigo assembly. :shock:

Não é beeem assim. Na realidade o Knuth propõe um computador teórico chamado MMIX que emprega uma linguagem bem mais tranquila de se entender do que uma “tabela de linguagem de máquina”. Está um (ou mais níveis) nível acima.

Sendo assim, não é algo tãão complicado quanto você faz parecer aqui.

A

Não, o que ele quis dizer que o importante do livro não é a implementação, mas as provas matemáticas do porquê fazer daquela maneira. O mesmo acontece com o livro do Cormen… O problema é que tem muita gente [color=white]sem noção[/color] que que ignora a prova matemática porque só quer pegar o algoritmo pra resolver um problema. TAOCP dá mais ênfase pra prova matemática do porquê funciona (tanto que é referenciado no livro do Cormen). Acho que essa é uma das razões que os estudantes indicam mais o Intro. to Algorithms do que o TAOCP.

Acredite, quando você vai resolver um problema, saber muita matemática é essencial.

Por exemplo (postei o mesmo no forum do br.spoj).
Pergunta: Quantos zeros tem um fatorial de um número?

  • Fazer uma solução brute force é muito fácil. Agora, quando a entrada tem um valor gigante (tipo 1 bilhão), essa solução fica lenta. Qual a melhor solução? Partir pra matemática, dividindo o número entrado pelas potências de 5 e pegando o resultado da divisão.

Agora, como foi que eu sabia disso? Bom, na verdade, eu achei a solução na Internet porque meu algoritmo não passava. Mas aonde que o cara que resolveu encontrou a prova matemática? Provavelmente em algum livro nervoso de matemática.

Abraço.

C

Se implementacao nao fosse imporatnte, qualquer solucao considerada correta resolveria o problema, nao apenas a versao correta e performatica.

L

Vamos supor que você descubra um algoritmo que resolva o problema do caixeiro-viajante em tempo polinomial. Se você chegar e falar:

“Tah aqui o algoritmo implementado em Java, como vocês podem ver ele está bem performático e funciona também, observem aqui os exemplos
de entrada que eu tenho, e como todos dão o resultado correto.”

Você acha que alguém vai dar valor a sua descoberta?

Agora se você chegar e falar:

“Tah aqui o pseudo-código do problema, as invariantes provando que ele funciona e a analise mostrando que ele é polinomial em tempo O(x)”

Você vai ganhar um milhão, e se tornar rico e famoso! :slight_smile:

P

Ler sobre coisas diferentes do que estamos habituados (isto é, ler sobre Haskell quando trabalhamos com Java, ler sobre Assembly quando trabalhamos com processos Waterfall, ler sobre Alpinismo quado trabalhamos em projetos fadados a demorar 400% a mais) abre um pouco a nossa capacidade criativa. Provavelmente vc não vai conseguir copiar uma solução de um contexto e copiar em outro, mas vc pode imaginar algo diferente.

C

Bom, como o titulo do topico é leituras obrigatorias…as minhas são:

songBook do Maiden, Helloween, Dream Theater e por ai vai…rsrs

alem de:

:arrow: Understanding 3D Animation Using Maya
:arrow: Opengl Programming Guide: The Official Guide to Learning Opengl
:arrow: The Art of 3-D : Computer Animation and Imaging, 2nd Edition

agora livro de programação eu acho mto sem graça…procuro ler só por necessidade msm…

F

Adicionando alguns que lembro e que nao foram citados

Java Message Service
Clean Code
Pragmatic Programmer
Refactoring to Pattern

Abraços,

D

Nunca li nenhum clássico. Estou na 2ª parte do SICP.

C

http://blog.fragmental.com.br/2008/05/20/trilha-de-livros-desenvolvedor/

Já comprei 50% e li 2. Agora estou no Effective Java, que não está na lista, pois o Shoes não quis focar em uma tecnologia, procurando ser o mais genérico possível. Assim, o coloquei após o Fundamentals na sequencia.

Ahh… eliminei o Head First Design Patterns, pois não gosto da série.

Abraços.

J

cmoscoso:
lavh:
kicolobo:

The Art of Computer Programming - Knuth (todos os volumes)

O que o Bill Gates disse a respeito desses livros:

“If you think you’re a really good programmer [?] read (Knuth’s) Art of Computer Programming [?] You should definitely send me a resume if you can read the whole thing.”

A nao ser que voce queira aprender de tabela linguagem de maquina, provavelmente SICP sera uma experiencia mais agradavel de assimilacao dos conceitos e algoritmos gerais da computacao, porque o livro do knuth ate onde sei (nao tenho o livro) emprega os exemplos usando codigo assembly. :shock:

Esse é bom mesmo, esse cara é considerado Deus na Ciência da Computação.

J

Agora eu discordo de vc. Não é importante, pelo fato do algoritmo já estar pronto. Se segui-lo corretamente vai ter o resultado esperado. Isso não depende de linguagem.

T

Lista de livros indicada pelos editores da InfoQ:

Criado 22 de fevereiro de 2009
Ultima resposta 27 de fev. de 2009
Respostas 32
Participantes 18