Introdução ao Java

O Java é uma linguagem de programação muito popular, sempre presente no topo dos rankings de popularidade das linguagens de programação. Mas antes de começarmos a programar na linguagem, precisamos entender os motivos por trás da sua criação e qual o legado que a linguagem herdou.

História do Java

O Java foi criado por James Gosling, Mike Sheridan, Patrick Naughton, Ed Frank e Chris Warth em 1991 na Sun Microsystems e se chamava inicialmente Oak, mas foi renomeado para Java em 1995. A principal motivação para a criação da linguagem foi a necessidade de se ter uma linguagem que fosse independente da plataforma, que pudesse ser utilizada para criar software para ser embutido em dispositivos eletrônicos, como controles remotos e microondas. Isso significava vários processadores e controladores.

O problema da maioria das linguagens de programação da época, como C e C++, era que elas eram feitas para ao serem compiladas, executarem em uma arquitetura específica. Como o processo de compilação é custoso e demorado, uma solução menos custosa era necessária.

A solução do Java: o bytecode

O que permite ao Java solucionar os problemas apontados é o output do seu compilador. Ao compilar um programa Java não é gerado um executável e sim um bytecode. O bytecode é um conjunto de instruções altamente otimizadas que foi desenhado para ser executado na máquina virtual do Java (JVM). A JVM foi originalmente desenhada como uma interpretadora de bytecode. Isso significa que os programas Java são compilados em arquivos intermediários (.class) contendo instruções no formato bytecode que são interpretadas pela JVM.

Traduzir um programa Java em bytecode torna muito mais fácil a execução do programa em diversos dispositivos, uma vez que somente a JVM precisa ser implementada para determinada plataforma. Além disso, executar o programa de dentro da JVM o torna mais seguro, uma vez que a JVM está no controle da execução e ela cria um ambiente de execução restrito, prevenindo acesso irrestrito a máquina host.

Componentes principais do Java

O kit de desenvolvimento do Java (JDK) contém o software mínimo que precisamos para desenvolvermos com Java. Entre seus principais componentes temos o compilador (javac) que compila os arquivos .java para .class, e o launcher java que cria a máquina virtual e executa o programa. Além disso, a JDK inclue também outras ferramentas como o jar que permite empacotar aquivos juntos e o javadoc que nos permite gerar documentação.

O comando javac compila os arquivos .java em arquivos .class no formato bytecode que o comando java consegue executar. O comando java lança a máquina virtual do Java (JVM) antes de rodar o código e esta executa o bytecode gerado pelo javac.

Você deve ter notado que foi dito anteriormente que a JDK contém o software mínimo que precisamos. Isso se deve ao fato que muitos desenvolvedores utilizam IDEs para facilitar a escrita e execução de seus programas Java. Entre essas IDEs as mais famosas são Eclipse, Intellij Idea e NetBeans.


Referências

SCHILDT, H. Java the complete reference. New York: McGraw-Hill Education, 2019.