Livros

Walter Isaacson, ISBN 9788535911282Einstein: Sua vida seu Universo
Li com gosto o livro “Einstein: Sua vida seu Universo”.
Como físico de formação sempre ouvi falar de Einstein com reverência e não paro de me surpreender com a simplicidade das suas experiências mentais. Realmente não podemos negar que as suas contribuições para a ciência e para física em particular foram… bem… sem precedentes. Também não é da minha ideologia cultivar ídolos ou idolatrar autores, mas não é possível ficar impávido ao ver o que Albert Einstein trouxe ao mundo. A primeira contribuição, e talvez a mais esquecida é a explicação do Movimento Browniano como efeito estatístico causado pela colisão aleatória de átomos no corpo, em uma época em que o conceito de Átomo ainda era conceptual. A explicação demonstra ao mesmo tempo: as leis que regem este tipo de movimento, a existência de átomos e a utilidade da estatística na física. De quebra propõe um novo método para determinar o número de Avogadro. É a aurora da Física Estatística. Depois ele contribui para o conceito da luz como um conjunto de partículas com a sua hipótese do quantum e depois do fotão explicando o Efeito Fotoelétrico o que lhe rendeu um Nobel mais tarde. Hoje, quando ainda lemos sobre a dualidade partícula-onda é difícil aceitar que depois de um século a comunidade científica ainda não tenha entendido que a luz é formada por partículas, como já tinha defendido Newton séculos antes de Einstein. Parece que a experiência da dupla-fenda ainda aterroriza os físicos e os faz tremer nas suas bases. A hipótese do quantum trouxe-nos a Física Quântica. Não contente com isso ainda se debruçou sobre a relação entre o espaço, o tempo, o movimento e a luz nos levando ao conceito da Relatividade Restrita que marcou os primórdios da Relatividade moderna. Anos mais tarde nos trouxe a Relatividade Geral e a explicação de como a gravidade é apenas uma “dobra” provocada pela presença de energia no espaço-tempo. Claro que ele não fez tudo isto sozinho… mas não por isso deixa de ser menos impressionante. Um livro muito bem escrito – e arrisco a dizer muito bem traduzido – excelente para entender o homem, mas também para entender como funciona o mundo da ciência que ao contrário do que se possa pensar é muito mais aristocrático que democrático.


Software Requirement Patterns
Desde que comecei a ter contato com a parte de requisitos e analise uma coisa era clara para mim: requisitos também têm padrões. Quando um requisito é adicionado ele não vem só. Adicionar um requisitos provoca uma perturbação na superfície que leva a incluir outros requisitos. Esse processo recursivo rapidamente cria uma lista extensa de requisitos sem muito esforço do analista. Isso é, claro, se ele tem esses requisitos mapeados e catalogados. Este é um livro que encontrei por acaso mas que me chamou exatamente por parte do principio que Padrões de Requisito sim existem. O autor estabelece claramente o que é um Padrão de Requisito, como deve ser usado e como deve ser catalogado. O resto do livro é um catálogo de Padrões de Requisito bem compilado e explicado. Um livro que pode ser epifania para quem não conhece o conceito e um catalogo muito útil para quem já conhece.


Software Estimation: Demystifying the black art
Uma das coisas mais difíceis, quanto a mim, em desenvolvimento é estimar a duração de um projeto muitas vezes sem saber exatamente o que o compõe. Neste livro são explicadas algumas falácias de quem acha que sabe estimar um projeto. É explicada muito claramente a diferença entre estimar (descobrir quanto demora/custa um conjunto de tarefas) e planejar (descobrir quantas/quais tarefas cabem em um prazo/custo). Recheado de dicas, técnicas e explicações de como estimar um projeto de software em uma linguagem clara sem abandonar o rigor matemático da teoria pode detrás do processo de estimar.


