Java: o que é, linguagem e um Guia para iniciar na tecnologia

Java: o que é, linguagem e um Guia para iniciar na tecnologia

Introdução

O Java é uma das plataformas mais utilizadas para o desenvolvimento de aplicações ao redor do mundo. Além da plataforma, segundo dados da Pesquisa “Tecnologias mais populares de 2022”, realizada pelo StackOverflow, a linguagem Java figura como a 6ª mais utilizada por pessoas desenvolvedoras, correspondendo a 33% do total pesquisado.

Gráfico de barras com o percentual de utilização de cada linguagem de programação, destacando o Java em 6º lugar na pesquisa realizada pela plataforma StackOverflow em 2022.

Créditos: “2022 Most popular technologies”, StackOverflow

Quem está iniciando com essa tecnologia pode encontrar alguma dificuldade para compreender a “quantidade de código” que é necessária para escrever uma mensagem como o famoso “Olá, mundo!”. Mas, não criemos pânico! O Java não é um bicho de 7 cabeças e com este artigo vamos lhe mostrar isso!

Banner de divulgação da Imersão IA da Alura em colaboração com o Google. Mergulhe em Inteligência artificial com a Alura e o Google. Serão cinco aulas gratuitas para você aprender a usar IA na prática e desenvolver habilidades essenciais para o mercado de trabalho. Inscreva-se gratuitamente agora!

O que é Java?

O Java, como plataforma de programação, nasceu no ano de 1995 dentro dos laboratórios da empresa Sun Microsystem como resultado de uma extensa pesquisa científica e tecnológica. A plataforma Java entrega um ambiente completo para o desenvolvimento e execução de programas, sendo composta por:

  • Uma linguagem de programação de alto nível orientada a objetos;
  • Máquina Virtual (Java Virtual Machine ou JVM), que garante independência de plataforma, pois o código executa na máquina virtual e essa pode ser portada para outras plataformas como Windows ou Linux;
  • Java Runtime Environment ou JRE, que agrega a máquina virtual e alguns recursos para a execução de aplicações Java; e
  • Java Development Kit ou JDK, que é um conjunto de utilitários que oferece suporte ao desenvolvimento de aplicações.

No Java, os programas são escritos em um arquivo com a extensão .java, que em um processo posterior serão compilados para arquivos com a extensão .class. Esses, por sua vez, contêm os códigos a serem executados na máquina virtual, os bytecodes.

A imagem mostra, de forma resumida, o processo de compilação de um arquivo MyProgram.java para um MyProgram.class, seguindo para uma máquina virtual JVM até a sua execução em um computador.

A JVM está disponível para a maioria dos sistemas operacionais do mercado, sendo assim conseguimos rodar a mesma aplicação Java no Windows, macOS, Linux, Solaris, entre outros. Essa funcionalidade implementa um dos conceitos que nasceram forte com o Java:

  • “escreva uma vez e execute em qualquer lugar!”

O que é o Java? #HipstersPontoTube

Um pouco de História

No longínquo ano de 1991, iniciou-se o desenvolvimento do que viria a se tornar a plataforma Java como uma parte do programa Green, que agrupava projetos que tinham como objetivo estabelecer a nova geração de softwares inteligentes para dispositivos eletrônicos, como televisores, videocassetes, torradeiras e demais utensílios, para que esses pudessem se comunicar com outros do mesmo tipo e também com computadores.

Para alcançar esse objetivo, foi decidida a criação de uma plataforma que fosse portável entre diferentes tipos de equipamentos. A linguagem a ser adotada foi o C + + devido a experiência dos desenvolvedores do projeto, porém, observou-se que essa linguagem não permitia realizar de maneira fácil tudo o que eles esperavam.

Neste momento, um dos líderes do projeto, James Gosling, propôs criar uma nova linguagem que pudesse atender aos requisitos esperados para o projeto e que fosse o mais simples possível. Assim, surge a linguagem Oak (em tradução livre, “Carvalho”), por ser um tipo de árvore que nascia nos arredores do escritório de Gosling. Junto à nova linguagem foi desenvolvido o sistema Green OS.

Nos idos de 1993, a equipe da Sun Microsystem finalizou um protótipo de dispositivo que ficou conhecido como Star 7, ou simplesmente 7, um PDA (Personal Digital Assistant) que utilizava a nova linguagem. Então, surge a oportunidade de participação de uma concorrência pública para a criação de tecnologia interativa que fosse compatível para TV a cabo, que foi vencida pela Silicon Graphics.

OK, mas e o Java? Por problemas com copyright, no ano de 1994, foi necessário trocar o nome de Oak para o seu nome definitivo: Java. Impulsionados pelo crescimento da internet, os desenvolvedores Patrick Naughton e Jonathan Payne criaram o WebRunner, um programa para o navegador com a capacidade de download e execução de código Java.

