Se você ainda faz piada com Java e acredita que a linguagem de programação só serve para produzir applets para a web que ninguém mais usa, está lotada de falhas de segurança e a performance é sofrível, pode pular esse artigo e se atualizar primeiro sobre o assunto.
Não que essa face do Java não tenha sido realidade, mas isso já faz parte do passado e a linguagem não apenas é a base do desenvolvimento da plataforma Android como ainda tem lugar cativo em servidores e aplicações de peso que ajudam a mover muitas empresas. Java não é apenas linguagem, mas é uma plataforma de desenvolvimento, capaz de criar soluções para web, desktop, Internet das Coisas e muito mais, com uma máquina virtual habilitada inclusive para rodar outras linguagens.
Embora esse artigo não tenha a pretensão de ensinar a você como programar em Java, nosso objetivo é apontar a direção certa para mergulhar de cabeça na linguagem.
1) Introdução ao Java
Embora aqui mesmo no Código Fonte nós tenhamos uma categoria dedicada ao Java, é difícil encontrar um ponto de partida para quem está começando em meio a tantas notícias de atualizações, dicas avançadas e tutoriais para casos específicos.
Então, o caminho mais óbvio para dar os passos iniciais na linguagem é através do site oficial administrado pela Oracle. A empresa preparou uma série de tutoriais que cobrem desde a introdução ao Java até tópicos mais avançados, ilustrados de exemplos e disponível inclusive em formato de livro eletrônico, para quem deseja baixar e acessar de qualquer dispositivo em qualquer lugar.
É possível também pular etapas e ir direto para toda a documentação técnica oficial da plataforma. De qualquer forma, é necessário ter conhecimento de inglês, como acontece na maioria dos casos para quem deseja aprender uma linguagem de programação.
Para quem não domina o idioma original, a IBM também conta com uma boa biblioteca de artigos e tutoriais sobre o assunto em Português, inclusive “Introdução à programação Java, Parte 1: Fundamentos da linguagem Java” e “Introdução à programação de Java, Parte 2: Construções para aplicativos de mundo real“, que podem oferecer um excelente pontapé inicial.
2) Cursos Online Econômicos
Quer você seja um autodidata ou não, um bom curso pode ajudar a iniciar sua caminhada em uma nova caminhada, afiar os conhecimentos que você já tem ou mesmo ensinar truques e meandros da linguagem que você não havia percebido. Em muitos casos, nem precisa gastar muito dinheiro:
- Oracle Academy – É a opção oficial para quem deseja não apenas aprender a linguagem como também obter certificações que abrem portas no mercado. Em Português e Inglês. Custo: Variado.
- Introdução à programação em linguagem JAVA – Em Português. Carga horária: 40 horas. Custo: gratuito.
- Java para iniciantes – Em Português. Carga horária: 1 hora. Custo: gratuito.
- Udemy: Aprendendo a programar em Java – Em Português. Carga horária: 8 horas. Custo: R$25 (valor promocional por tempo limitado).
- Udemy: Fundamentos de Programação com Java – Em Português. Carga horária: 12 horas. Custo: R$25 (valor promocional por tempo limitado).
- Learn Java – Em Inglês. Carga horária: 4 horas. Custo: gratuito.
- Curso de Java para Iniciantes – Em Português. Carga horária: 12 horas. Custo: gratuito.
- Eduonix: Java Programming Course for Beginner From Scratch – Em Inglês. Carga horária: 12 horas. Custo: gratuito.
- Java Tutorial for Beginners: Learn in 7 Days – Em Inglês. Carga horária: variável. Custo: gratuito.
3) Ferramentas
A ferramenta certa para a tarefa certa é fundamental para se aventurar em uma nova linguagem de programação. Felizmente, já existe todo um ecossistema de programas focados para desenvolvedores de Java:
- JDK ( Java Development Kit) : Sem esse kit de desenvolvimento, você não pode nem mesmo começar a programar em Java. Essencial e gratuito.
- Oracle JDeveloper: IDE oficial da Oracle, com suporte a todo o ciclo completo de desenvolvimento de soluções Java. Gratuito.
- Netbeans: IDE mais popular do mercado, originalmente criado para Java, mas também oferece suporte a outras linguagens. Gratuito.
- Eclipse: IDE de código-aberto que é praticamente um “canivete suíço” para desenvolvimento em Java. Gratuito.
- IntelliJ: Mais uma opção de IDE, desta vez desenvolvida pela JetBrains, mas com uma interface amigável e suporte a Kotlin. Pago, mas com versão gratuita.
- Gradle: Automatiza a construção, teste e implementação tanto de programas criados em Java quanto de sites web. Gratuito.
- JD-GUI: Descompilador gráfico que exibe o código fonte de arquivos .CLASS. Gratuito.
- JRat (Java Runtime Analysis Toolkit): Ferramenta para aferição de performance de sua aplicação. Gratuito.
- Clover: Plugin para a maioria das IDEs ou sistemas integrados, funciona como um utilitário de testes para desenvolvimento. Gratuito.
- Mockito: Outro utilitário de testes de código aberto. Gratuito.
- Jetty: Servidor de aplicações, leve e extensível. Gratuito.
- Guava: Biblioteca de utilitários, desenvolvida e utilizada pelo Google em seus projetos baseados em Java. Gratuito.
- FindBugs : Ferramenta de análise de código e identificação de bugs, disponível como um programa com interface gráfica ou como plugin para as principais IDEs do mercado. Gratuito.
- VisualVM: Monitor de máquinas virtuais Java para identificação e solução de problemas.
- Jenkins: Ferramenta de integração customizável com mais de 600 plugins. Gratuito.
- Jackson: Biblioteca de JSON para Java. Gratuito.
4) Livros Recomendados
Ninguém tem um computador na cabeça e um bom livro sobre uma linguagem de programação pode funcionar tanto como uma fonte inicial de aprendizado, como uma constante fonte de referência. Confira nossa lista de recomendações para Java:
- Programação Java para a Web (Décio Heinzelmann Luckow e Alexandre Altair de Melo). Em Português.
- Programação Java em Ambiente Distribuído (Douglas Rocha Mendes). Em Português.
- Conceitos de Computação Com o Essencial de Java (Cay Horstmann). Em Português.
- Use a Cabeça! Java (Kathy Sierra e Bert Bates). Em Português.
- Thinking in Java (Bruce Eckel). Em Inglês.
- Introducing Java 8 (Raoul-Gabriel Urma). Em Inglês. Gratuito.
- Java: The Legend (Ben Evans). Em Inglês. Gratuito.
- OCA: Oracle Certified Associate Java SE 8 Programmer | Study Guide: Exam 1Z1-808 (Jeanne Boyarsky e Scott Selikoff ). Em Inglês.
- Java – The Complete Reference (Herbert Schildt). Em Inglês.
- Java Para Iniciantes (Herbert Schildt). Em Português.
- The Java Programming Language (Ken Arnold, James Gosling, David Holmes). Em Inglês.
- Algorithms in Java (Robert Sedgewick). Em Inglês.
- Introduction to Programming Using Java (David J. Eck). Em Inglês. Gratuito.
- Head First Design Patterns: A Brain-Friendly Guide (Kathy Sierra e Bert Bates). Em Inglês.
- Test Driven Development (Kent Beck). Em Inglês.
- Java Performance: The Definitive Guide (Scott Oaks). Em Inglês.
- Think Java (Allen Downey). Em Inglês. Gratuito.
5) Comunidades de Desenvolvedores
Interagir com a comunidade de desenvolvedores que já tem experiência na linguagem ou com outros iniciantes com as mesmas dúvidas e descobertas também é um caminho fundamental para aprender sobre Java, além de uma ótima oportunidade de estabelecer laços profissionais e pessoais duradouros. Confira algumas das melhores comunidades relacionadas a Java na web:
- Dúvidas de Java no Stackoverflow
- Comunidade de Treinamento da Oracle
- GUJ
- SouJava
- JavaFree
- RioJUG
- Mais Grupos de Usuários Brasileiros
- Canal #Java no IRC