agile2 Agile Estimating and Planning
Uma recomendação do Rafael Mueller que me valeu muito.Embora o livro se chame Planejamento e Estimativas Ágeis ele acaba dando uma visão de todo o processo ágil. Seria difícil distinguir este processo do Scrum não fossem algumas nuances sobre o que diferencia o Scrum do resto como por exemplo a teimosia – no bom sentido – de ter algo demonstrável e potencialmente entregável no fim de cada sprint.

Fica claro que a melhor maneira de estimar algo é  tendo um histórico de atividades semelhantes e comparar. Esta técnica já era mostrada pelo Software Estimation: Demystifying the black art mas ganha aqui uma nova roupagem pois o fator mais relevante é a velocidade da equipe e não tanto a estimativa das tarefas.

O livro deixa algo confuso o real significado de Story Points. O livro apresenta o conceito como uma escala totalmente relativa (por exemplo: uma estoria de 8 pontos é 8 vezes maior que uma de 1 e 4 vezes maior que uma de 2 ) mas não deixa pistas sobre como estabelecer as relações.

Outro interesse do livro é mostrar porquê as práticas ágeis funcionam. Desde de cedo que se sabe que projetos de criação de software não podem seguir as mesmas regras que os de outras áreas da engenharia, e que existem melhores práticas e piores. O autor mostra como as práticas ágeis incluem ou são derivadas dessas melhores práticas encontradas ao longo dos anos. Uma é a própria ideia de que não é possível saber tudo no dia zero do projeto e que por muito que se pergunte ao cliente ele nunca dará uma resposta 100% final. Então a solução é ir perguntando constantemente (periodicamente) de forma que o cliente sempre tenha a opção de ver o resultado do que pediu e se arrepender antes do prazo final do projeto.

Um livro , realmente, a não perder.


hibernate

Hibernate in Action

Em uma época em que ORM ainda não tinha um padrão o Hibernate criou um padrão. Talvez a biblioteca- não JSP – mais relevante dos ultimos tempos o Hibernate conseguiu convencer muita a gente a usar ORM em vez de JDBC puro.

Mas este livro é mais do que um livro sobre o Hibernate. Na realidade é um livro muito mais sobre ORM e as escolhas feitas (trade-offs) pelos autores da ferramenta.

Vários conceitos são necessários ter bem acentes quando usamos qualquer tipo de ORM como a questão de Entidade x Objecto de Valor e ID x igualdade.

O livro explica também a importância de alguns dos conceitos mais característicos do Hibernate como a sessão e a diferença entre ela e uma transação.

O livro avança ainda explicando o conceito de Transação de Aplicação que, realmente, ainda não é muito usada/entendida até hoje.

Hoje, talvez já desatualizado para o Hibernate 3 , Hibernate In Action é uma boa referência para qualquer um que queira implementar seu próprio ORM ou pelo menos ter uma noção de como seria.


jsp

JavaServer Pages : Biblioteca de Tags

Tags JSP são uma ferramenta muito poderosa. A biblioteca de tags padrões é boa, mas limitada. Além disso cada sistema é um sistema e com uma tag colocada no lugar certo podemos poupar muito trabalho. Afinal tags são implementações do padrão View Helper (Core J2EE) o que nos indica a sua utilidade.

Este livro apresenta-se como uma referencia para ser consultado naqueles dias em que lhe apetecer criar a sua própria biblioteca de tags.  Seja porque você está criando seu framework web ou seja porque você precisa de mais poder nas sua JSP de negocio.


JMX In Action

Benjamin G. Sullins et al ISBN 1930110561Java Management Extention é um poderoso framework para gerenciamento de aplicações. Muitos servidores de aplicação a usam como forma de prover mecanismos plugáveis de gerenciamento de serviços instalados no servidor. Inclusive o kernel do JBoss nas suas primeiras versões (até à 4) eram baseados em JMX.

Embora esta tecnologia não seja muito usada pelos desenvolvedores no dia-a-dia ela é importante quando queremos integrar nossa aplicações ou nossos frameworks com capacidades de gerenciamento em runtime.