Em 1995, no evento conhecido como SunWorl’95, a Sun apresenta ao mundo o navegador HotJava e a linguagem Java, que empolgou a comunidade de tecnologia da época. No ano seguinte, a gigante NetScape Corp lança a versão 2 do seu famoso navegador, o Navigator, que incorpora a funcionalidade de executar aplicações Java conhecidas como applets.

Com a chegada do ano de 1996, a Sun, em uma ação até então inédita, liberou de forma gratuita para a comunidade de software um conjunto de ferramentas para desenvolvimento usando a linguagem Java. Esse conjunto foi o conhecido JDK 1.02, que tinha como foco a plataforma Sun Solaris e o Windows 95/NT.

Um detalhe importante: a Sun liberou o Java e as ferramentas, mas continuou detentora dos direitos até 2009, quando a empresa foi comprada pela Oracle que continuou com a evolução da linguagem e da plataforma. Mas a aquisição da Sun não gerou impacto para os desenvolvedores Java, pois a linguagem continua gratuita e opera sob a licença GNU.

Abaixo você pode conferir uma linha do tempo com as versões e as novidades implementadas no Java no decorrer dos anos desde o seu lançamento:

Linha do tempo com as versões e melhorias e/ou novidades implementadas no Java no decorrer dos anos.

Você pode conferir a versão acessível da linha do tempo no GitHub.

Vale a pena destacar também que o Java, em sua evolução, parou de nomear as versões a partir do Java 8, e seu versionamento atualizado é liberado de 6 em 6 meses, adotando as formas Preview e LTS (Long Time Support).

Ecossistema Java revisitado – Hipsters Ponto Tech #313

Ouvir um pouco de:
Ecossistema Java revisitado – Hipsters Ponto Tech #313

Tecnologia Java

A plataforma Java é estruturada em um portfólio de produtos para desenvolvimento e execução de aplicações, idealizando que um mesmo programa possa funcionar em diferentes sistemas operacionais e dispositivos. Atualmente a plataforma está dividida em duas grandes áreas:

  • Java Standard Edition ou JavaSE
  • Java Enterprise Edition ou JavaEE

Java Standard Edition ou JavaSE

Componente padrão do Java que fornece um ambiente para o desenvolvimento de aplicações de pequeno e médio porte, além de um conjunto de APIs base da plataforma e a JVM padrão.

Java Enterprise Edition ou JavaEE

Componente baseado no JavaSE, é focado no desenvolvimento de aplicações empresariais multicamadas de grande porte e provê serviços adicionais, ferramentas e APIs para simplificar a criação de aplicações complexas.

Java é lento? JIT e Otimizações na Java Virtual Machine | #AluraMais

O Java é gratuito?

Desde o seu lançamento oficial em 1996 até as suas mais recentes versões, o Java sofreu evoluções e melhorias que o permitiram se manter como uma plataforma e linguagem competitiva, o que explica sua grande popularidade.

Mas uma dúvida muito comum, principalmente para quem está iniciando, é a seguinte: o Java é gratuito? Uma pergunta pertinente, uma vez que a gigante de tecnologia Oracle comprou a Sun e a plataforma Java.

A resposta para essa pergunta encontramos no site da Oracle. O Java é gratuito para estudo e testes, porém, para uso comercial e suporte você deverá desembolsar um valor para licenciamentos. Mas, e agora?

Kit de Ferramentas Java: OpenJDK

Hoje existe também uma versão totalmente gratuita do Java e de suas ferramentas que é mantida pela comunidade, contando também com o apoio da Oracle. Trata-se do OpenJDK, que é o kit de ferramentas para o desenvolvimento Java. Ele existe desde 2006, porém, desde a compra do Java pela Oracle, o kit passou a ganhar ainda mais força.

Qual a diferença entre o Java Oracle e o OpenJDK?

Mas, então, existe diferença? O Java Oracle é desenvolvido com base no código oficial do projeto Open e permite uso completo e comercial, sendo diferenciado pelo suporte e a forma de licenciamento, mas tecnicamente ambas as versões são o mesmo Java.

Para saber mais sobre os custos do Java Oracle acesse a página da Oracle.

Saiba Mais: Java, Oracle e Cloud

Java, Oracle e Cloud – Hipsters Ponto Tech #279

Ouvir um pouco de:
Java, Oracle e Cloud – Hipsters Ponto Tech #279

Como utilizar a Plataforma Java

O Java como plataforma de computação é muito utilizado, pois existe um grande número de aplicações para computador, sites e aplicativos que dependem do Java para funcionar. Por isso, é muito comum a pergunta: “Eu preciso do Java no meu computador?”.

