Dominando JAVA SE em 4 meses!

Eu já comecei a estudar [color=blue]Java[/color] algumas vezes e parei no meio do caminho (ou mudava de linguagem). Depois de algum tempo recomeçava tudo de novo… já fiz isso umas 5 ou 6 vezes nos últimos 4 anos. Percebi que tinha certos sonhos/objetivos distantes e o pior: eu não havia estabelecido nenhuma meta para eles!

Agora tudo mudou. Estou decidido a estudar Java e tenho um objetivo (e metas!) que há muito gostaria de realizar e pretendo usar ele como força propulsora para meus estudos! O de construir um jogo de [color=green]Xadrez[/color] assim como o [color=darkred]IXC[/color] ( http://www.ixc.com.br/ ), só que permitindo jogar contra a máquina também. Será software livre e totalmente em Java! Além disso eu queria construir uma série de tutoriais ensinando novos jogadores, de várias idades. Esses tutoriais podem ser inclusive em forma de animação no tabuleiro (como alguns jogos de Xadrez têm, como o Chessmaster, por exemplo), quem sabe outros recursos como vídeos, animações 3D, tudo material livre, disponível para quem quiser pegar e usar e implementar.

Obviamente esse não é trabalho para uma pessoa, ainda mais se tratando de um programador iniciante como eu. Porém é um objetivo para longo prazo e por ser software livre, provavelmente encontrarei outras pessoas interessadas em difundir o Xadrez livremente e ajudar com este grandioso projeto.

Mas o intuito desse tópico não é fazer propaganda e nem encontrar interessados neste projeto, ainda. O que eu quero é saber duas coisas:

[size=16]1) Do pessoal mais experiente que tem aqui, qual a sua opinião? Você acha que é possível de se dominar o Java SE em 4 meses, estudando 3 horas por dia, todos os dias? [/size]

A verdade é que a opinião de vocês não vai mudar a minha determinação em estudar! Porém gostaria de saber se estou sendo realista com o prazo ou se 4 meses é pouco tempo?

[size=16]2) Quais os tópicos que preciso saber para dominar a linguagem padrão?[/size]
Tenho aqui o livro [color=yellow]Java - Como Programar[/color] 4ª edição dos Deitel (aquele de capa amarela, de 2004) e o livro é muito bom, bem explicado, porém os exercícios do livro são bastante chatos. Se eu ler ele inteiro e fizer todos os exercícios é o suficiente para atingir esse objetivo? Existe algum livro de exercícios complementares? Ele não está desatualizado? Tudo que tem ali ainda é útil?

Tudo o que tenho aqui é o que consta no índice do livro.

[color=blue]Os tópicos do livro:

[list]Java Desktop e applets[/list]
[list]Estruturas de Controle[/list]
[list]Métodos[/list]
[list]Arrays[/list]
[list]Programação baseada e orientada a objetos[/list]
[list]Strings e Caracteres[/list]
[list]Imagens Gráficas e API Java 2D[/list]
[list]Componentes de interface gráfica com o usuário[/list]
[list]Tratamento de exceções[/list]
[list]Multithreading[/list]
[list]Arquivos e Fluxos[/list]
[list]Redes[/list]
[list]Multimídia[/list]
[list]Estruturas de Dados[/list]
[list]Pacotes de utilitários e manipulação de bits[/list]
[list]Coleções[/list]
[list]Java media framework e Java Sound[/list]
[list]Conectividade de Banco de Dados Java (JDBC)[/list]
[list]Servlets[/list]
[list]Invocação Remota de Métodos[/list]
[list]JavaBeans[/list][/color]

E isso é tudo? Existe algo aí para ser ignorado por ser ultrapassado ou algo a ser acrescentado?

Aguardo as opiniões. Obrigado.

R1) O “domínio” vem com a prática e é muito relativo. Se você ler o livro de cabo a rabo e fizer todos os exercícios, vc vai ter uma boa noção da coisa.
R2) A quarta edição já é bem velhinha e não cobre vários recursos novos que surgiram no Java 5. Recomendo uma edição mais atualizada.

[]´s

Levando em conta toda a JSE, 4 meses é muito pouco sim. Mas você não precisa dominar toda a JSE para tornar-se produtivo. O conteúdo da certificação por exemplo, é mais do que suficiente. Quanto a livros, para mim, a melhor referência sobre a linguagem é esse aqui:

http://www.relativa.com.br/livros_template.asp?codigo_produto=66606

Esse livro cobre o “core” da linguagem Java: sintaxe OO, operadores, reflections, collections, IO, etc. Mas deixa muita coisa da JSE de fora, NIO, Swing, RMI, Java2D.

Sinceramente, eu desisti dessa abordagem, de pegar JSE de cabo a rabo sob o risco de gastar tempo em API que eu nunca vou usar. O resto eu acho interessante aprender sob demanda. Por exemplo, não vale a pena investir tempo em Swing se você quer ir pro lado Web por exemplo. Mas no meu caso, eu já estou trabalhando e preciso direcionar meu tempo, existem outros temas tão importantes em desenvolvimento como a linguagem, como design patterns e práticas de desenvolvimento, como o TDD por exemplo.

Então não é necessário dominar bem a Java SE antes de passar para ME ou Web?

Gostaria de saber também quais as classes que todo iniciante deveria estudar bastante? JLabel? JTextField? Estudar toda a Swing? O quê?

[quote=Alberto.S]Então não é necessário dominar bem a Java SE antes de passar para ME ou Web?

Gostaria de saber também quais as classes que todo iniciante deveria estudar bastante? JLabel? JTextField? Estudar toda a Swing? O quê?[/quote]

Não, não é isso, eu disse que não é necessário dominar TODA a JSE. Por exemplo, se você quer partir para Web você não precisa estudar Swing, pois você não vai usá-la, mas os mecanismos de herança e polimorfismo por exemplo, você tem que saber muito bem. Collections é outro tópico que você deve se aprofundar, assim como os mecanismos de multi-threading. Ou seja, o “core” da linguagem você precisa saber muito bem sim, outros tópicos, você pode deixar para aprender sob demanda, como o JNDI por exemplo.

Entendido, obrigado.

E quanto às classes básicas que todo estudante deve conhecer? Alguma dica?

:slight_smile:

[quote=Alberto.S]Entendido, obrigado.

E quanto às classes básicas que todo estudante deve conhecer? Alguma dica?

:slight_smile: [/quote]

Dá uma olhada no conteúdo da antiga SCJP (antiga porque o nome mudou, mas o conteúdo ainda é atual).

[quote=rmendes08]Levando em conta toda a JSE, 4 meses é muito pouco sim. Mas você não precisa dominar toda a JSE para tornar-se produtivo. O conteúdo da certificação por exemplo, é mais do que suficiente. Quanto a livros, para mim, a melhor referência sobre a linguagem é esse aqui:

http://www.relativa.com.br/livros_template.asp?codigo_produto=66606

Esse livro cobre o “core” da linguagem Java: sintaxe OO, operadores, reflections, collections, IO, etc. Mas deixa muita coisa da JSE de fora, NIO, Swing, RMI, Java2D.

Sinceramente, eu desisti dessa abordagem, de pegar JSE de cabo a rabo sob o risco de gastar tempo em API que eu nunca vou usar. O resto eu acho interessante aprender sob demanda. Por exemplo, não vale a pena investir tempo em Swing se você quer ir pro lado Web por exemplo. Mas no meu caso, eu já estou trabalhando e preciso direcionar meu tempo, existem outros temas tão importantes em desenvolvimento como a linguagem, como design patterns e práticas de desenvolvimento, como o TDD por exemplo.[/quote]
CONCORDO PLENAMENTE… eu acho que este livro é o melhor para se aprender e aprofundar o JSE, talvezo da KATTY SIERRA é melhor, mas eu tenho o livro recomendado acima e gosto dele

Ok, obrigado. :slight_smile: