|
Tanto nas minhas palestras, como via e-mail ou via grupo de usuários,
muita gente me pergunta qual a melhor maneira de aprender Java, ou como se
faz para começar, ou variações desse tema. Não
só isso, muita gente começa a aprender Java e inunda as listas
de discussão com perguntas que poderiam ser facilmente respondidas
através de recursos básicos que todo desenvolvedor Java deveria
conhecer.
Esse documento é portanto a minha resposta "oficial" para algumas
das perguntas que os novatos fazem, e espero com isso conseguir diminuir o
tamanho da minha caixa-postal, além de facilitar a vida dos maravilhosos
voluntários que respondem perguntas nas listas de discussão.
Atenção: a maioria dos recursos apontados nesse documento
estão escritos em inglês. Eu entendo que isso significa uma dificuldade
extra para aqueles que não dominam esse idioma, mas infelizmente,
se esse é o seu caso, a dificuldade desses documentos é o menor
dos problemas que você vai enfrentar. As bibliotecas Java (que englobam
milhares de objetos e muitos milhares de métodos) são todas
em inglês, e isso sim será um problema gigantesco... Infelizmente,
não existe muito que eu possa fazer para ajudá-lo nesse caso.
De qualquer forma, esse meu documento está em português, e o
resto do site também, espero que isso seja de alguma ajuda.
Java - por onde eu começo?
Se você nunca ouviu falar de Java, começe lendo o documento
da Sun "What Is the Java Platform"
(O Que É A Plataforma Java). Se você já ouviu falar, sugiro
que você leia esse documento assim mesmo. Especialmente se você
nunca assistiu uma palestra minha. Isso vai te dar algumas informações
importantes sobre os objetivos basicos da tecnologia Java. Outra forma de
começar é ler o "Getting Started With Java Technology",
que é um documento com mais ou menos os mesmos objetivos desse meu,
mas bem mais resumido (mas que contém alguns links interessantes).
Outra coisa importante é que Java é uma tecnologia orientada
a objetos. Se você nunca ouviu falar disso, ou se você não
conhece a terminologia básica de orientacão a objetos, sugiro
que você começe lendo algo a respeito. Uma opção
é ler a FAQ sobre
OO, escolha o item "Basics" para ver as terminologias básicas.
Se você preferir o Java Tutorial
(sobre o qual eu falo mais pra frente), também contém um conjunto
de lições com informações básicas sobre
OO.
Baixe o que você vai precisar...
Em seguida, você deve começar a se preparar para aprender Java
de fato. Java é uma tecnologia para desenvolvimento, e portanto, você
vai precisar de ferramentas, documentação, e mais algumas coisinhas.
Se prepare para algumas horas pendurado na Internet. Abaixo, eu listo o imediato,
e o que pode esperar um pouco:
- Java 2 SDK, Standard Edition - o SDK (software development kit)
contém todas as ferramentas para você começar o seu desenvolvimento
em Java. Você pode encontrar todas as versões e pacotes do SDK
na página http://java.sun.com/jdk/,
e sempre é bom você conhecer essa página e o que você
pode baixar a partir dela. Para quem tem dificuldades com o inglês,
ou não sabe exatamente o que baixar, vá direto para a página
do SDK para Solaris
ou para Windows[95/98/NT].
Nos dois casos, as instruções para o download são os
grandes números em vermelho. Não se esqueca de seguir o link
para as instruções de instalação. Se você
quiser, você pode dar uma olhada também na página de outras
plataformas. Observe que nas listas de discussão quase todo mundo
trata o SDK como JDK (Java development kit), que era como o SDK era chamado
até a versão anterior. [uma palavrinha
sobre as versões de Java]
- Java 2 Standard Edition API Documentation - essa é a
documentação completa do SDK e de todas as APIs básicas
do Java. Apesar de você poder acessar via
web, eu recomendo que você baixe e instale
localmente, já que você usará isso o tempo todo.
- Java Tutorial - esse é o tutorial que você vai
utilizar para aprender Java, e também pode ser utilizado direto da web o que
é recomendado, já que você não precisa de tudo
de uma só vez. Mas se você quiser, pode baixa-lo
também.
- NetBeans - essa é uma poderosa ferramenta de desenvolvimento,
que você irá utilizar mais pra frente, depois de ter aprendido
o básico. Portanto, também pode deixar para baixar depois (mas
não deixe de fazê-lo!). O NetBeans é uma ferramenta da
Sun, ela própria escrita em Java, e é disponibilizada gratuitamente.
Pode ser baixada a partir do site http://www.netbeans.com.
(OBS: muita gente me pergunta se não tem uma outra alternativa para
baixar essas coisas, ou se pode vir aqui na Sun buscar. Descupe, mas não
dá pra fazer isso. Se você realmente tiver problemas, compre um CD
que contém tudo isso, e muito, muito mais...)
Depois de baixar tudo, instale o SDK, a documentação, e
se você tiver baixado, o Java Tutorial. O NetBeans você pode instalar
se quiser, mas eu sugiro que você não o utilize antes de ter
aprendido o básico com as ferramentas mais rudimentares do SDK.
Antes de mais nada, entenda a documentação...
Uma das coisas mais importantes, é saber procurar na documentação.
No diretório em que foi instalada a documentação, voce
encontrará um arquivo "index.html", que te dará links para
os principais documentos que você estará utilizando. Observe
que ao lado de cada link indica se isso faz parte da documentação
que você baixou (docs) ou se está na web (website).
O link mais importante que você vai precisar aprender a usar é
o que se encontra no subtítulo "API & Language Documentation",
e é o link "Java Platform 1.2 API Specification". Grande chances de
você não entender nada nesse ponto, mas siga esse link, e procure
entender o que significa a página seguinte (se você decidiu
não baixar a documentação, voce pode acessar essa mesma
página através
desse link):
- o frame pequeno no canto superior esquerdo lista os pacotes (packages)
Java disponíveis. Considere esses pacotes como um agrupamento de classes
similares. Em Java, as classes são separadas nesses packages, e portanto,
é importante que voce entenda o que cada package contém, pois
isso te facilitará na hora de procurar o que você precisa.
- o frame comprido no canto inferior esquerdo lista as classes do pacote
escolhido no frame anterior. Quando você carregar essa pagina pela primeira
vez, você verá aqui a lista de todas as definicões de
objetos da biblioteca Java.
- o frame grande que ocupa o resto da pagina te fornece a documentação
da classes que você escolheu. Ele começa mostrando uma descrição
de alto nível dos pacotes Java existentes. Eu sugiro que antes de mais
nada você leia essa descrição de cada pacote, para você
já começar a se acostumar a procurar o que você precisa.
A correta utilização da documentação irá
facilitar enormemente o seu aprendizado e é ponto fundamental para
que você se torne um bom programador Java. Portanto, leia a descrição
dos packages (ainda que algumas delas não signifiquem muito nesse momento),
e gaste alguns minutos navegando na documentação e tentando
entender o que acontece quando você clica em cada coisa. Quanto melhor
você souber usá-la melhor profissional você será.
Meu caro novato, te apresento o Java Tutorial!
Um dos mais lindos recursos existentes para você que esta começando
(e mesmo para pessoas mais experientes) é o Java Tutorial. Nele você vai
encontrar tudo o que você precisa para começar a aprender Java,
e mais tarde, para aprender cada uma das dezenas de tecnologias envolvidas.
O Java Tutorial é dividido em "trails" (caminhos), e cada um deles
vai te levar através de uma série de lições que
vão cobrir diversos aspectos do assunto abordado. Sempre que você
quiser aprender algum aspecto da tecnologia Java, o primeiro lugar para você
olhar deverá ser sempre o Java Tutorial.
Portanto, o seu próximo passo na sua busca pelo conhecimento é
seguir os "trails" que estão na seção "Trails Covering
the Basics". Vão ser um total de umas 20 a 30 pequenas lições,
que vão cobrir desde os primeiros passos na criação
e compilação de uma aplicação Java, conceitos
básicos de orientação a objetos, as classes mais importantes
de Java, e que vai chegar até a criação de aplicações
e uma visão geral das funcionalidades existentes.
Lembre-se que o Java Tutorial pode ser visto na web ou então, você
pode baixa-lo
e instalá-lo localmente.
Mas só comando de linha?
Muita gente que vem do mundo de desenvolvimento visual acaba se assustando
com as ferramentas básicas que fazem parte do Java Development Kit
(JDK). É extremamente importante que você aprenda essas ferramentas,
pois elas te obrigam a entender algumas coisas que as ferramentas visuais
acabam por esconder.
Mas para o desenvolvimento em Java existem dezenas de ferramentas, e entre
elas existem ferramentas tão e até mais sofisticadas do que
as ferramentas existentes para outras linguagens. Portanto, eu aconselho que
como parte do seu aprendizado, você coheça pelo menos uma dessas
ferramentas, e eu sugiro que você faça o download da ferramenta
NetBeans, uma ferramenta de desenvolvimento
Java, visual, ela própria escrita em Java (assim você inclusive
tem uma idéia de que aplicações muito sofisticadas podem
ser desenvolvidas inteiramente em Java, e que Java tem performance adequada),
e é totalmente gratuita.
Sugestões de cursos, livros?
Honestamente, siga o Java Tutorial. É de graça, e depois que
você tiver feito todas as lições do Java Tutorial, você
terá capacidade de procurar livros e cursos que atendam as suas necessidades.
Para aqueles que ou não conseguem aprender por conta própria
(ou porque não tem tempo, ou porque tem dificuldades com o inglês,
ou porque não adianta tentar aprender no ambiente de trabalho e é
melhor sair pra fazer um curso) ou que por qualquer outro motivo tenham preferência
por assistir um curso, a Sun
Education possuiu uma linha muito legal de cursos
de Java (em especial os cursos mais avançados), e eu recomendo.
Apenas lembre-se de, depois de ter feito o curso, percorrer o Java Tutorial.
Você terá que fazer uma dezena de cursos para cobrir tudo o
que o tutorial cobre...
Quanto a livros, bem, isso fica para um outro documento. Mas você
sempre pode consultar a lista
de livros da JavaWorld, que procura listar todos os títulos que
já foram impressos sobre Java. É livro que não acaba
mais...
Para onde eu vou depois disso?
Aqui é que as coisas começam a ficar interessantes.
Em primeiro lugar, filie-se ao Java
Developer Connection, é gratuito, e é a única forma
que você terá de ter acesso a alguns recursos mais técnicos
de extrema importância. Lembre-se de guardar o seu login e password
que você gerar, já que você irá precisar disso depois.
Depois, procure algum grupo de usuários
Java (JUG - Java User's Group) próximo da sua região e
filie-se a ele. Independente de existir algum JUG na sua região, você
deve considerar filiar-se à Sociedade
de Usuários Java - SouJava, que além de ser o maior JUG
brasileiro, e também o grupo do qual sou coordenador técnico.
Como forma de aprimorar a sua capacidade em Java, dê uma olhada em
como resolver problemas com a tecnologia Java nesse artigo "Buscando a Solução na Web".
Além disso, sugiro que você conheça e frequente os
seguintes links:
- java.sun.com - o principal site de
Java
- SouJava - Sociedade de Usuários
Java da Sucesu-SP
- Meus
links pessoais - aqui estão os meus links sobre Java e tecnologias
relacionadas;
- FAQs (frequently asked questions)
Conclusão
Apesar de pequena, essa página te indica não apenas a forma
como começar com Java, mas algumas dicas para você evoluir tremendamente
nessa tecnologia.
Caso você tenha alguma sugestão para fazer esse documento
mais fácil de compreender, ou você gostaria de fazer alguma pergunta
importante que devesse ter sido respondida e não foi, fique a vontade
para me contactar.
|