Para executar as aplicações Java no nosso computador é necessária a instalação do ambiente de execução do Java ou JRE. Ela é uma camada de aplicação e é instalada no sistema operacional, fornecendo a biblioteca de classes e os recursos necessários para a execução do código Java pela JVM.

Como exemplo de aplicações que precisam do Java para funcionar, temos o aplicativo do Imposto de Renda de Pessoa Física (IRPF), utilizado pelo Ministério da Fazenda do Brasil. Aliás, muitos aplicativos oficiais do governo brasileiro foram desenvolvidos com o Java, como os utilizados para a Declaração do Imposto de Renda Retido na Fonte (DIRF) e a Relação Anual de Informações Sociais (GDRAIS).

Para configurar o Java em seu computador, executar aplicativos e componentes criados em Java, você pode baixar a JRE na página oficial da plataforma e efetuar a instalação para o sistema operacional de sua escolha.

  • Visualização da instalação no Windows:
Menu do site oficial do Java com opções de download, notas de instrução e informações adicionais para instalação do Java no sistema operacional Windows. Entre as opções ofertadas, são exibidos os downloads para Windows Online, Windows Offline e Windows Offline (64-bit).

Créditos: Oracle

  • Visualização da instalação no Mac OS X:
Menu do site oficial do Java com uma opção de download, notas de instrução e informações adicionais para instalação do Java no sistema operacional Mac OS X. O download oferecido contempla o sistema Mac OS X na versão 10.7.3 e versões superiores.

Créditos: Oracle

Página da OpenJDK em sua versão 19, exibindo informações gerais sobre a documentação, instalação em diferentes sistemas operacionais, instruções de feedback e eventuais restrições de uso internacional.

Créditos: Oracle

A Linguagem Java

O Java, como linguagem de programação, possui algumas características que o destacam das demais linguagens e lhe conferem a popularidade que tem hoje. Vamos elencar abaixo as principais:

Independência de plataforma

Os programas escritos em Java não são compilados para uma plataforma específica como Windows, Linux ou Mac; eles são transformados para uma linguagem intermediária, chamada de bytecodes, que é interpretada para uma máquina virtual, e essa sim possui uma versão para os principais sistemas operacionais de mercado.

Orientação a Objetos

O Java é uma linguagem orientada a objetos, que é uma forma de programar que possibilita trabalharmos abstração, encapsulamento de código e herança, o que lhe confere também uma curva de aprendizagem bem suave.

Não usa ponteiros

Diferentemente de algumas linguagens de programação, o Java torna transparente o uso de ponteiros, pois não permite o acesso direto à memória do computador e o programador não precisa se preocupar em gerenciar os objetos na memória. A plataforma Java traz o coletor de lixo, que se encarrega de limpar a memória de objetos não referenciados.

Multithread

A plataforma permite a execução concorrente de várias rotinas de uma aplicação, o que possibilita a construção de aplicações Java robustas e modernas.

Performance

Desde o início, o Java foi pensado com foco em ser compacto, independente de plataforma e para funcionar em rede. Na utilização da JVM, durante a evolução da plataforma, foi incorporado o JIT (Just In Time), que converte os bytecodes em código nativo, o que trouxe ainda mais performance em sua utilização.

Segurança

Pensando na implementação de aplicações em redes, o Java entrega uma boa solução para segurança das aplicações nele desenvolvidas. Há possibilidade de se especificar o nível de segurança ou determinar que aplicativos como applets sejam seguros ou não.

Além dessas características, a linguagem Java é bastante robusta e permite o trabalho com tipos numéricos, como inteiro ou ponto flutuante, de acordo com padrões internacionais, além de implementar e incentivar o controle de erros pela aplicação. A Sintaxe da linguagem também é bem simples, o que explica em parte como ela se tornou uma das linguagens orientadas a objetos mais populares do mundo.

Tire proveito dos recursos da Linguagem Java

Sintaxe da Linguagem Java

Que tal conhecer um pouco mais sobre a linguagem Java? Para isso, vamos falar um pouco sobre a sua sintaxe.

Para criarmos um programa, podemos dividir o nosso código fonte em diversos arquivos com extensão .java, também conhecidos como unidades de compilação. Usando um editor de códigos, vamos definir o código fonte em Java (.java) para exibir uma mensagem em console, que será compilada em um .class para ser interpretada pela nossa JVM.

Abaixo temos um exemplo de um código Java para exibir uma mensagem:

class Hello {
    public static void main(String[] args) {
       System.out.println("Olá, Mundo! Sou o Java.");
    }
}

Uma aplicação básica Java deve ter o método main, que serve como uma porta de entrada para a execução da aplicação, e é a partir dela que será criado o processo a ser executado pelo processador.

Para começar a escrever o código Java, é necessário utilizar um editor de texto para salvar pos arquivos .java e o JDK para realizar a compilação com o utilitário javac.

