Trilha de Livros

28 respostas
B

Mais um tópico sobre livros? Sim! Bem… primeiro vou falar da minha situação, depois a pergunta.

Eu entro neste fórum já a algum tempo e devo reconhecer que naquelas discussões mais calorosas, de várias páginas, eu saio boiando(repositorys, domains, o que?), talvez igual alguém que não seja da área de TI que entre nas nossas salas. Enfim, pouco entendo do que estão falando. Falta base.
5 de maio agora completo 5 anos que comecei a saber sobre programação (faculdade C.Comp), e em junho próximo 1 ano que trabalho na área, desenvolvimento Java p/ Web, para o governo estadual.

Não estou procurando um catálogo de ferramentas, com martelos, alcalites, chaves de fenda e brocas de várias marcas. Se eu nem sei que tenho um prego na mão, do que adianta saber o nome da ferramenta? Acho que pra este questionamento dirão “Só com experiência”. Mas mesmo assim quero ler os livros, afinal eles também contam como experiência.

Gostaria é de uma trilha de livros a seguir, em ordem crescente, daqueles que ensinam a língua, os termos, que formam a base sólida, à aqueles mais avançados, mas tão essenciais quanto os primeiros. O tema principal é engenharia de software, arquitetura de sistemas, mas se puderem recomendar outros essenciais (e dizerem para que servem) ficarei grato.

A palavra-chave é base, essência, de preferência que tenham exemplos úteis e reais, que valham a pena (não quero saber sobre como fazer um blog com Rails).

Obs: Eu prefiro ler em português, mas se a tradução estiver ruim, o livro mal-diagramado, ou seja, se fizeram um trabalho porco, vou para inglês mesmo, é minha segunda língua. Bom não é suficiente, sugiram os excelentes!

O meu objetivo é não ter um segundo de dúvida quando me perguntarem sobre tal princípio básico (O que é acoplamento, coesão?), é responder na lata, ter tudo na ponta da língua.

28 Respostas

E

aqui tem uma lista de livros.

Estou lendo o Fundamentals of Object-Oriented Design in UML - Meilir Page-Jones, que como já foi dito aqui, é básico para o profissional

E

aqui tem outra

B

Você não entendeu, estou procurando uma trilha, dessas listas já vi todas, mas nenhuma delas fala “comece por este, depois vá para este”, nada ordenado, ou pelo menos não falam que é ordenado explicitamente dessa maneira. Não sei se a lista do Philip é assim.

Procuro é a porta de entrada.

Edit: A segunda lista que é muito centrada em Java, procuro algo agnóstico à linguagens, realmente sobre arquitetura. Exemplos em Java seriam ótimos, mas não estou atrás de livros sobre tecnologia Java [exclusivamente].

B

Assumindo que você sabia o minimo de programação, eu sugiro esse aqui:

L

Olá

Na nossa área o inglês é o mais básico de tudo caso contrário você só vai ler coisa velha e requentada.

Daquela minha lista que já foi indicada, reforço as seguintes indicações (sem essa de primeiro este depois aquele) com os destaques em vermelho:

[color=“red”]Effective Java do Joshua Bloch[/color] - está para sair a segunda edição, aguarde por ela

JUnit in action, Vincent Sassol (é mais do que um livro sobre JUnit, é sobre testes)

[color=red]Domain driven design do Eric Evans[/color]

[color=red]Head First Design Patterns de Freeman&freeman[/color]

E procure também os livros que o Phillip Calçado indica que são básicos (não no sentido de serem fáceis mas de serem fundamentais)

[]s
Luca

R

Excelentes listas:

:arrow: http://gc.blog.br/2008/03/27/10-livros-recomendados-para-desenvolvedores/
:arrow: http://blpsilva.wordpress.com/livros/

T

Nossa… O Cormen é excelente ( tenho uma tradução em casa, não vendo e não troco por nada :slight_smile: ), li de forma muito aleatória durante a faculdade… Concentra inúmeros conceitos que todo profissional de computação deveria saber ( inclusive eu :stuck_out_tongue: ).

Já que você quer estudar arquitetura, procure por um livro de Arquitetura de Software.

[EDITADO]
Mencionei o Cormen porque ele é um dos livros sugeridos por um dos links que o colega rcarneiro indicou acima.
[/EDITADO]

R

Outra lista: http://www.codinghorror.com/blog/archives/000020.html

B

Destes:

:arrow: Object-Oriented Software Construction - Bertrand Meyer