JMX é uma tecnologia baseada em serviços e entender o ciclo de um serviço no servidor JMX é entender como construir aplicações orientadas a serviços. Hoje em dia já se cogita acesso aos serviços JMX via wbeservices, o que prova a sua utilidade e que vieram para ficar.

Um livro, como todos da série In Action , que não deixa a desejar e apresenta as várias facetas da tecnologia de forma simples e clara.


Java Threads

Scott Oaks & Henry Wong ISBN 0596007825Não é possível programar corretamente em Java sem conhecer como threads são usadas em Java. Embora Java tenha começado por ser uma linguagem puramente interpretada logo desde a sua primeira versão suportou o conceito de threads. A JVM implementa o processamento multi-thread mesmo quando o OS não o suporta o que permite que em qualquer circunstancia o programador possa desenvolver usando o paralelismo das threads

O livro explica o conceito e as regras que a JVM segue. A além disso são discutidos os mecanismos de controle de execução presentes na linguagem como o mecanismo de wait/notify e como ele pode ser usado para eliminar problemas de concurrencia e deadlock.

Não existem muitos livros sobre threads por ai e Java Threads é sem dúvida uma boa aquisição para a sua prateleira.


Java Transaction Processing

Mark Little et al ISBN 013035290XTransação é um dos conceitos mais importantes em desenvolvimento de software empresarial. Sabendo disso a especificação JEE incorporou a Java Transactions API (JTA) para dar suporte simples a transações em sistema corporativos.

Contudo ao escrever aplicações fora do ambiente JEE ou quando queremos escrever frameworks que se compatibilizem e aproveitem das capacidades da JTA ha pouca informações sobre como fazer essas integrações.

Java transaction Processing é o livro a ler sobre este assunto. Além de explicar o conceito de transação e como ele é usando na JTA e em tecnologias como JBDC , EJB , JMS , JCA e webservices ainda explica a teoria pode detrás do conceito de transações e das repectivas  implementações nessas outras API.

A explicação de como integrar recursos transacionais com a JTA poderia sem mais completa, mas sendo algo pouco usado no dia-a-dia onde os desenvolvedores apenas se preocupam com transações de dados (SGDB) não é de estranhar


Effective Java

Efective javaUma referência escrita por Joshua Block sobre como utilizar a linguagem java de forma eficiente. 78 dicas de como programar bem.

O livro mostra passo-a-passo os erros por trás de práticas comuns entre os programadores java e a solução para esses erros.

Um livro que todo aquele que programa em java- profissionalmente, ou não – deveria ler.

Anúncios

5 opiniões sobre “Livros”

  1. achei seu blog de extrema importancia, venho acompanhando inumeros posts seus no guj, sempre tentando passar o maximo de conhecimento e referencia, de modo que no meu caso, tem sido de extrema importancia, parabéns. um 2009 repleto de realizações

  2. Sergio !!!

    Por curiosidade, essa obras tem uma tradução fiel na Europa algo como a tradução do Inglês para o Português de Portugal é de bom nível ???, ou você compra mesmo livros em Inglês.

    Abraçosss !!!

  3. Normalmente compro em inglês. Primeiro para que nada se perda na tradução e segundo porque às vezes o caracter do autor é perdido. Por exemplo, o livro de referencia da Katty Sierra para certificação java 1.4 era extremamente bem humurado. No Java Puzzlers todos os capitulos têm nomes que são jogos de palavras. É dificil traduzir essas coisas.

    Em informática tem que saber inglês. Não dá para passar sem.

    1. Tem Razão !!!
      Tem que estudar Inglês mesmo, tecnologia é um fonte que vem mesmo da America do Norte, e o caminho é aprender o Idioma até mesmo que profissionalmente é um diferencial tanto na boa leitura como também na comunicação.

      Obrigado, + uma vez !!!

      Abraçoss

  4. Adorei ler sobre Einstein. É uma figura sem igual. Um estilo meio louco que torna a ciência algo interessante e divertido.

Deixe uma Resposta

Please log in using one of these methods to post your comment:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s