java:

uma linguagem de programação fora do normal

O que é Java?

java "Java é uma linguagem de programação orientada a objeto desenvolvida na década de 90 por uma equipe de programadores chefiada por James Gosling, na empresa Sun Microsystems (atual Oracle). Diferentemente das linguagens convencionais, que são compiladas para código nativo, a linguagem Java é compilada para um bytecode que é executado por uma máquina virtual. A linguagem de programação Java é a linguagem convencional da Plataforma Java, mas não sua única linguagem".
Fonte: (http://pt.wikipedia.org/wiki/Java_%28linguagem_de_programa%C3%A7%C3%A3o%29)
Em 03/01/2011 - 19h27

Isso é java!

Message


Alguém entendeu alguma coisa desse código acima?
Na verdade todo esse conglomerado de comandos resulta nisso abaixo:

mensage

Uma caixa de mensagem com a frase “Pessoal, isso foi escrito em Java...
Interessante não é mesmo?

História da Linguagem JAVA:

Em 1991 a Sun Microsystems (que atualmente foi comprada pela Oracle), financiou um projeto de pesquisa corporativo interno chamado Green, este teve como resultado o desenvolvimento de uma linguagem de programação baseada em C++ chamada inicialmente de AOK. James Goslin (o criador) inicialmente a chamará de AOK em homenagem a uma arvore que podia ser vista pela janela da Sun. Mais tarde descobriu-se que já havia uma linguagem com este nome, portanto foi necessária uma mudança. Quando a equipe da Sun visitou uma cafetera local, o nome Java (cidade de origem de um tipo de café importado) foi sugerido, e o nome acabou pegando e está aí até hoje, JAVA.

O que há de diferente na linguagem Java das demais como C/C++ ?O que difere Java das demais linguagens é a portabilidade. Portabilidade nada mais é do que a capacidade para executar um programar em qualquer plataforma operacional ou até mesmo dispositivo eletroeletrônico. Como o próprio slogan da Sun diz: “Write once, run enywhere!” Traduzindo, “Escreva uma vez, execute em qualquer lugar!”Você provavelmente deve possuir um celular com:
  • Tela colorida
  • Sensível a toque
  • Acesso à internet
  • Rede sem fio
É bem provável que ele tenha um Sistema Operacional escrito em Java, como na maioria dos eletrodomésticos, a maior parte deles, eu poderia afirmar que quase todos têm seu software embarcado (firmware) escrito em Java.

Antes da linguagem Java esses softwares embarcados presentes nesses “hardwares” que compõem os eletrodomésticos, eram inteiramente escritos em Assembly, C e/ou C++. O maior problema enfrentado era que, cada mudança de características no hardware era necessária efetuar mudanças no código fonte do Software Embarcado e consequentemente a nova compilação, ou seja, não havia a reutilização de código, pos o mesmo sofreria mudanças.Imagine o seguinte, você tem uma empresa que fabrica 1000 tipos de celulares, em C/C++  você terá que escrever um Sistema Operacional com seus aplicativos para cada um deles, que trabalho penoso não é mesmo? Você iria necessitar de muita gente para te ajudar, fora que custo dos aparelhos se elevaria.

O QUE É COMPILAÇÃO?

Processo de compilação nada mais é que a tradução dos comandos entendíveis de uma dada linguagem para a linguagem de máquina (bits) 0 e 1.

Exemplo Compilação:


Explicando:
  1. No primeiro passo temos um programa escrito em linguagem humana, são os comandos em inglês.
  2. Momento que esses comandos em língua humana são traduzidos para 0 e 1, baixo nível ou linguagem de máquina.
  3. Conhecido como link edição, onde o compilador (tradutor) busca bibliotecas fora (externas) geralmente no sistema operacional para gerar o executável nativo.
  4. Executável pronto para ser executado.

MAS O QUE JAVA TEM DE DIFERENTE DE TUDO ISSO?

É simples meu caro, Java além de passar por um processo de compilação, roda sob uma máquina virtual, um diferencial, veja o exemplo de compilação e execução:

JRE – java Runtime Environment (Ambiente de Execução Java)

Ou seja, não importa onde você irá rodar seu programa escrito em Java, a JVM (Java Virtual Machine) recompilará os bytecodes (código intermediário) gerados na primeira compilação para o (código binário daquela plataforma, veja mais um exemplo gráfico:

 
Isso significa que todas as vezes que você executar um programa escrito e compilador em Java seja ele um .jsp (aplicação WEB) ou .class (aplicação desktop) ele será recompilado para aquela arquitetura em questão, acabando com todos os problemas de incompatibilidades, perca de desempenho e o mais importante evitando  alterações no código a cada vez que você desenvolver para outra plataforma.

Esse estágio de recompilação é chamado de JIT (Just in Time), exatamente como uma vaca, come o capim regurgita e volta a mastigá-lo novamente. Não importando a vaca, nem o pasto e o capim, pois será o mesmo que no final servirá de alimento.

Todo o programa compilado em Java para desktop tem sua extensão .class, diferente de programas compilados em C/C++, Visual Basic, Delphi entre outras, que tem como forma o seu executável com extensão .exe.E é esse programa.class que sofre a recompilação executada pelo compilador JIT,  compilação na hora (JUST IN TIM).A idéia dos programas criados em Java é que eles são classes, por isso a extensão .class. Em breve teremos uma introdução rápida á programação orientada a objetos.

POR ONDE DEVO COMEÇAR?
Nada mais correto do que comprar um livro, e falando em Java esse o livro indicado a todos que querem saber tudo de Java.

Como Programar, 8ª Edição - 2010.

Por:
Edson Edson Alves (Titux) – Edson.vetorial@gmail.com