Para o código que exemplificamos acima, utilizamos o VS Code na plataforma Windows. Você pode conferir mais informações sobre como utilizar o Java no VS Code no nosso super artigo Desenvolvendo aplicações Java com o VS Code.

Para gerar os bytecodes, navegamos pelo console até o diretório onde se encontra o arquivo com a extensão .java e executamos o comando abaixo:

javac Hello.java

Um fato importante do Java é que ela é uma linguagem case-sensitive, ou seja, ela faz uma distinção entre letras minúsculas e maiúsculas, como em classe e Classe. Ela também é uma linguagem definida como fortemente tipada, então, na utilização de variáveis e objetos, devemos fornecer um tipo para ele.

Por exemplo: queremos definir um espaço na memória que iremos nomear como “valor”, sendo que esse recebe 100, que é do tipo inteiro, então escreveremos da seguinte forma:

int valor = 100;
System.out.println(valor); // exibe a mensagem no terminal

Na linguagem Java, temos os tipos de dados primitivos (o mesmo que existe em outras linguagens), apresentados de forma sucinta na tabela abaixo, e os tipos complexos (classes), que são definidos por nós.

CategoriaTipo
Inteirobyte, short, int, long
Realfloat, double
Caracterchar
Lógicaboolean

Os tipos complexos, as chamadas classes, são aqueles tipos criados pela pessoa programadora para a resolução de algum problema e que irão representar alguma ideia ou conceito do mundo real, que são a base do paradigma de programação orientada a objetos.

Para se aprofundar sobre a sintaxe do Java e entender mais fundamentos da linguagem, recomendamos que você acesse:

Como desenvolver Boas Práticas de Programação?

Android & IoT

Java e Android

O Java, desde a sua criação, oferece recursos e suporte para o desenvolvimento de aplicativos móveis. Ele já teve a plataforma JavaME (Java Micro Edition), que foi descontinuada no decorrer dos anos, mas atualmente ainda configura como a principal linguagem de desenvolvimento para o sistema operacional Android.

Então, se o seu objetivo é trabalhar com o desenvolvimento de aplicativos, o Java é uma ótima opção para estudos, fornecendo ferramentas para escrita de código, depuração e teste.

Flutter e Java no Serpro – Hipsters On The Road #59

Ouvir um pouco de:
Flutter e Java no Serpro – Hipsters On The Road #59

Java e IoT

A área de Internet das Coisas (IoT), na atualidade, é uma das mais estudadas e é alvo de várias gigantes da indústria de tecnologia. O conceito de IoT é permitir a comunicação entre hardwares (coisas) e pessoas em diversas plataformas (sistemas operacionais).

Nesse contexto, já existem maneiras de rodar aplicações Java em placas arduino, uma das principais plataformas para desenvolvimento de projetos eletrônicos com base em hardware e software. Além disso, o mais interessante é que todos os arquivos e design de projetos arduinos estão disponíveis de forma gratuita pela Creative Commons Attribution Share-Alike License.

Para que uma aplicação Java possa se comunicar com placas arduino, podemos recorrer à biblioteca Javino, que possui uma biblioteca para Java e outra para Arduino. Ela foi desenvolvida pelos professores Carlos Pantoja e Nilson Lazarin, do Cefet-RJ, com base na pesquisa A Robotic-agent Platform for Embedding Software Agents Using Raspberry Pi and Arduino Boards.

No topo da imagem, há uma junção do prefixo de Java (em vermelho) e do sufixo de Arduíno (em verde), formando o nome da biblioteca “Javino”. Abaixo, um ícone representando uma placa de hardware.

A utilização do Java em projetos de IoT casa muito bem com a proposta inicial da plataforma, que era permitir que equipamentos diversos pudessem interagir por meio de um sistema operacional e um software aplicativo.

Java e Orientação a Objetos

A Orientação a Objetos é um paradigma de programação, mas, afinal, o que isso quer dizer? Um paradigma é um modelo ou estilo de programação que aplicamos na criação de um software.

Nesse modelo de programação, a ideia é aproximar os conceitos e ideias do mundo real - traduzindo, por exemplo, um carro, uma pessoa ou mesmo uma conta bancária para o mundo virtual - e fazer com que esses conceitos na forma de objetos de software consigam se comunicar e interagir para executar uma funcionalidade para um sistema.

Esse paradigma nasceu em 1960, na Noruega, com a proposta da criação de sistemas mais confiáveis, flexíveis e de fácil manutenção. Na década seguinte, em 1970, o matemático, biólogo e desenvolvedor Alan Kay criou a primeira linguagem de programação a implementar esse paradigma, o SmallTalk.

