Jose M. Fernández Sobre o Autor: [Escreva um ou dois par�grafos sobre a biografia do Autor aqui] Conte�do: Introdu��o Origem Obten��o e Instala��o de Java Ambiente de desenvolvimento Caracteristicas Come�ar a programar em JAVA Resumo |
Java. Parte IAbstract: Este � o primeiro artigo de uma s�rie, sobre programa��o com Java. A primeira parte � dedicada a descrever Java como linguagem, suas caracter�sticas gerais e a localiza��o das fontes mais importantes de informa��o. Introdu��oIniciamos uma s�rie de artigos , em que descrevemos o ambiente e a linguagem de programa��o Java. Como primeiro prop�sito tentarei me afastar dos t�picos relacionados com esta linguagem, n�o falarei nada sobre a hist�ria da linguagem, sobre microondas, lavadora(se algu�m se interessa, poder� l�-la em numerosas publica��es, at� em revista m�dicas). T�o pouco mostrarei Duke (o mascote de Java) que � um bonequinho narigudo em forma de triangulo, com o olhar sorrateiro, que ao menor descuido te sa�da a r�tmos fren�ticos que relembra a velhos filmes americanos de fic��o cient�fica. Existe uma coisa que � como certa, "Java est� na moda", n�o h� uma s� revista que n�o a aprecie e que n�o fale dela, nem empresa de software que n�o mostre algum produto para desenvolver applets em Java, nem p�gina na Web que n�o contenha alguma coisa em Java. Tentarei nesta s�rie de artigos aprofundar e na medida do poss�vel aprender (todos juntos) esta linguagem de programa��o que � simples no b�sico, mas com uma alta complexidade e dificuldade de dominar e em constantes mudan�as. Os primeiros artigos nos proporcionam uma descri��o da linguagem em geral para em seguida irmos analizando em profundidade temas particulares como os applets, trabalhos para rede, JDBC, beans, etc. Farei p� firme que java � uma linguagem de prop�sito geral, n�o s� para realizar applets para p�ginas web, ainda que � s�mente para isto que � conhecido, n�o podemos nos ater neste aspecto, j� que nos proporciona uma s�rie de alternativas que podem ser interessantes, ainda que a propria realiza��o de applets para a rede. Este primeiro artigo � um pouco mais descritivo que pr�tico, no qual veremos fundamentalmente as caracter�sticas da linguagem, ambiente de desenvolvimento e s� no final, veremos algum exemplo de programa Java. OrigemJava foi concebida por James Gosling, Patrick Naughton, Chis Warth, Ed Frank e Mike Sherindan na Sun Microsystem Inc. en 1.991, e na sua primeira vers�o, que durou 18 meses. Entre 1.992 e 1.995, colaboraram na maturidade do prot�tipo inicial Bill Joy, Arthur Van Hoff, Jonathan Payne, Frank Yellia, Tim Lindolm. Como podemos observar pelas datas, Java � anterior ou ao menos simult�nea com a WWW (at� o ano de 1.991, Tim Berners Lee n�o desenvolveu a linguagem HTML). Podemos considerar Java como uma linguagem de prop�sitos gerais, mas seu verdadeiro auge surgiu quando sua utiliza��o em p�ginas da Web. A sintaxe de Java � similar ao C e as caracter�sticas de orienta��o a objetos do C++. Java � uma linguagem de programa��o coerente e l�gicamente consistente. devido as similaridades com C e C++, poder�amos pensar que Java � uma vers�o para Internet de C++, mas tem importantes diferen�as te�ricas e pr�ticas. Especialmente Java melhora e refina o paradigma de orienta��o a objetos de C++. A Internet ajudou para Java se tornar uma linguagem universalmente conhecida e pelo seu lado, Java tem um profundo efeito sobre a Internet, j� que amplia o universo de objetos que podem mover-se livremente pelo ciberespa�o (programas dinamicos autoexecut�veis). Obten��o e Instala��o de JavaPara poder programar em Java necessitamos de v�rias ferramentas, sempre estamos nos referindo ao ambiente GNU/LINUX (pode ser que algu�m esque�a): a implementa��o atual para Linux, � baseado no ELF e requer um n�cleo 1.2.13 ou posterior Utilizaremos um ambiente chamado JDK (Java Development Kit). Netscape vers�o 2.0.14 ou posterior. Um editor de textos como Xemacs (trabalharemos sempre sobre Xwindows, ainda que n�o seja necess�rio em alguns casos, ainda que sim, para os Applets e programas com interfaces gr�ficos). Para baixar o JDK, podemos obter dentre outros, a partir do modo: http://www.blackdown.org/java-linux.html daqui escolheremos algum Mirror, para poder realizar o download mais rapidamente. Faz alguns meses a �ltima vers�o era a JDK-1.1.3(com ela realizamos os exemplos), mas durante minha �ltima visita, v� a vers�o 1.1.9, mas "aten��o", se quisermos baixar tudo, s�o aproximadamente 24Mb., mesmo que o estritamente necess�rio � de apenas 12Mb (paciencia). Uma vez descomprimido com gunzip e tar n�o h� nenhum problemas para come�ar a trabalhar O normal seria instalar no diret�rio /usr/local no qual, criar� o diret�rio /JDK1.1.3 e dentro dele, encontraremos v�rios diret�rios: /doc Documenta��o n�o oficial no formato HTML /demo Programas de demonstra��o em Java /lib Bibliotecas /bin As proprias ferramentas do JDK. Dentro do diret�rio /lib, encontraremos o arquivo "classes.zip";(n�o descomprima este arquivo), pois cont�m todas as classes compiladas que podemos utilizar no JDK. Dentro do diret�rio raiz, encontramos o arquivo "src.zip", este cont�m todos os arquivos fontes incluidos no arquivo "classes.zip". N�o podemos compilar e impossibilitado por falta de informa��o. Ambiente de desenvolvimentocomo falamos anteriormente, est�o incluidos no diret�rio /bin: javac : compilador java, compila programas fontes na linguagem java e bytecodes. Java : interprete java. Executa bytecodes Java. jre : similar ao interprete java(java), mas, pensado para usu�rios finais, que n�o exigem todas as op��es dispon�veis. appletviewer: testa e executa applets. jdb: depurador. javap: desassemblador de arquivos complados em Java. javadoc : gerador de documenta��o, produz um conjunto de p�ginas HTML, descrevendo as classes p�blicas e privadas, interfaces, construtores, m�todos e campos. Tamb�m produz uma hierarquia de classes e um �ndice de todos seus membros. javah : para acrescentar m�todos nativos (em linguagem C) a programas Java. jar : arquiva classes e fontes java em um arquivo Jar. javakey : manuten��o de assinaturas digitais. updateAWT : atualiza os nomes que mudaram nos m�todos do AWT1.02 em uma aplica��o. Para poder trabalhar sem problemas de diret�ris, acrescentaremos o diret�rio /usr/local/JDK1.1.3/bin na vari�vel de ambiente PATH do usu�rio que desejamos. Se desejamos que seje fixada para todos os usu�rios, incorporar o diret�rio a vari�vel PATH que est� no arquivo /etc/profile. Caracter�sticasAntes de continuarmos, poderiam perguntar: O que � Java?, e como resposta podemos ter (como no manual do JDK informa) que s�o duas coisas, por um lado, uma linguagem de programa��o e por outro uma plataforma. Como linguagem de programa��o, Java � uma linguagem de alto n�vel com as seguintes caracter�sticas (mais adiante as veremos com mais detalhes):
O primeiro que salta a vista, � que Java � interpretado, ainda que requeira uma compila��o pr�via, gerando um c�digo objeto em bytecodes, que � de muito baixo n�vel, este c�digo pode ser interpretado em distintas plataformas. Os bytecodes Java possibilita "escreve uma vez, executa sempre". Podemos compilar programas numa plataforma com um compilador Java e os bytecodes podem ser executados em qualquer arquitetura que possua implementa��o da m�quina virtual java(JVM). Por exemplo, um programa Java pode ser compilado em uma plataforma Windows NT e ser executada sem nenhum problema (pelo menos assim nos diz a teoria) em um Sun Ultra Solaris. Uma plataforma poder� ser o ambiente hardware ou software no qual � executado. A plataforma Java se difere de outras plataformas, por que ela � s� software e se executa sobre outra plataforma hardware. A plataforma Java tem dois componentes:
JVM � um computador abstrato no qual podemos executar programas Java compilados. Foi desenhado para ser f�cil e pequeno, porque se pretendia que estivesse presente em todos os lugares que fosse poss�vel. Esta simplicidade, foi feita t�o r�pidamente que se extendeu a todas as arquiteturas existentes, conseguindo uma classe de software comum a todas elas, pelo que nas redes de computadores heterog�neas(como � a Internet), a portabilidade � conseguida gra�as a Java. Como podemos imaginar esta � poss�velmente uma das raz�es do auge desta irrepar�vel desta tecnologia. a m�quina virtual, devemos entender como uma classe de software sobre um processador, se n�o como seu nome indica pretender se um computador e pouco a pouco v�o aparecendo Chips Java que dar�o apoio a m�quinas reais Java, cart�es de cr�dito, decodificadores de TV digital, etc. A API � uma grande cole��o de componentes software que prov� a linguagem de muitas utilidades, tais como interfaces gr�ficas(na terminologia Java, pacotes). Gra�as a estes pacotes, podemos escrever com Java. muitos tipos de programas distintos, afora as conhecidas Applets para Web, podemos desenhar, por exemplo servidores Web, proxis, servidores de correios, servidores IRC, e pr�ticamente o que possamos imaginar tanto em rela��o com a Internet como n�o. Os agrupamentos das API, podem ser classificadas como:
Al�m deste n�cleo b�sico da API, podemos dispor de estens�es para 3D, telefonia, anima��o, etc. Como vimos no in�cio desta caixa, Java possui uma s�rie de caracter�sticas que veremos em detalhes:
Depois desta quantidade enorme de par�grafos(n�o � mais que o oficial do Java), farei que (outra vez) pergunte porque Java no mundo GNU/LINUX. Anteriormente falamos de um JDK para Linux, isto n�o � mais que uma implementa��o comercial da original desenvolvida pela Sun Microsystem(ainda que de livre disposi��o). Existem ferramentas como o compilador GUAVAC (http://HTTP.CS.Berkeley.EDU/~engberg/guavac) sob licen�a GPL, com ele podemos compilar qualquer fonte Java sem nenhum tipo de problemas. Destacaremos assim mesmo uma m�quina virtual chamada KAFFE (http://www.kaffe.org), sob licen�a Berkeley. Estes dois projetos est�o bastante avan�ados, ainda que necessitem das bibliotecas das classes Java da Sun(de livre distribui��o no momento) para ter um sistema de desenvolvimento completo. Existem tamb�m projetos em fases iniciais para criar ambientes de desenvolvimento r�pidos e visuais de aplica��es Java. Existe um grande movimento na rede, sobre a tecnologia JAVA y GNU, com o objetivo de desenvolver ferramentas completas e independentes da SUN. Com isso, podemos fazer uma ideia da importancia de Java, e quando a moda passar com certeza alguma coisa ficar� (bastante, diria eu). Come�ar a programar com JAVAUma vez vistos todas as caracter�sticas gerais da linguagem, veremos um programa real. Como disse na introdu��o deste artigo, gostaria de evitar o m�ximo poss�vel a coloca��o de t�picos, quer dizer, n�o faremos o primeiro programa saudando o mundo, em lugar dele, veremos em nossa tela, um quadro nas dimenss�es que quisermos (um pouco mais complicado, mas sem introdu��es.): class Cuadro { public static void main (String args[]) { int l ,a; if (args.length == 2) { l = Integer.valueOf(args[0]).intValue(); a = Integer.valueOf(args[1]).intValue(); } else { l= 20; a= 15; } for (int i=l; i>0; i--){ System.out.print("*"); } System.out.print("\n"); for (int i= a-2; i>0; i--){ System.out.print("*"); for(int j=l-2; j>0; j--) { System.out.print(" "); } System.out.print("*\n"); } for (int i=l; i>0; i--){ System.out.print("*"); } System.out.print("\n"); } } A primeira coisa que temos que ter em conta, � o nome que damos ao arquivo fonte que � muito importante, j� que este � definido como uma "unidade de compila��o". Pode ser um arquivo que contenha uma ou mais defini��es de classe. O compilador espera que estes arquivos tenham a extens�o .Java (4 caracteres) pelo que alguns sistemas como DOS ou Windows 3.1 n�o suportam. Como vemos no exemplo o nome da classe definida tamb�m coincide com o nome do arquivo fonte e n�o � por casualidade, em Java, todo o c�digo tem que estar dentro de uma classe. Por conveniencia, o nome da classe tem que coincidir com o nome do arquivo que cont�m o programa. Al�m disso, Java � sens�vel ao contexto (diferen�a entre mai�sculas e min;usculas). Para compilar o exemplo, na linha de comando, digitamos: > javac cuadro.javaO compilador Java (se tudo foi bem) criar� um arquivo cuadro.class que cont�m, naturalmente o c�digo bin�rio (bytecode) e este poder� ser executado pelo int�rprete: > java cuadroQuando compilamos c�digo fonte de Java, cada classe individualmente � colocada em um arquivo que tem o mesmo nome que a classe. Esta � a raz�o pela qual � uma boa pr�tica chamar os arquivos fontes da mesma forma que a classe que a cont�m, j� que assim, o nome do arquivo fonte coincidir� com o nome do arquivo.class. Ainda que nosso exemplo quadro.java � bastante simples, nos ajudar� a compreender os elementos fundamentais de um programa Java, e sobretudo a estrutura de um programa. O que se tem de levar em conta, � que este exemplo n�o � um applet para incluir em uma p�gina HTML, e sim um programa independente que � executado com o interprete � partir da linha de comandos. A primeira linha do programa �: class cuadro { Nesta linha, empregamos a palavra reservada class para declarar que vamos definir uma nova classe, "cuadro" � o identificador do nome da classe. A defini��o da classe completa incluindo todos os seus membros, est�o entre as chaves ({ }), as mais gerais. Note que em Java, toda a atividade de um programa ocorre dentro da classe. Na linha seguinte: public static void main (String args[]) { De inicio, podemos destacar o m�todo main(). Todas as aplica��es Java come�am sua execu��o chamando este m�todo (como em C/C++). Continuando, comentaremos alguns conceitos que posteriormente (em outros artigos), detalharemos ainda que faremos uma r�pida passada, s�mente para comprender o exemplo. A palavra chave public permite controlar a visibilidade das classes membros. Quando uma classe � declarada como public, esta pode ser utilizada por c�digo definido fora de sua classe. Static permite que o m�todo main() seja chamado sem necessidade de instanciar a classe. Void indica que n�o devolve nenhum valor. Para enviar informa��es a um m�todo, realizamos atrav�s de vari�veis especificadas entre os parenteses que seguem o nome do m�todo, em nosso caso, declaramos um par�metro chamado arg que � uma matriz de instancias da classe String. Naturalmente todo o código do m�todo, est� tamb�m entre chaves. E na linha: int l, a ; como todo programa que se preze, declaramos duas vari�veis do tipo inteiro. Em Java, cada vari�vel tem que ser declarada pr�viamente. Como podemos observar, cada instru��o termina com um " ; " . O resto das linhas, articulam um pequeno algor�timo, no qual:
Uma pr�tica que podemos fazer com este exemplo, al�m de compil�-lo e execut�-lo, � comprovar que � de arquitetura neutra, j� que o programa compilado quadro.class, � executado sob o Windows 95, (sem que sirva de precedentes), comprovaremos seu comportamento sob o Linux. ResumoRelatamos os aspectos gerais da linguagem de programa��o Java. N�o fizemos nada mais que come�ar e temos um grande caminho em dois artigos mais. Para realizar uma descri��o completa ( e n�o muito ampla( desta linguagem. No pr�ximo artigo, veremos entre outros: a defini��o e tipos de vari�veis, instru��es b�sicas, classes, etc. Em fim, a maior parte das especifica��es da linguagem. Darei em cada artigo as referencias, publica��es e endere�os, em que tenha me baseado muito ou pouco nesta s�rie de artigos.
|
Esta p�gina WEB � mantida por Miguel Angel Sepulveda © Jose M. Fernandez 1998 LinuxFocus 1998 |