Prazer, Java!

Sem dúvida alguma JAVA está em alta. Não é só a “linguagem de programação da moda”, parece ser uma espécie de rítmo que, embora não seja novo, é contagiante no mercado de desenvolvimento de sistemas de informação. É só pararmos para analisar a quantidade de vagas ofertadas para analistas de sistemas que “entendam e consigam modelar na prática” baseados em orientação à objetos, ou a programadores em JAVA, C++ e C# (essas duas últimas linguagens de programação se assemelham em sintaxe à JAVA).

Essa realidade impulsiona as demais demandas de mercado. É comum vermos nos centros de treinamentos que possuem oferta de cursos de JAVA (nos mais variados níveis), filas de espera e, vários programadores se matriculando em cursos fora de sua cidade, comprando bibliografias específicas, estudando de maneira informal… Enfim, JAVA parece ter vindo mesmo pra ficar. Outra prova incontestável desta afirmativa são os homéricos investimentos feitos por bancos, indústrias, empresas estatais e softhouses de grande porte na portabilidade de seus softwares legados para a plataforma da SUN.

Contudo, em meio a esse frison, existem muitas informações desencontradas e, o programador que vem de outras ferramentas de desenvolvimento acaba por não entender exatamente o “que é esse tal de JAVA”? Por que todo mundo anda falando num tal de paradigma de “orientação à objeto”? JAVA é tão difícil assim de se aprender? Por que aquele meu amigo, programador, que utiliza linguagens de programação procedurais (ou as utiliza de forma procedural) anda querendo desistir de aprender JAVA?

Costumo ouvir esse tipo de questionamento a todo momento dos meus alunos, amigos ou visitantes aqui do website. Foi então que resolvi escrever um post, um artigo introdutório ao JAVA, todavia, percebi que não conseguiria fazê-lo melhor que o pessoal do GUJ o fez. O texto é muito claro, numa linguagem muito simples e didática. Assim sendo, acabei por optar em colocar o texto na íntegra no decorrer deste post. O artigo original também pode ser acessado em: http://www.guj.com.br/java.tutorial.artigo.107.1.guj

Pra você que é tímido, damos uma de relações públicas e apresentamos a você essa tal de Java.

 

Introdução

Ok! Todo mundo fala dessa moderna linguagem, é chícara pra cá, café pra lá, e você no meio, sem entender nada… Mas o quê, afinal, é essa tal de “Java”? Como um Grupo de Usuários de Java (GUJ) legal que somos, já temos uma certa intimidade com a dita cuja, e vamos apresentá-la a você!
Avance pelas páginas e você poderá dizer pro seus amigos que não conhece Java só de nome, já deu uma aprofundada na relação. E eles vão morrer de inveja!

Didaticamente, podemos imaginar o Java como um computador, uma máquina virtual. Não uma máquina qualquer, podemos considerá-la um Rolls Royce (alguém perguntaria: “Por que não Ferrari?”. Bem, digamos que Java ainda não é um primor em velocidade). E, como todo carro de luxo que se preze, vem cheio de recursos. Temos suporte a impressora, telas gráficas, teclado, mouse, rede, arquivos, e muitas outras coisas.

Você pergunta: “Nossa, quanto custa este computador?”. Respondo: nada! Este computador, muito bem bolado, é dado de graça pela Sun, sua inventora. Só tem um detalhe: essa máquina não existe, pelo menos não fisicamente. Mas não pense que isso é uma coisa ruim, não. É justamente esse detalhe que torna Java tão versártil!

Na verdade, Java é um conjunto de especificações: da linguagem de programação, do formato do arquivo .class, da API e da máquina virtual. O segredo está em emular essa máquina nos diversos aparelhos existentes. Digo aparelhos porque Java não é só para microcomputadores, tem pra celular, brinquedos (ie.: Lego MindStorms) e, diz a lenda, até relógios.

Quem conhece emuladores (eu já fui viciado num, mas estou a 234 dias sem jogar!), sabe como funciona. É como se existisse uma máquina virtual dentro do seu micro, fazendo os programas daquela rodar neste.

A Sun fez a JVM (Java Virtual Machine, como é chamado o emulador do Java) para os principais sistemas de hoje. Temos pra Windows, Linux, Macintosh, … Você já deve ter usado o Java sem perceber, pois existem inúmeros sites na Internet que utilizam Applets. E estes nada mais são do que programas em Java rodando dentro de um browser.

Se fosse pra falar só de JVM, este artigo não estaria no GUJ. A parte legal do Java é o Development Kit, ou JDK. É ele que nos permite desenvolver programas pra rodarem na JVM.

O JDK está disponível em diversos sabores, a seu gosto. Temos J2SE (Standard Edition), J2EE (Enterprise Edition) e J2ME (Micro Edition). Pra saber um pouco sobre cada um, dê uma olhada no artigo Sopa de Letrinhas Sabor Java, escrito pelo colega Rafael Steil, disponível aqui mesmo no GUJ.

Para quem já está familiarizado com linguagens de programação procedurais, como o C, ou orientada a objetos, como o C++, aprender a programar em Java é um passo facílimo de se dar.

Java é uma linguagem orientada a objetos, com algumas características:

– Garbage Colector: você não precisa ficar gerenciando a sua memória manualmente, Java possui um coletor de lixo embutido;

– Threads: Java possui suporte nativo a threads, o que significa que seu programa pode rodar vários processos paralelamente;

– Exceptions: o tratamento de erros no Java é feito por meio de exceções. Programas sujos de if’s nunca mais!

– Controlled Resources: desde o início, Java foi implementado com a segurança em mente. Para tanto, o acesso a recursos, como arquivos e rede, é bastante controlado;

– Java API: seguindo o paradigma da orientação a objetos de se reaproveitar tudo ao máximo, a API (Application Programming Interface) do Java é bastante extensa e abrangente. Não reinvente a roda, use as classes da API!

O melhor aspecto do Java está resumido na frase acima: escreva e compile o seu programa só uma vez, e rode-o em qualquer lugar! E como isto é conseguido?

Na especificação do Java, existe a descrição dos arquivos .class, que nada mais são que programas em linguagem de máquina, entendido pela JVM. Quando você escreve seu programa em arquivos .java e o compila, é gerado o bytecode de seu programa, que é salvo com a extensão .class. Para rodá-lo, a JVM carrega o .class e executa as instruções contidas ali.

Você pode rodar seu programa sem qualquer modificação em qualquer sistema. Basta, para tanto, que exista a JVM para a plataforma pretendida. E este é o segredo: a única parte que necessita ser portada é a JVM, e não o seu programa. E, como já foi dito, existem versões da JVM para diversos sistemas e plataformas, a sua escolha.

Apesar de parecer o contrário, Java não é marca de café ou algo do gênero. Os criadores da linguagem fizeram a associação em referência as noites em claro regadas a café que nós, programadores, passamos. E, acredite, depois de tomar gosto pela programação, você também passará muitas noites em claro!

Ah, esqueci de dizer na parte “o que é Java?” que Java também é o nome de uma ilha no arquipélago da Indonésia, onde se fala javanês! (e não bytecode ou algo do gênero 🙂

Espero ter dado a você uma visão básica do que é Java, e porque se tornou uma linguagem tão usada. Nós do GUJ iremos, oportunamente, nos aprofundar nos diversos aspectos deste tema.

E esperamos de você um feedback, dizendo do que precisa, o que achou, o que não entendeu. Registre-se no fórum e comente este e os outros artigos/tutorias do site. Com a colaboração de todos, formaremos uma comunidade Java coesa e atuante. Contamos com você!

Se você chegou até aqui e não sabe o que fazer, segue algumas sugestões de artigos:

PS: Neste artigo a palavra Java aparece 33 vezes