sábado, abril 09, 2011

Livro Java Dicas & Truques

Adquiri recentemente o livro Java Dicas & Truques da Editora Brasport. Registre-se que peguei uma promoção interessante, por isso arrisquei a compra. E não me arrependi:

Minha opinião pós leitura:

Achei um livro interessante.

Realmente está de acordo com o título (Mais de 100 dicas, são 109 na verdade), para todos os níveis. Realmente está de acordo.

Desenvolvo em java desde 1998, e confesso que aprendi ao menos uma coisa nova. Sabia que existia em C#, mas não tinha certeza da existência em java. Estou falando do item 80.

O livro tem conteúdo suficiente para montar algumas transparências para algumas aulas. Particularmente adotaria o livro. A qualidade do livro é resultado do autor ser Professor também.

Os tópicos que achei interessante, com explicações claras e interessantes:
10. Assertions;
22. Clonando Objetos;
24. Compactando arquivos;
30. Conversão implítica de tipos;
42. Expressões Regulares;
47. Horário de Verão;
54. Java Virtual Machine;
55. Javadoc;
56. Liberando Recursos;
59. Manipulando bits;
80. Parâmetros de Compilação;
81. Parâmetros de Execução;
97. Sincronizando Threads; (O melhor exemplo que já vi)
98. Sockets TCP;
103. Threads;
104. Throw e Throws;
107. Tratamento de Exceções;
108. Variáveis Transient;
109. Variáveis Volatile;

Não leva a nota máxima pois vi alguns raros erros de tipografica e conceituais.

Outra recomendação é usar fontes diferentes para palavras reservadas, classes da API, e a ausência de índice remissivo.

terça-feira, abril 05, 2011

usando equals em String

Outro dia um rapaz na empresa me perguntou qual seria a forma mais recomandada para uso do método equals para string. No seguinte formato:

Opção 1:

void algumMetodo(String s) {
  if (s.equals("")) {
    //faz algo
  }
}

Opção 2:
void algumMetodo(String s) {
  if ("".equals(s)) {
    //faz algo
  }
}

Para alguns pode ser que não faça a menor diferença, salvo gosto pessoal ou regras de implementação do projeto. Porém, expliquei pra ele que sem sombras de dúvidas, a segunda opção deve ser usada sempre por um motivo simples:

Se a "String s" passada no parametro for null, na opção 2  avaliação da condição simplesmente retorna false e não executaria o corpo do método. Na opção 1, seria lançada uma NullPointerException e o controle sairia do método.

Ele entendeu :)

j.

sexta-feira, abril 01, 2011

O Projeto do Projeto

Recentemente ganhei uma cortesia da Editora Elsevier um exemplar do livro O Projeto do Projeto. Gostei muito da leitura.

Sobre o livro, posso descrever que é destinado para diversas áreas. Das que lembro claramente:

  1. Engenharia;
  2. Administração/Gestão de Projetos;
  3. Informatica;
  4. Arquitetura de Computadores;

Não é um livro técnico, mas sim uma mistura de pesquisa científica com romance e autobiografia.
A parte onde o autor descreve o projeto de construção de sua casa, eu achei um tanto cansativo.
Acredito que para um professor de engenharia ou de gestão de projetos, esse trecho seja mais interessante.

Por outro lado, a parte que trata de áreas de tecnologia, como "escopo", "arquitetura", evolução do OS/360 são realmente fascinantes.
A parte de escopo tem exemplos perfeitos.

O livro deve ser lido por todos os professores das áreas que citei acima, e para alunos formando de graduação ou pos-graduandos, pois é de um nível elevado para graduandos.
O conteúdo rende algumas aulas, e algumas transparências de muita qualidade. Um bom diálogo e uma troca de experiêcias entusiasmante.

Fiquei impressionado por todos os créditos devidamente atribuidos, exatamente como uma pesquisa científica.

Enfim, ótimo livro para leitura complementar, e para trabalhos específicos.

Para adoção, talvez em disciplinas de gestão.

quarta-feira, março 30, 2011

Integração de Sistemas com Java

Comprei recentemente o livro Integração de Sistemas com Java da Editora Brasport.

Honestamente não gostei do livro. E abaixo está minha visão do livro.


O título do livro é imponente.

Vou usar uma frase que aprendi com um amigo, e sempre uso-a onde é conveniente, e nesse caso é:

"Um mar de conhecimento, com um palmo de profundidade."

O livro fala de muita coisa, mas tudo muito superficialmente.

Além disso, possui muita página com código, e a maioria com erros de compilação (não precisei compilar, só de ver o código dá pra ver o erro).

O único capítulo interessante foi o 12. Preenchimento de Telas, mas não tem linha de código e limitado a meia página.

O livro dedica quase 15 páginas ao XPath (esse deveria ser o título do livro).

Por fim, muito, mas muito, muito código, alguns com erros, mas num todo ou são muito óbvios, ou muito irrelevantes.

Não gostei do livro.

Em pouco mais de 100 páginas, não dá pra falar de Integração de sistemas.

segunda-feira, agosto 23, 2010

Reimpressão do Livro Java Efetivo

Um excelente, e muito comentado/recomendado, livro de java sem dúvidas é o Effective Java, que foi traduzido pela Editora Altabooks, com título em português Java Efetivo.

A primeira impressão do livro saiu com alguns erros, que foram tema do meu post Livro Técnico Traduzido, Ler vale a pena? de Julho de 2009.