Apesar de ter nascido a tanto tempo, foi com o Java que esse modelo de programação ganhou popularidade e passou a ser adotado em larga escala pela "indústria” de softwares; e aqui existe uma retroalimentação, pois a popularidade do Java também está muito atrelada ao fato da linguagem adotar esse paradigma.

Dentre as principais vantagens da adoção da Orientação a Objetos, além de minimizar a curva de aprendizagem, também temos a capacidade de reutilização, que otimiza a produção de uma solução de software, possibilitando maior qualidade, redução de tempo e custo de manutenção de sistemas.

Classes e Objetos

Na Orientação a Objetos, temos dois conceitos essenciais, que são:

  • Classes;
  • Objetos.

Classes

no mundo real, podemos identificar e classificar diversos objetos que compartilham um conjunto de características em comum. Por exemplo, um livro é um conceito que pode representar vários objetos com características compartilhadas, como capa, autor, número de páginas, ISBN, entre outros; assim, diante de objetos que têm em comum esse conjunto de características, conseguimos classificá-los como livros, certo?

O que é Classe na Orientação a Objetos?

Por definição, uma classe serve como um modelo, uma “planta”, um desenho por meio do qual objetos serão criados. No Java, podemos definir uma classe como mostrado na codificação abaixo:

public class Pessoa {
    public String nome;
    public String email;
    public String cpf;  
}

Em uma classe, além das características (propriedades) comuns aos objetos, temos também os comportamentos que aquele objeto pode executar. Veja um exemplo:

public class Pessoa {
    public String nome;
    public String email;
    public String cpf;

    public String exibirDados() {
        return "=== Dados da Pessoa ===" + "\n" +
                "Nome: " + this.nome + "\n" +
                "Email: " + this.email + "\n" +
                "CPF: " + this.cpf;
    }
}

Então, para a utilização de objetos precisamos definir as classes, por isso alguns defendem que poderíamos chamar de “Programação Orientada a Classes”, o que daria muito certo também!

Objetos

Como já demos um spoiler, um objeto é criado a partir da definição de uma classe. Ele representa uma instância específica de um objeto existente em um conjunto de objetos.

O que é Objeto na Orientação a Objetos?

Os objetos são essenciais na Programação Orientada a Objetos, pois serão eles que irão interagir e executar as funcionalidades do sistema. Então, tomando como exemplo a definição da classe Pessoa, do exemplo acima, para representar um único objeto do conjunto “pessoas” no Java, escrevemos da seguinte forma:

       //Definindo um objeto pessoa.
        Pessoa andre = new Pessoa();
        andre.nome = "André Silva";
        andre.email = "[email protected]";
        andre.cpf = "1111111-11";
        System.out.println(andre.exibirDados());

         //Definindo um outro objeto pessoa.
         Pessoa helen = new Pessoa();
         helen.nome = "Helen Cardoso";
         helen.email = "[email protected]";
         helen.cpf = "2222222-22";
         System.out.println(helen.exibirDados());

Note que no exemplo definimos dois objetos do tipo Pessoa e ambos possuem as mesmas propriedades: nome, email e cpf, mas cada um possui um conjunto de dados que os tornam diferentes.

Orientação a objetos com Roberta Arcoverde | #HipstersPontoTube

Os pilares da O.O.

Além dos dois conceitos centrais desse paradigma, apresentados anteriormente, temos alguns outros conceitos que são de extrema importância e que formam os pilares da Programação Orientada a Objetos:

  • Polimorfismo;
  • Herança;
  • Abstração;
  • Encapsulamento.
Ilustração de quatro pilares sustentando o termo “P.O.O. - Programação Orientada a Objetos”. À esquerda, encontram-se quatro palavras relacionadas a cada um dos pilares exibidos na imagem: Polimorfismo, Herança, Abstração e Encapsulamento.

Polimorfismo

Palavra de origem grega e que significa “várias formas”. Por meio da implementação desse conceito, podemos fazer um objeto de uma determinada classe executar um comportamento diferente de acordo com algum parâmetro passado.

Herança

É um mecanismo muito importante na Orientação a Objetos, no qual uma classe pode herdar atributos e comportamentos de uma outra classe. Por meio da herança conseguimos reaproveitar o código, podendo facilitar a implementação e a manutenção de classes no futuro.

public class Producao {
    public int id;
    public String nome;
    public String classificacao;
    public String diretor;
    public String estudio;
    public Date dataLancamento;
}

Agora vamos fazer uma classe herdar da classe Produção:

public class Serie extends Producao {
    public int temporadas;
    public Date dataEncerramento;
}

Em resumo, fizemos a classe Serie herdar de Producao. Mas, o que ela herda? Pela herança, uma classe derivada herda os atributos, então Serie possui agora: id, nome, classificação e também os comportamentos que forem definidos em Producao.

Abstração