:arrow: Domain-Driven Design: Tackling Complexity in the Heart of Software - Eric Evans

:arrow: The Pragmatic Programmer: From Journeyman to Master - Andrew Hunt e David Thomas

:arrow: Code Complete: A Practical Handbook of Software Construction - Steve McConnell

:arrow: Refactoring: Improving the Design of Existing Code - Fowler et al

Qual ler primeiro?

E

:shock: vou esperar…

L

renrutal:
Destes:

:arrow: Object-Oriented Software Construction - Bertrand Meyer

:arrow: Domain-Driven Design: Tackling Complexity in the Heart of Software - Eric Evans

:arrow: The Pragmatic Programmer: From Journeyman to Master - Andrew Hunt e David Thomas

:arrow: Code Complete: A Practical Handbook of Software Construction - Steve McConnell

:arrow: Refactoring: Improving the Design of Existing Code - Fowler et al

Qual ler primeiro?

Eu leria primeiro:

The Pragmatic Programmer: From Journeyman to Master - Andrew Hunt e David Thomas

Muda sua cabeça!!

E

renrutal:
Destes:

:arrow: Object-Oriented Software Construction - Bertrand Meyer

:arrow: Domain-Driven Design: Tackling Complexity in the Heart of Software - Eric Evans

:arrow: The Pragmatic Programmer: From Journeyman to Master - Andrew Hunt e David Thomas

:arrow: Code Complete: A Practical Handbook of Software Construction - Steve McConnell

:arrow: Refactoring: Improving the Design of Existing Code - Fowler et al

Qual ler primeiro?

dos livros que conheço dessa lista, me parece que o Object-Oriented Software Construction é o mais básico

C

emanuell:
renrutal:
Destes:

:arrow: Object-Oriented Software Construction - Bertrand Meyer

:arrow: Domain-Driven Design: Tackling Complexity in the Heart of Software - Eric Evans

:arrow: The Pragmatic Programmer: From Journeyman to Master - Andrew Hunt e David Thomas

:arrow: Code Complete: A Practical Handbook of Software Construction - Steve McConnell

:arrow: Refactoring: Improving the Design of Existing Code - Fowler et al

Qual ler primeiro?


Bem,

Se quer seguir uma “trilha”, vai depender do que você gostaria de aprender primeiro, não adianta dar sugestões pois cada um vai postar a sua.

Se você já tem o conhecimento técnico(linguagem e modelagem) e quer partir para soluções de arquitetura, isso então abrange que você conheça caminhos alternativos para cada tipo de problema e nesse caso não tem um passo-a-passo, você pode ler sobre assuntos sem seguir uma ordem pré-definida, o importante é saber sobre o que se está falando.

Bem, da lista que foi apresentada a minha sugestão é começar por The Pragmatic Programmer: From Journeyman to Master - Andrew Hunt e David Thomas, pois como dito antes “vai abrir sua cabeça”.

Em seguida Object-Oriented Software Construction, e depois Object-Oriented Software Construction este també é muito bom e vai te dar toques muito importante para questão de entender a modelagem do domínio(negócio) do seu projeto.

Essa, como disse, é minha sugestão e é importante também conhecer o idioma inglês, caso contrário, corre-se o risco de ficar de fora de muita coisa boa com relação a atualização profissional visto que muita coisa não é traduzida.

Mais uma sugestão !

Valeu !

C

carlosass:
emanuell:
renrutal:
Destes:

:arrow: Object-Oriented Software Construction - Bertrand Meyer

:arrow: Domain-Driven Design: Tackling Complexity in the Heart of Software - Eric Evans

:arrow: The Pragmatic Programmer: From Journeyman to Master - Andrew Hunt e David Thomas

:arrow: Code Complete: A Practical Handbook of Software Construction - Steve McConnell

:arrow: Refactoring: Improving the Design of Existing Code - Fowler et al

Qual ler primeiro?


Bem,

Se quer seguir uma “trilha”, vai depender do que você gostaria de aprender primeiro, não adianta dar sugestões pois cada um vai postar a sua.

Se você já tem o conhecimento técnico(linguagem e modelagem) e quer partir para soluções de arquitetura, isso então abrange que você conheça caminhos alternativos para cada tipo de problema e nesse caso não tem um passo-a-passo, você pode ler sobre assuntos sem seguir uma ordem pré-definida, o importante é saber sobre o que se está falando.

Bem, da lista que foi apresentada a minha sugestão é começar por The Pragmatic Programmer: From Journeyman to Master - Andrew Hunt e David Thomas, pois como dito antes “vai abrir sua cabeça”.