Em parceria com a editora, eu listei todos os erros que encontrei, e apliquei as erratas do livro original (disponível em http://java.sun.com/docs/books/effective/errata.html).

Todos os erros que notei, apontei e acredito que foram aplicados na nova impressão.

Fica a dica de um excelente livro, e com uma edição em português completamente revisada e corrigida.

domingo, fevereiro 21, 2010

Livro SCJP 6 - Altabooks


Uma característica clara, é a insatisfação de alguns leitores, em relação a livros técnicos traduzidos.
Percebo uma tendência dos grande editores, na descontinuidade da publicação desse tipo de livro. Os motivos são vários, porém, os mais evidentes são:
  • Depreciação muito rápida do conteúdo;
  • Falta de verdadeiras "novidades";
  • Insatisfação explícita de leitores;

Como citei em outro post, o leitor brasileiro não consegue digerir muito bem a idéia das erratas, característica encarada com naturalidade, por leitores americanos, por exemplo.

Traduzir e revisar um livro técnico, além de complexo, não agrada a todos. Além é claro, da imensidão do Brasil.

Independente disso, focando no tema, existem inúmeros profissionais, que não dominam o inglês, e consomem livro traduzido. Por exemplo, um livro bom, porém muito "atacado" é o livro da Katy Sierra. Conforme vc pode ver nesse e nesse site.

Bem tive a oportunidade e o prazer de revisar a última edição do livro da Certificação Java 6.

Desenvolvo em java desde 1998, e só não desenvolvi ainda no ambiente J2ME, o resto ja foi praticamente todos. Procurei deixar uma revisão mais próxima possível para a compreensão de um desenvolvedor java.

Usei a estratégia de citar o termo em inglês para os termos q acho coerente em português, e citar o termo em português, conforme traduzido, onde acho coerente o termo em inglês, exemplo:

- Threads (ou segmentos em português);
- I/O (E/S, de entrada e saída em português);
- usa um array (ou lista) para definir....;

Outros termos, mantive como o original, fazendo correções relevantes em relação a publicação anterior, por exemplo:

- Conjuntos, mantive como coleções (de Collections);
- A Estrutura dos Conjuntos, mantive como O Framework Collections (Capitulo 7);
- digitado (do ingles typed), mantive como tipado, mas citei também algo como cast ou tipagem explicita;

Outros termos, como Classes Internas (de Inner Class) achei correto, sensato e com sentido manter como Classes Internas, que efetivamente o são.

Espero que o livro passe a ter bem mais credibilidade, fiz a prova e passei, e fiz por fazer mesmo.

As edicões impressas depois de novembro de 2009, devem estar bem melhor, para terem certeza procurem pelo meu nome como revisor Técnico na segunda página do livro.

É isso, boa sorte aos que se interessarem na leitura.

Josivan

quarta-feira, dezembro 16, 2009

Livro de Android


Li recentemente o livro de Android da Novatec, do original da oreilly.
Em resumo, a qualidade da tradução e revisão está boa. Poucos erros (alguns listados nas erratas), a maioria de digitação.

Por se tratar de um assunto relativamente novo fica difícil uma tradução que seja aceita por gregos e troianos.

Alguns termos que lembro são:
  • Intent, traduzido como Intenções;
  • Activity, traduzido como Atividades;
São traduções literais, que não estão de todo errado. Mas acredito que seja como traduzir MIDlet?! (J2ME)

Fiquei com a sensação de que os autores garimparam a WEB e escreveram o livro. Tem muita coisa que acaba deixando o leitor com "Água na Boca". Coisas como por exemplo, existe uma característica X do android, que não será coberta nesse livro. Existe uma características Y no Android, que não faz parte da documentação, portanto não será coberto nesse livro. E assim vai.

Para quem nunca viu nada de Android eu recomendo o livro. Obviamente, é ideal o conhecimenhto de Java.

Pontos Positivos:

  • Cobre um bom conteúdo do Android;
  • O conteúdo não é sequencial, sendo um livro de consulta (Referência). Particularmente não gosto desse formato;
  • Pioneiro da tecnologia;
  • Explica conceitos de depuração e uso do eclipse;
  • Traz bastante conteúdo teórico de android;
  • Conectividade com google maps;
  • É uma publicação recente e atualizada (em comparação à edição original);
Pontos Negativos:

  • Os capítulos parecem desordenados. Por exemplo, primeiro comentam sobre persistencia usando sqlite, e depois falam de componentes para interface. Uso como exemplo uma explicação sobre o corpo humano, a ordem natural, CABEÇA TRONCO E MEMBROS, depois ir explorando cada parte, como braços, mãos, dedos, falange, falanginha, falangeta. Ou ainda sobre os olhos, começam descrevendo o olho de dentro pra fora, particularmente não gosto desse formato. Prefiro, em se tratando de codificação, falar de "Olá Mundo", depois montar uma tela, validar componentes, persistir, e por fim algo mais evoluído, como redes e RPC, por exemplo.
  • Não cita nada do android 2.0;
  • O Exemplo do livro (MJAndroid) não cobre todos os componentes (widgets) do SDK;
  • caro o livro
Bem, se você quer codificar já em android, manda bala no livro. Mas sugiro esperar, se houver, algum lançamento que cubra o android 2.0. Até mesmo porque, ele deve "abocanhar" um pedaço dos celulares no Brasil, ou talvez alguns netbooks.