É um processo mental, é a atividade onde vamos definir o que é importante para ser representado em um sistema. Por exemplo: na definição de um sistema médico para acompanhamento de pacientes, pode ser necessário identificar o nome, CPF, data de nascimento, tipo sanguíneo, etc.

Já para um sistema de paciente no contexto de uma clínica de beleza, as informações essenciais podem ser: identidade, endereço, telefone de contato e e-mail.

Este processo de identificar e analisar quais informações deverão ser modeladas em uma classe de um sistema é a abstração.

Encapsulamento

Conceitualmente, o encapsulamento é algo bem simples. A ideia aqui é conseguirmos ocultar parte do nosso código para implementar segurança a fim de que a modificação na estrutura de um determinado objeto não afete outros em nosso sistema.

Se aprofundando em Programação Orientada a Objetos

Práticas de Orientação a Objetos – Hipsters #129

Ouvir um pouco de:
Práticas de Orientação a Objetos – Hipsters #129

Ferramentas

Para começar a desenvolver as suas aplicações usando a plataforma Java, o que não pode faltar é o nosso querido JDK e um editor de texto - isso mesmo, um bloco de notas ou similares.

Mas graças aos deuses da programação, temos uma série de ferramentas, algumas gratuitas e outras proprietárias, que atendem às nossas necessidades. Vamos listar aqui algumas das mais utilizadas no mundo Java, as famosas IDEs (Integrated Development Environment).

Com uma IDE podemos editar o código, acessar um terminal, executar um script , debugar e compilar usando um único ambiente, o que pode potencializar a produtividade no desenvolvimento de aplicações. Abaixo, trazemos algumas IDEs e editores que podemos usar para o Java.

Eclipse

O Eclipse é uma IDE para Java de código aberto e gratuito. Ela agrupa uma série de ferramentas e utilitários para apoiar o desenvolvimento, muito associada ao Java desde a sua criação. Hoje a IDE já permite a sua utilização para programar usando linguagens como JavaScript, PHP, entre outras.

Página da Eclipse Foundation, exibindo informações e o botão para download da ferramenta Eclipse IDE 2022-09.

Créditos: Eclipse Foundation

Baixar o Eclipse

Para baixar a IDE, você pode acessar a página da Eclipse Foundation, localizando a aba Eclipse IDE Download.

NetBeans

Outra IDE muito famosa no mundo Java é a NetBeans, também gratuita e de código aberto. Ela foi projetada de forma reutilizável, visando o reaproveitamento e simplificação com a intenção de aumentar a produtividade. Além disso, a IDE foi completamente escrita em Java.

Composta por um conjunto de módulos e bibliotecas com a intenção de garantir que as pessoas desenvolvedoras possam escrever software de maneira mais rápida, hoje é disponibilizada em vários idiomas, e com as configurações adequadas você consegue desenvolver usando C, C++, Ruby, PHP, entre outras.

Página da netbeans.org, exibindo informações sobre a IDE e o link para download da ferramenta Apache NetBeans 15.

Créditos: Apache NetBeans

Baixar o NetBeans

Para baixar a IDE NetBeans, basta acessar a página inicial da Apache NetBeans.

IntelliJ

O IntelliJ IDEA, outra ferramenta escrita totalmente em Java, nos permite escrever, além do próprio Java, códigos em Kotlin, Scala e Groovy. Também objetivando otimizar o trabalho da pessoa desenvolvedora, a IDE oferece IntelliSense, ambiente de depuração e uma série de plugins para ajudar no desenvolvimento do código.

Desenvolvida e mantida pela empresa JetBrains, essa é uma ferramenta proprietária, mas hoje conta com uma versão Community que opera sob a licença Apache 2.0.

Página da jetbrains.com, exibindo listas de atributos e os links para download da ferramenta IntelliJ IDEA nas versões Ultimate e Community.

Créditos: IntelliJ IDEA, JetBrains

Baixar o IntelliJ

Para fazer o download do IntelliJ, você pode acessar a opção “Baixar” no site oficial da JetBrains. Lá você encontrará as versões Ultimate ou Community disponíveis para os sistemas operacionais Windows, macOS e Linux.

VS Code

O Visual Studio Code é o editor de códigos abertos da Microsoft, também disponível para Mac e Linux, e que, por meio da configuração de alguns plugins, pode ser utilizado para escrever seus primeiros códigos em Java.

Possui suporte para várias linguagens, uma interface agradável e é simples de usar, além de ser uma ferramenta muito leve em comparação a uma IDE tradicional.

Página do Visual Studio Code, exibindo o link para download da versão para o sistema operacional Windows e uma prévia da sua interface.

Créditos: Visual Studio Code

Baixar o Visual Studio Code

Para baixar o VS Code, você pode acessar a página oficial da ferramenta. Recomendamos também a leitura do artigo Desenvolvendo aplicações Java com o VS Code, que apresenta a configuração de alguns plugins para Java no Visual Studio Code.

Certificações

Para começar uma carreira em programação, o essencial é a vontade e a dedicação em aprender cada vez mais. Para muitas vagas de trabalho, uma formação “formal'' não é um requisito eliminatório, mas é sempre bom podermos, quando possível, procurar alguma forma de instrução.

Hoje temos à disposição uma série de formas de aprender e praticar programação, desde a realização de cursos livres, até a graduação e a pós graduação. Mas na área de tecnologia temos as certificações, onde empresas como Microsoft, IBM, Google e Oracle oferecem a possibilidade de uma certificação técnica em determinadas tecnologias, em geral, mantidas por essas empresas.

Uma certificação também serve como um sinal que você, enquanto profissional, estudou e valida seus conhecimentos em determinada tecnologia, o que ajuda a incrementar o seu currículo, tendo em vista que algumas vagas podem exigir como um dos requisitos determinada certificação. Mas, e no universo Java?

Vale a pena fazer uma certificação? #HipstersPontoTube

As certificações Java existem desde a época da Sun Microsystem, e hoje elas fazem parte do portfólio da Oracle. Vamos ver algumas delas.

Oracle Certified Associate (OCA)

Essa certificação atesta que você conhece a estrutura básica da linguagem Java. Ela é a porta de entrada para outras certificações Oracle Java.

Card do caminho para a certificação “Associate”, no site da Oracle, exibindo o texto “Java SE Oracle Certified Associate, Java SE 8 Programmer”.

Créditos: Oracle

Oracle Certified Professional (OCP)

Depois de obter a Certificação OCA, a pessoa programadora poderá trilhar o caminho para a Certificação OCP. Nesta prova, deverá demonstrar a habilidade de criar soluções Java SE de alto nível, usando orientação a objetos, tratamento de exceções, enumerações, entre outros.

JAVA SE

Oracle Certified Professional, Java SE 8 Programmer
Card do caminho para a certificação “Professional”, no site da Oracle, exibindo o texto “Java SE Oracle Certified Professional, Java SE 8 Programmer”.

Créditos: Oracle

Oracle Certified Professional, Java SE 11 Developer
Card do caminho para a certificação “Professional”, no site da Oracle, exibindo o texto “Java SE Oracle Certified Professional, Java SE 11 Developer”.

Créditos: Oracle

Oracle Certified Professional, Java SE 17 Developer
Card do caminho para a certificação “Professional”, no site da Oracle, exibindo o texto “Java SE Oracle Certified Professional, Java SE 17 Developer”.

Créditos: Oracle

Oracle Certified Professional Java EE (OCP)

Esta certificação busca validar a capacidade da pessoa desenvolvedora Java em desenvolver e implantar novos aplicativos na plataforma Java. Voltada para pessoas desenvolvedoras que atuam no Front-end e Back-end, em nível intermediário ao avançado, que possuam habilidades de criar interfaces web com tecnologias JavaScript, JSP e servlets, além de trabalhar com lógicas de negócios.

JAVA EE and WEB SERVICES

Oracle Certified Professional, Java EE 7 Application Developer
Card do caminho para a certificação “Professional”, no site da Oracle, exibindo o texto “Java EE And Web Services Oracle Certified Professional, Java EE 7 Application Developer”.

Créditos: Oracle

As certificações Java são importantes?

As certificações assumem um papel importante na carreira de uma pessoa desenvolvedora, pois a mantém estudando e se aprofundando ainda mais em determinada tecnologia. Mas somente elas não garantem sucesso, lembre-se disso. É muito importante que você busque se aprimorar da maneira que faça mais sentido para você, e as certificações são uma excelente opção!

Dev em T: conheça o que é e porquê se tornar um(a)

Dev em T: programação, carreira e tipos de perfil | #HipstersPontoTube

Será que eu faço uma faculdade de tecnologia?

Os melhores livros de tecnologia para ler e se aprofundar

Comunidade

A comunidade de pessoas desenvolvedores Java é uma das mais ativas dentro da tecnologia. Impulsionada no início por se tratar de uma tecnologia livre e de código aberto, o Java encontrou nesse ambiente um cenário muito favorável.

Somado a isso, ao redor do mundo nasceram muitas comunidades, grupos de discussões, eventos e encontros técnicos que ajudaram a propagar o Java e a alavancar a popularidade dessa tecnologia.

Por meio da comunidade, existe uma grande troca de experiência e conhecimento entre seus usuários, com boas oportunidades de parcerias em projetos. No Brasil, a comunidade Java criou várias iniciativas que são relevantes até hoje. Podemos citar como um caso de sucesso o Grupo de Usuários Java (GUJ).