Em seguida Object-Oriented Software Construction, e depois Object-Oriented Software Construction este també é muito bom e vai te dar toques muito importante para questão de entender a modelagem do domínio(negócio) do seu projeto.

Essa, como disse, é minha sugestão e é importante também conhecer o idioma inglês, caso contrário, corre-se o risco de ficar de fora de muita coisa boa com relação a atualização profissional visto que muita coisa não é traduzida.

Mais uma sugestão !

Valeu !

Foi mal ! O terceiro livro citado é o Domain-Driven Design: Tackling Complexity in the Heart of Software no lugar da repetição de (Object-Oriented Software Construction).

Valeu !

B

Acabei de começar a ler Code Complete, e se os dois primeiros capítulos forem medida pra alguma coisa, será uns dos livros mais sensacionais que já tive o prazer de ler.

B

Esse livro é coisa linda de deus… rsrsrs…

F

Olá,

Por enquanto os livros que lí até agora foram os seguintes:

Design Patterns: Elements of Reusable Object-Oriented Software
Domain Driven Design - evans
Applying Domain-Driven Design and Patterns: With Examples in C# and .NET: Jimmy Nilsson
Patterns of Enterprise Application Architecture - Martin Fowler

Recomendo a leitura nesta ordem (não foi exatamente a que segui, mas acho que seria melhor).
Agora estou começando a ler Enterprise integration patterns, Designing, Building and Deploying messaging solutions.
Acredito que o conhecimento presente nesses livros são fundamentais, agora a ordem que deve ser lido depende do momento em sua carreira. Pode ser que você precise de determinado conhecimento de imediato, então vá atraz dele.

[]s

Ferry

Y

Todos esses livros sao excelentes. Eu so colocaria como primeiro da lista (na ordem que deveria ser lido) o Applying UML and Patterns do Craig Larman. Ele tem uma traducao em portugues, fraca como sempre, mas nao compromente muito. “Utilizando UML e Padroes” é o titulo em portugues. Apesar do titulo ele é bastante voltado para a analise OO e nem tanto para UML.

Y
  • Esqueci de “quotar”, mas eu estava falando dos livros do Ferryman.
B

Estou lendo também o Refatoração: Aperfeiçoando o Projeto de Código Existente do Martin Fowler & Co., da Editora Bookman.

É muito bem traduzido, muito agradável de ler (terminei o 3º cap), e penso que vou encontrar aplicações mais imediatas para ele que para Code Complete (talvez um pré julgamento, estou bem no começo de ambos os livros).

Fico até estasiado com a idéia de fazer uma manutenção desse nível nos códigos que mexo, quase todos pútridos de tanto bad smell. Mas fica a dúvida, talvez para tópico deste forum, como refatorar código procedural para orientado a objeto, acho que o livro não trata de situações fundo-do-poço. Vou ter que conversar com a gerente para ver se dá para incluir reformas no cronograma, evoluções atrás de evoluções sem uma parada dessas não dá.

V

renrutal:
Estou lendo também o Refatoração: Aperfeiçoando o Projeto de Código Existente do Martin Fowler & Co., da Editora Bookman.

É muito bem traduzido, muito agradável de ler (terminei o 3º cap), e penso que vou encontrar aplicações mais imediatas para ele que para Code Complete (talvez um pré julgamento, estou bem no começo de ambos os livros).

Fico até estasiado com a idéia de fazer uma manutenção desse nível nos códigos que mexo, quase todos pútridos de tanto bad smell. Mas fica a dúvida, talvez para tópico deste forum, como refatorar código procedural para orientado a objeto, acho que o livro não trata de situações fundo-do-poço. Vou ter que conversar com a gerente para ver se dá para incluir reformas no cronograma, evoluções atrás de evoluções sem uma parada dessas não dá.

Bem, se eu conheço o lugar onde você está trabalhando, cogitar de colocar algo assim no cronograma já vem com resposta pronta: não.
Mas, se você for fazendo por conta própria sem falar com ninguém (ou talvez falar só com o Shimo), desde que você não faça merda, ninguém vai reclamar depois.

S

A versão traduzida code complete eh quase o dobro da versão em inglês :lol:

C

Depois que conheci o livro “Programming Collective Intelligence”, virei uma pessoa triste. Leia e entenda o porque. :frowning:
Você se deprime com a própria ignorância.

Minha lista: http://www.shelfari.com/cmilfont

B

Ainda sobre o Refatoração:

Em toda a minha vida eu nunca li um livro técnico de cabo-a-rabo, praticamente só parando p/ durmir e comer, e olha que faço isso constantemente com outros tipos de livro. Devo dizer que não me atentei muito aos passo-a-passo das refatorações, nem das explicações que já conhecia(mover campos/métodos para Super/Subclasses, por exemplo), mas isso é de menos já que terei ele sempre em cima da minha mesa para consulta. Livros de referência são para isso.

É um livro que me ensinou a fazer coisas que sempre quis fazer em projetos, mas que nunca tive coragem de fazer estensivamente.

Meu único, mínimo porém com ele são com uns 10-5% do livro. Enquanto a imensa parte dele é fundamental e serve de referência para sempre, devo dizer que um livro que foi lançado em 2000, em uma área como a nossa, fica desatualizado rapidamente. Java 2 era coisa nova, ferramentas de refatoração para Java eram praticamente inexistentes, testes não recebiam a devida importância naquela época como nesta. XP e somente XP era a moda. Acho que essa falta no livro só me dá sede p/ procurar sobre isso fora dele. Se o Fowler lançasse a 2º versão atualizada, eu compraria com gosto.

Pra mim este livro abriu as portas para TDD e Padrões de Projeto (sem falar em preferência por IDEs com grande suporte a refatoração), exatamente como queria ao pedir esta trilha, ele foi o passo anterior àqueles que estão à frente.

Pois bem, para quem conhece do assunto que acabei de ler, por favor sugeram pós-leituras, algo a mais sobre tudo isso.

T

cmilfont:
Depois que conheci o livro “Programming Collective Intelligence”, virei uma pessoa triste. Leia e entenda o porque. :frowning:
Você se deprime com a própria ignorância.
http://www.shelfari.com/books/3548970/Programming-Collective-Intelligence-Building-Smart-Web-2-0-Appli

Caramba, sempre quis comprar esse livro! :smiley: Eu o conheci quando estava fazendo um trabalho sobre colônia de formigas na faculdade.
Você poderia falar mais um pouco sobre ele?

R

Eu sabendo inglês, é melhor eu ler este livro Code Complete em inglês ou pegar o em portugues pra ler um pouco mais rapido?
Queria saber se a tradução dele é boa ou fraca.
Alguem pode me falar ?

B

Eu sabendo inglês, é melhor eu ler este livro Code Complete em inglês ou pegar o em portugues pra ler um pouco mais rapido?
Queria saber se a tradução dele é boa ou fraca.
Alguem pode me falar ?

Só li em inglês, ainda estou nos primeiros capítulos.

Indo pela editora, acho que a Microsoft Press deve ter feitouma boa tradução, mas quem sabe. Pelo menos não é a Alta Books.

M

Bruno,

Ontem eu postei no meu blog uma lista de livros que eu considero boa para developers de todos os níveis, eu tentei colocar algo que vai de “novice to expert”.

O meu post tah aki : http://www.marciomarinho.com/blog/?p=19

Desculpem-me mas não foi escrever de novo tudo oq escrevi lá :twisted:

Não quero me desviar do assunto mas não posso deixar passar batido a questão do inglês que está aí na Thread… EU acredito e recomendo livros em inglês, em parte pq tive péssimas experiências com traduções ruins, e pq a maior parte do material vem lá de fora mesmo, e é geralmente escrito pelo autor de cada “subject”, tipo Hibernate ( Gavin King ), SpringFramework ( Rod Johnsson & CIA ) e por aí vai, e o ponto mais forte é que quanto mais você ler em inglês melhor será a sua absorção do idioma.

O ponto que você deve estar atento é o que EXATAMENTE você quer trilhar… essa eu acredito que seja a pergunta base. Digo isto pq o caminho vai depender da resposta dessa pergunta, por exemplo, se você disser q quer seguir um caminho para ser um um desenvolvedor TOP Java, então você terá que conhecer os fundamentos da linguagem, as plataformas para qual você desenvolverá ( web, client/server, distribuída ), então deverá saber sobre Servlets, JSP, EJB, WebServices, Design Patterns, etc…

Ou se você disser que pretende se tornar um arquiteto, então a trilha será mais longa, com mais design patterns e outros livros mais de arquitetura, concorrência, EAI, e por aí vai…

Se você puder e quiser dah uma lida no meu post, pois eu fiz uma sugestão que vai desde o developer Júnior até um nível de Sênior.

Criado 1 de maio de 2008
Ultima resposta 5 de ago. de 2008
Respostas 28
Participantes 15