Frequentemente temos usuários que questionam como começar a aprender a tecnologia Java, seja para trabalho, escola ou aprendizado pessoal.
Sobre o SouJava
Ofertas de emprego
Como faço para que o SouJava divulgue uma oferta de emprego ?
Acesse a página de oferta de emprego, preencha e envie.
Como faço para receber as ofertas de emprego ?
As ofertas de emprego são divulgas na lista de email intitulada "noticias-list", você pode encontrar informações para cadastro e pesquisar ofertas passadas na página sobre informações de lista.
Participar do SouJava
Como posso participar mais do SouJava ?
A sua ajuda pode contribuir muito para o SouJava, você pode contribuir na organização do website, das listas, na infraestrutura do website, com sugestões de melhorar o SouJava, ajudando em eventos e sua organização, palestras e tutoriais mensais, etc.
Participe da lista "meta-list" que é onde os voluntários geralmente discutem esse tópico.
Cursos de Java
Qual curso de Java o SouJava recomenda ?
Existem inúmeras escolas que poderíamos indicar aqui, recomendo que pesquise nos arquivos da lista de discussão para encontrar comentários sobre as escolas.
Como começar
Primeiramente tente entender em que área da tecnologia Java você quer focar seu aprendizado (veja seção abaixo).
Será necessário muita leitura, tanto em livros como artigos e tutoriais na internet. Existem diversos títulos de livros disponíveis em português, pesquise em livrarias por livros de programação em Java.
Alguns exemplos de livros
- Core Java (Cay Horstmann)
- Java, como programar (Deitel)
- Head First Java
O ciclo básico para começar a programar, pode ser copiando exemplos encontrados em livros ou tutoriais, compilar e executar o programa Java. Ao conhecer o ciclo "codificação --> compilação --> execução --> correção" comece a modificar o código fonte, adicionando funcionalidades ou outras alterações, repita o ciclo. Isso irá aperfeiçoar as habilidades básicas de codificação.
Sobre a Tecnologia Java
A tecnologia Java compreende 3 artefatos básicos: runtime, linguagem e bibliotecas
- Runtime: É o programa que é invocado pelo sistema operacional (SO), é um ambiente "executado" pelo SO, que pode alocar espaço na memória, escrever no disco, receber eventos de E/S (Entrada/Saída - I/O Input/Output). Em Java ele é chamado de JVM (Java Virtual Machine - Máquina Virtual Java), é este sistema o responsável por carregar os programas e de fato executá-lo.
- Linguagem: É o código escrito em capaz de ser entendido por humanos, que compreende sintaxe, nomenclatura, palavras reservadas, etc. Ele possui extensão .java e é o trabalho do desenvolvedor de sistemas escrevê-lo. Após escrito o código pode ser compilado e invocado pela JVM.
- Bibliotecas: São códigos compilados, que podem usados pelo código desenvolvido. As bibliotecas são importantes, pois permite utilizar algum código existente onde não precisamos reescreve-lo. Um exemplo de biblioteca é a utilização para formatação de números no formato brasileiro. As bibliotecas também podem ser chamadas de API (Application Programming Interface).
Faça o download das ferramentas
Java em geral
É possível migrar sistemas em Clipper ou Delphi para Java ?
Migrar de plataforma, tecnologia e linguagem não é algo fácil, pois junto com a migração sempre aumentam as funcionalidades. Infelizmente, não existe uma ferramenta que irá migrar seu código, será necessário reescrever a aplicação na linguagem Java.
Para aplicações desktop em rede, pode ser feito apenas com Java e uma ferramenta gráfica, mas isso iria requerer muita codificação em coisas básicas como manipulação de eventos, validação, manutenção de estado, navegação e layout, etc. Isso é muito código, e não é necessário você codificar isso, pois existem frameworks em Java que tem a intenção de aumentar a produtividade no desenvolvimento.
Ferramentas IDE (Integrated Development Environment) para desenvolvimento desktop
- NetBeans

Acerca do NetBeans especificamente, existe documentação em inglês
http://www.netbeans.org/kb/index.html
http://www.netbeans.org/kb/55/quickstart.html
http://www.netbeans.org/kb/trails/matisse.html
http://www.netbeans.org/kb/55/flash.html
http://www.netbeans.org/kb/55/using-netbeans/index.html
Frameworks
- Genesis
possui extensa documentação em português e é mantido por brasileiros.
- JGoodies

Java em ambiente de servidor
Java em pequenos dispositivos
Referencia: http://www.operamini.com/
Leituras recomendadas
Português
Inglês
Introdução a tecnologia Java
Conteúdo gratuito
Comunidades
Grupos de Usuários Java (Java User Group)
Eventos
Veja mais informações sobre nosso calendário de eventos, reuniões e tutoriais e suas respectivas datas.
Comunidades Virtuais