Comunidades em tecnologia | Hipsters.Talks

Participar de comunidades é uma ótima oportunidade para fazer um network e ajudar pessoas desenvolvedoras em início de carreira, e até mesmo se manter motivado nos estudos em tecnologia.

Vale a pena participar de comunidades de tecnologia? #HipstersPontoTube

Aprenda mais sobre Java gratuitamente

Acesse gratuitamente as primeiras aulas da Formação Java e Orientação a Objetos, feita pela Escola de Programação da Alura e continue aprendendo sobre temas como:

  1. Java JRE e JDK: compile e execute o seu programa
  2. Java OO: entendendo a Orientação a Objetos
  3. Java Polimorfismo: entenda herança e interfaces
  4. Java Exceções: aprenda a criar, lançar e controlar exceções
  5. Java e java.lang: programe com a classe Object e String
  6. Java e java.util: Coleções, Wrappers e Lambda expressions
  7. Java e java.io: Streams, Reader e Writers
  8. Java Collections: Dominando Listas, Sets e Mapas
  9. Java 8: conheça as novidades dessa versão
  10. TDD e Java: testes automatizados com JUnit

Como aprender melhor? Com Diogo Pires | #HipstersPontoTube

Apostilas de Java da Alura

Apostila de Java e Orientação a Objetos

Mergulhe na Apostila : Java e Orientação a Objetos e aprenda tópicos importantes como:

  1. Como Aprender Java;
  2. O que é Java;
  3. Variáveis Primitivas e Controle de Fluxo;
  4. Orientação a Objetos Básica;
  5. Modificadores de Acesso e Atributos de Classe;
  6. Eclipse IDE;
  7. Pacotes - Organizando suas Classes e Bibliotecas;
  8. Ferramentas: JAR e Javadoc;
  9. Herança, Reescrita e Polimorfismo;
  10. Classes Abstratas;
  11. Interfaces;
  12. Exceções e Controle de Erros;
  13. O Pacote java.lang;
  14. Um Pouco de Arrays;
  15. Collections Framework;
  16. E Agora? Web, Bibliotecas e grupos de usuários;
  17. Pacote java.io;
  18. Apêndice - Programação Concorrente e Threads;
  19. Apêndice - Sockets;
  20. Apêndice - Problemas com Concorrência;
  21. Apêndice - Instalação do Java;
  22. Apêndice - Debugging;
  23. Resoluções de exercícios.

Apostila de Java para Desenvolvimento Web

Mergulhe na Apostila : Java para Desenvolvimento Web e aprenda tópicos importantes como:

  1. Enfrentando o Java na Web;
  2. Bancos de dados e JDBC;
  3. O que é Java EE?;
  4. Novo projeto Web usando Eclipse;
  5. Servlets;
  6. JavaServer Pages;
  7. Usando Taglibs;
  8. Tags customizadas com Tagfiles;
  9. MVC - Model View Controller;
  10. Recursos importantes: Filtros;
  11. Spring MVC;
  12. Spring MVC: Autenticação e autorização;
  13. Spring IoC e deploy da aplicação;
  14. Uma introdução prática ao JPA com Hibernate;
  15. E agora? Frameworks Web, Frameworks de persitência;
  16. Apêndice - Integração do Spring com JPA;
  17. Apêndice - Tópicos da Servlet API;

Baixar Apostilas

Baixe elas completas em: Apostilas da Alura - Conteúdo livre para o seu aprendizado.

Portfólio e Carreira em Tecnologia

Como fazer um bom portfólio

Como fazer um bom portfólio em tecnologia com Diogo Pires | #HipstersPontoTube

5 projetos para sua carreira em tech

5 projetos pra quem está na carreira tech com Mario Souto | HipstersPontoTube

Conclusão

O Java, enquanto plataforma e uma linguagem de programação, já se encontra consolidado, possuindo umas das maiores e mais ativas comunidades dentro da tecnologia. Hoje, temos a plataforma Java rodando nos mais diversos dispositivos de smartphones, computadores e Internet das Coisas.

Por ter iniciado como uma tecnologia aberta, que implementa e utiliza o conceito de máquinas virtuais e o paradigma de programação orientada a objetos, a plataforma ganhou uma extraordinária popularidade, estando presente inclusive em projetos governamentais ao redor do mundo.

Quer se aprofundar ainda mais na tecnologia Java? Deixamos aqui algumas referências que serão de grande ajuda:

André Bessa
André Bessa

Eu sou programador e instrutor de programação usando C# e .NET. Formado em Sistemas de Informação. já programei usando Java, PHP,C#, PostgreSQL e MySQL, além de já ter atuado com suporte também. Buscando sempre aprender mais sobre tecnologias.Hobbies são gibis e séries.

Veja outros artigos sobre Programação