Java

Posted by Paulo Ramos & João Martins | Posted in | Posted on 07:56

0

Em 1991, a Sun Microsystems, iniciou o “Green Project”, o ponto de partida de uma linguagem de programação orientada a objectos denominada “Java”. 

Os mentores do projecto eram “Patrick Naughton”, “Mike Sheridan”, e “James Gosling


O objectivo do projecto não era a criação de uma nova linguagem de programação, mas antecipar e planear a “próxima era” do mundo digital. Eles acreditavam que no futuro iria existir  uma convergência dos computadores com os equipamentos e electrodomésticos usados pelas pessoas no seu dia-a-dia.

Para provar a viabilidade desta ideia, 13 pessoas trabalharam arduamente durante 18 meses. No verão de 1992 eles emergiram de um escritório de “Sand Hill Road” no “Menlo Park” com uma demonstração funcional da ideia inicial. 


O protótipo chamava-se 7 (“StarSeven”), um controlo remoto com uma interface gráfica “touchscreen”. Para o 7 foi criado uma mascote, hoje amplamente conhecido no mundo Java, o “Duke”.
O trabalho do “Duke” no 7 era ser um guia virtual ajudando e ensinando o utilizador a utilizar o equipamento.



O *7 tinha a possibilidade de controlar diversos dispositivos e aplicações. “James Gosling” especificou uma nova linguagem de programação para o *7. “Gosling” decidiu denominá-la de “Oak”.

O próximo passo era encontrar um mercado para o *7. A equipa achava que uma boa ideia seria controlar televisões e filmes. Eles construíram um demo a que deram o nome “MovieWood”, mas infelizmente era muito cedo para que os filmes por encomenda assim como as empresas de TV por cabo pudessem rentabilizar o negócio. A ideia que o *7 tentava vender naquela altura, é hoje realidade em programas interactivos e também na televisão digital. 


Permitir ao telespectador interagir com a programação numa grande rede por cabo, era algo muito visionário e estava muito longe do que as empresas de TV por cabo tinham capacidade de entender e comprar. A ideia certa, na época errada.

A sorte é que o boom da Internet aconteceu, e rapidamente estabeleceu-se uma grande rede interactiva. Era este tipo de rede interactiva que a equipa do *7 estava a tentar vender ás empresas de TV por cabo. Deixou então de ser necessário construir uma infra-estrutura para rede. “Gosling” foi incumbido a tarefa de adaptar o “Oak” para a Internet e em Janeiro de 1995 foi lançada uma nova versão do “Oak” que foi redenominada de Java. 


A tecnologia Java tinha sido projectada para mover-se através de redes de dispositivos heterogéneos, redes como a Internet. Agora aplicações poderiam ser executadas dentro dos Browsers nos Applets Java e tudo seria disponibilizado pela Internet instantaneamente. Foi o estático HTML dos Browsers que promoveu a rápida disseminação da dinâmica tecnologia Java. A velocidade dos acontecimentos seguintes foi assustadora, o número de utilizadores cresceu rapidamente, grandes empresas, como a IBM anunciaram suporte para a tecnologia Java.



Desde o seu lançamento, em Maio de 1995, a plataforma Java foi adoptada com uma rapidez superior a todas as outras linguagens de programação na história da computação.
Em 2003 Java atingiu a marca de 4 milhões de programadores em todo mundo. Java continuou e continua a crescer e hoje écom certeza um padrão para o mercado oferecendo qualidade, desempenho e segurança ainda sem nenhum rival a altura.
Java tornou-se popular pelo seu uso na Internet e hoje possui um ambiente de execução em web browsers, mainframes, SOs, telemóveis, entre outros.

A plataforma Java é o nome dado ao ambiente computacional, ou plataforma, da empresa norte-americana “Sun Microsystems”. O programador cria aplicações para este ambiente através da linguagem de programação Java e de um conjunto de ferramentas de desenvolvimento. Neste caso, a plataforma não se refere a um sistema operativo ou hardware específico, mas a um programa chamado de máquina virtual, e um conjunto de bibliotecas que disponibilizam funcionalidades comuns.

A plataforma Java é formada por outras três plataformas que foram criadas para segmentos específicos de aplicações:

Java SE (Java Platform, Standard Edition).
 
É a base da plataforma; inclui o ambiente de execução e as bibliotecas comuns.
 

Java EE (Java Plataform, Enterprise Edition).
 
A edição voltada para o desenvolvimento de aplicações empresariais.
 

Java ME (Java Platform, Micro Edition).
 
A edição para o desenvolvimento de aplicações para dispositivos móveis.




A plataforma Java é constituída por um grande número de tecnologias, cada uma contém uma parte distinta de todo o ambiente de desenvolvimento e execução de software. Os utilizadores finais, interagem com a máquina virtual Java (Java Virtual Machine, ou JVM) e um conjunto padrão de bibliotecas de classe.

