Quais livros vocês consideram suas "leituras obrigatórias"?
32 respostas
K
kicolobo
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?
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
Andre_Brito
Não é o mesmo livro?! :roll:
V
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,
L
LPJava
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
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.
R
rmendes08
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
rmendes08
Cara, obrigatória mesmo, dos livros que eu tenho eu citaria o Design Patterns , do GOF mesmo.
K
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.
L
LPJava
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
lavh
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
Marcio_Nogueira
[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.
K
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?
“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
CarlosEduardoDantas
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
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:
L
lavh
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
cmoscoso
Isto quer dizer que aprender assembly nao é problema pra vc, ou que vc nao faz questao de entender os exemplos contidos no livro?
L
LPJava
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?
“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
kicolobo
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
Andre_Brito
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
cmoscoso
Se implementacao nao fosse imporatnte, qualquer solucao considerada correta resolveria o problema, nao apenas a versao correta e performatica.
L
lavh
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!
P
peczenyj
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
cs.santos0
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
ffranceschi
Adicionando alguns que lembro e que nao foram citados
Java Message Service
Clean Code
Pragmatic Programmer
Refactoring to Pattern
Abraços,
D
dlt
Nunca li nenhum clássico. Estou na 2ª parte do SICP.
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
juliocbq
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
juliocbq
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.