Livros

7 Abr

Este blog Mudou para
http://alvaromateus.blogspot.com/


Tentarei criar uma lista de livros que, na minha opnião, devem ser lidos por todo bom desenvolvedor web. Também darei minha breve visão da obra. Caso eu conheça a versão e-book deixarei também o link.

Boa parte dessa literatura faz parte da grade acadêmica da maioria dos cursos de graduação de Análise e Desenvolvimento de Sistemas (que também estou cursando), porém muitos deles conheci em fórums, sites, colegas ou até mesmo blogs como este. Portanto faço deste post mais um elo desta rede.

A ORGANIZAÇÃO

Organizarei os livros seguindo as etapas que, acredito que indiferente da metologia, são utilizadas em todos os projetos de desenvolvimento de software: análise de requisitos, projeto, codificação e teste.

A análise de requisitos, mesmo que involuntariamente pode até ser feita em pesquisas na internet, análise de softwares similares ou uma pequena entrevista com o cliente.

Talvez algum possam dizer que fizeram softwares sem projeto, mas acho que até mesmo a criação de prototipos ou uma listagem de funcionalidades escritas em um pedaço de papel podem ser considerados um projeto, um projeto pobre mas mesmo assim um projeto.

Portanto até mesmo quem não conhece toda a teoria por traz de engenharia de software, porém desenvolve softwares, para internet ou não, passa por estas etapas.

Lembrando que não sou um estudioso de metodologias e muitas vezes não aplico todos os passos oficialmente “necessários” em meus projetos. Em certos projetos julgo certo diagrama mais necessário que outro.

1 – ANÁLISE DE REQUISITOS

Não lembro de ter lido um livro que fale exclusivamente de análise de requisitos, portanto optei em colocar um clássico da engenharia de software que está nas salas de aula a um bom tempo e que possui extenso material sobre análise de requisitos.

Apesar de as primeiras versões terem vários anos, muitos dos princípios podem ser aplicados a quaisquer projetos atuais.

Engenharia de Software de Roger Pressman disponível aqui a 6ª edição do capitulo 1 ao 9. Mas em qualquer biblioteca de uma faculdade onde exista curso de gradução na área deve existir um exemplar.

2 – PROJETO

GETTING REAL ou Caindo na real. Disponível aqui, escrito pelo pessoal da 37 Signals, empresa onde David Heinemeier Hansson, criador do Ruby on Rails trabalha. A obra traz uma metodologia focada no problema, com a idéia básica de “menos é mais”, ou seja um sistema deve trazer o mínimo possível de funcionalidades, porém resolver o problema proposto.

Apesar deste livro abordar todas as outras etapas, acho que ele se enquadra mais em projeto.

Lembrando que o livro anteriormente citado de Roger Pressman também é um ótimo título para esta etapa.

No projeto grande parte do tempo é usado na criação de diagramas, onde é necessário a linguagem UML. Há vários títulos mas cito livro dos homens que padronizaram a linguagem de modelagem criando a UML, Raumbaugh, Jacobson e Booch, o título é UML – Guia do Usuário.

3 – CODIFICAÇÃO

Citarei algumas linguagens de programação aqui, porém acredito que quem estiver familiarizado com alguma linguagem de programação com algumas horas ou dias em tutoriais e livros pode migrar da linguagem x para y sem problemas.

Mas há regras gerais de um bom programador como separar código “político” dos demais, dividir métodos grandes em sub-métodos, não repetir códigos (copiar colar) ou seja deixa-lo o mais limpo é legível possível, ou um termo que está na moda a algum tempo, tornar seu código DRY (Dont Repeat Yourself).

Linguagem C

Mesmo este blog ser focado em desenvolvimento web, não posso deixar de mencionar esta linguagem. Apesar de que já ouvi falar de desenvolvimento de projetos web em C como nesta entrevista feita por Fabio Akita a Jamis Buck.

Mas normalmente a linguagem C é utilizada em projetos de mais “baixo nível” como sistemas operacionais, drivers de dispositivo, linguagens de programação, etc. Claro que não é uma regra, existem desenvolvimento de sistemas comerciais, editores de texto ou qualquer outro software do gênero nesta linguagem.

Mas é inegável que C tem mais afinidade com projetos de mais baixo nível.

Acredito que esta linguagem deveria ser o ponto de partida para todos os programadores iniciantes, mesmo tendo todo este poder, penso que quem programar nela não encontrará dificuldades de migração para outros códigos.

C foi a primeira linguagem de programação que tive contato, ainda lembro das minhas pequenas calculadoras escritas sob o Turbo C e como era divertido brincar com as bibliotecas gráficas. Posteriormente na faculdade a revi no primeiro período do meu curso de Análise e Desenvolvimento de Sistemas Web.

Mas voltando as livros, existe uma infinidade de títulos, para iniciantes sugiro este tutorial da Unicamp

Java

Apesar da programação orientada a objeto existir desde muito antes de sua criação, Java que realmente impulsionou a OO nos desenvolvedores, tanto que muitos chegam a pensar que orientação a objeto surgiu com ela.

Só para citar, o temo orientação a objeto surgiu com a linguagem Smalltalk, apesar de algumas idéia serem usadas até mesmo antes disso.