Existe uma grande variedade de formas de utilizar uma aplicação Java, incluindo applets embutidas em páginas
web, aplicações para utilização em computadores, aplicações em telemóveis e em servidores de Internet.




O “coração” da plataforma Java é o conceito de um processador "virtual", que executa os programas formados por bytecodes Java. Este bytecode é o mesmo independentemente do hardware ou sistema operativo em que o programa é executado. A plataforma Java disponibiliza a JVM, que traduz, em tempo de execução, o bytecode para instruções nativas do processador. Isto permite que uma mesma aplicação seja executada em qualquer plataforma que possua uma implementação da máquina virtual.



Desde a versão 1.2 da JRE, a implementação da Sun da JVM inclui um compilador just-in-time (JIT). Com este compilador a totalidade do bytecode de um programa é transformado em instruções nativas e carregado na máquina virtual numa única operação, permitindo um ganho no desempenho superior a implementação anterior, onde as instruções em bytecode eram interpretadas uma a uma. O compilador JIT pode ser projectado de acordo com a plataforma ou hardware de destino, e o código que ele gera pode ser optimizado com base na observação de padrões de comportamento dos programas.


A plataforma Java não é a primeira plataforma baseada numa máquina virtual, mas é de longe a mais conhecida e a que alcançou maior sucesso. Anteriormente esta tecnologia era utilizada na criação de emuladores para auxílio a projectos de hardware ou de sistemas operativos. A plataforma Java foi desenhada para ser totalmente implementada em software, permitindo assim a sua migração de uma forma fácil para todos os tipos  de plataformas e de hardware.


Java é uma linguagem apoiada por um paradigama de programação chamado Programação Orientada a Objectos, sem o qual não é possível programar em Java. Como não espero que leiam os textos que indiquei, farei um pequeno resumo...

O que é isso de POO?

Conceito geral de Programação Orientada a Objectos
A Programação Orientada a Objectos consiste em ver um programa como um conjunto de entidades, os objectos, que interagem entre si através do uso de mensagens.
Cada objecto é definido por um grupo de atributos e por métodos que disponibiliza para o exterior.
Podem assim ser considerados pequenas caixas pretas cuja implementação não interessa para os outros objectos, apenas a forma como podem comunicar é importante.
Em
POO traduzir um problema real para programação torna-se mais fácil e natural uma vez que os objectos possuem muitas vezes semelhanças com objectos reais.
Java não é, no entanto, uma linguagem orientada a objectos pura uma vez que possui tipos de dados primitivos que não são objectos.


ALGUMAS DEFENIÇÕES
Para que todos falemos a mesma língua.

Package; Forma de organizar as classes ou outros recursos do programa, como imagens e ficheiros, por semelhanças, seja por categorias, funcionalidades ou outras.
Um
package pode conter outros dentro e por convenção o seu nome é em minúsculas.

Classe; Abstracção que define um objecto. Consideremos uma classe como um molde. Uma classe é normalmente definida num ficheiro mas um ficheiro pode ter outras classes definidas, que se chamam Classes Anónimas e Classes Internas. Estes últimos dois nomes são traduzidos de "Nested Class" e de "Inner Class" e por isso podem ver outras traduções.

Objecto ou instância; Resultado do molde ou classe ao qual foram aplicados valores. A classe String define um conjunto de caracteristas que qualquer 'string' possui. Em contrapartida "Knitter" pode ser o objecto resultante da classe String. Um objecto ou instância possui valores específicos, memória associada, referência, etc. 


Método; Capacidades do objecto de onde se salientam as formas de comunicação do mesmo. Os métodos podem ser de instância, na medida em que afectam apenas o objecto sobre o qual se invocou o método ou de classe afectando todas as instâncias da classe presentes.

Herança; Processo pelo qual os objectos ganham caracteristicas dos seus pais. Mas uma subclasse pode e deve introduzir comportamento e características próprias. Uma classe em Java é sempre subclasse de outra, por defeito da classe Object.
Encapsulamento; Conceito que permite esconder os detalhes de implementação de determinada classe. Os métodos e atributos de uma classe podem ser públicos, protegidos[1] ou privados dependendo se estão disponíveis para todas as outras classes, apenas subclasses, ou apenas na própria classe, respectivamente.Caso não seja especificado o tipo de acesso de determinado atributo/método, o Java assume que ele se encontra acessivel à própria classe e a classes no mesmo package.

Polimorfismo; Polimorfismo é a capacidade de um objecto redefinir o comportamento herdado provendo assim o aparecimento de duas classes que respondem de formas diferentes à mesma mensagem. Isto é, a classe Object possui um método chamado toString que transforma em String o nome da classe e alguns outros parâmetros. Ao criar a classe MeuObjeto posso redifinir o método para que apresente qualquer texto que eu queira. Ao ser invocado o método nos dois objectos, a mesma mensagem, produz efeitos diferentes.




 


 
 


 


 

 


Comments Posted (0)

Enviar um comentário