Em Java, o que é essencial saber?

Pois é galera…A questão é exatamente esta do tópico…O que é essencial saber, como profissional que se propõe desenvolver em Java?

É claro que é sempre bom saber TUDO…Mas sabemos o quanto a tecnologia Java ganhou em amplitude nos últimos tempos. Leva tempo até um iniciante aprender OO, uem dirá usar a penca de framworks que o pessoal usa cotidianamente…

Seria legal o pessoal enumerar os aspectos da tecnologia que mais estão em voga…E até, se não fo pedir demais, enumerar uma possível ordem de estudo de tais conteúdos…Pode ser? :wink:

Primeiramente aprender o básico:
-Orientação a objetos ( realmente estudar e não fingir estudar );
-Collections;
-Threads;
-Sockets( pode-se nunca usar, mas pode ser fundamental, melhor aprender agora );
-Tratamento de erros ( chega de lançar System.err.print(“Deu pau aqui”) );
-Ler a documentação ( cara, isso é um dom que pouca gente tem a audácia de ter. O que vejo de perguntas que podem ser respondidas só olhando a documentação…)
-JDBC(não é nada complexo, fica mecânico depois da terceira vez);
-Básico de IO e se der NIO.

Para web:
-Servlets e JSP ( chega de scriptlets na página );
-Alguns patterns bons de se conhecer agora (DAO, Factory, Builder, Facade etc);
-Struts ( para aprender o que nunca fazer );
-Algum outro framework mais em “inteligente” ( JSF, Struts2, Vraptor2, Wicket, Mentawai etc);
-Além do básico de concorrência.
-JMS é uma boa ver.

Para desktop:
-AWT e Swing ( SWT se você for masoquista ou pagarem você para isso );
-Muita concorrência;
-EJB( lógica no cliente não é uma boa idéia);
-JMS já não é mais sonho, é realidade aqui.

Para dispositivos móveis:
-Toda a especificação MIDP e CLDC, infelizmente;

Posso ter esquecido algo aqui, mas acho que peguei parte das coisas mais críticas a se saber. Tem outras saladas de letrinhas que acho que dá para irem acrescentando ao final da minha mensagem.

Até!

Opa!!!
Belo roteiro, cara…Aposto que vai ajudar muita gente. Inclusive vai me ajudar a estudar Java para web. Até hoje só programei para desketop…

Se não for demais, seria legal se o pessoal pudesse indicar referências de cada tópico também…

PS: Isso de ler a documentação me deixa com muita raiva. É hábito de programador Java. Não consigo conceber um cara que se propõe a programar em Java sem consultar a documentação…Conheço uma penca de plagiadores de códigos que fazem uns softwares Frankensteins, baseados na cópia e colagem de trechos de códigos diversos…