Meu contato com Java até agora foi estritamente acadêmico, portanto deixarei um livro que pra mim foi muito bom: o Java como Programar de Harvey M. Deitel. Com uma didática que as vezes chega a ser infantil, mas como já disse, para mim foi muito eficiente.

Não posso deixar de mencionar o JSP (Java Server Pages) que foram projetadas para a web. Além de JSP temos frameworks como Struts, Hibernate (estou desatualizado em frameworks Java, devem haver mais) que trazem muito mais produtividade, porém existe uma obra para cada tema, portando deixo a cargo de a quem interessar pesquisar estes temas.

Estrutura de Dados

Optei por abrir um subtítulo em Java para falar de estrutura de dados, apesar de não estar diretamente relacionada a Java, foi a forma que aprendi e que penso ser uma forma muito eficiente de entender listas encadeadas, pilhas, arvores binárias, algoritmos de balanceamento de árvores binárias etc.

O livro é chamado Estrutura de dados e algoritmos em Java de Robert Lafore, o livro é excelente, quem quiser e-book só me contatar.

Estrutura de dados é competência obrigatória para qualquer bom programador portanto realmente vale a pena.

PHP

Esta foi uma das pioneiras em trazer para a web dinamismo. Com consultas em banco dados, trazendo imagens e textos que eram atualizados rapidamente, ela foi bem popularizada na estática web dos idos de 1994. Levando em conta esta popularidade acredito que ninguém encontrará problemas em encontrar material de aprendizado de qualidade para esta linguagem, mas como este post é para sugerir aí vai um título que também foi meu parceiro na faculdade o PHP a Bíblia de Tim Converse, Joyce Park.

Ruby on Rails

Esta tecnologia não é uma linguagem de programação mas sim um framework, a linguagem mesmo é Ruby, mas que foi popularizada com a criação do framework. Podemos dizer que todos os títulos abordam grande parte do tema, ao contrário de outras tecnologias como Java que é necessário aprender sobre a linguagem em um título sobre o framework em outro.

Há livros focados somente na linguagem Ruby como o do Eustáquio Rangel que tem versão pdf disponivel em aqui e quem tem como título Ruby Conhecendo a Linguagem.

Os que englobam todo a tecnologia Ruby on Rails (ROR) temos o do Fabio Akita “Repensando a web com rails”, porém é de 2006.

Recentemente Urubatan lançou o http://livro.urubatan.com.br/ mais um, em português a obra mais recente.

Apesar que as principais fontes estarem em inglês. Atualmente temos a terceira edição do Agile Web Development with Rails, com participação do próprio criador do ROR David Heinemeier Hansson.

4 – TESTES

Para os testes novamente recomendo a clássica obra de Roger Pressman, Engenharia de Software.

11 Respostas to “Livros”

  1. Augusto Setembro 27, 2009 às 17:44 #

    Olá amigo,
    Poderia me enviar o livro Estrutura de dados e algoritmos em Java de Robert Lafore, em versão e-book?
    Obrigado!

  2. emanuel Novembro 4, 2009 às 14:45 #

    será que você me ajudar
    estou precisando do livro Estrutura de dados e algoritmos em Java do Robert Lafore
    tem como você me enviar em e-book?
    valeu!

  3. Lucas Balena Dezembro 17, 2009 às 9:49 #

    Amigo eu gostaria de saber se há a possibilidade de enviar o e-book do Robert Lafore, Estrutura de dados e algoritmos em java?

  4. Sergio Abril 29, 2011 às 17:14 #

    Amigo eu gostaria de saber se há a possibilidade de enviar o e-book do Robert Lafore, Estrutura de dados e algoritmos em java?

  5. Denise Setembro 25, 2011 às 20:33 #

    Eu me interesso pelo Estrutura de dados e algoritmos em Java de Robert Lafore, em versão e-book.

  6. Elizandra Mezzari Novembro 17, 2011 às 22:50 #

    Boa noite, eu gostaria que me enviasse esse e-book: Estrutura de dados e algoritmos em Java de Robert Lafore. Desde já muito obrigada.

  7. Marcilio Fevereiro 13, 2012 às 22:29 #

    Prezado, parabens pelas dicas e organizacao .
    vc poderia me enviar o pdf de estrutura de dados.
    Grato
    Marcilio

  8. Bruno GUilherme Maio 18, 2012 às 13:55 #

    Olá amigo,
    Poderia me enviar o livro Estrutura de dados e algoritmos em Java de Robert Lafore, em versão e-book?
    Obrigado!

  9. Dermeval Neves Maio 29, 2013 às 3:40 #

    Gostaria que me enviasse o livro de Estrutura de dados e algoritmos em Java de Robert Lafore. Alguém poderia enviar pra uma conta na nuvem e repassar?

  10. Rodolfo Agosto 19, 2014 às 12:27 #

    Poderia me enviar o livro Estrutura de dados e algoritmos em Java de Robert Lafore,

    kimurbanos@gmail.com

  11. Pedro Alex Maio 20, 2016 às 12:03 #

    Poderia me enviar o livro Estrutura de dados e algoritmos em Java de Robert Lafore? meu email é piedroalex@gmail.com

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com 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 )

Google+ photo

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

Connecting to %s

%d bloggers like this: